#!/bin/sh # ===================================================================== # Projet : DARKWALL # Fichier : lib/bridge # Auteur : Nicolas "DarkHack" Chapuis (c) 2026 # ================== DARKHACK ================== # [ darkweb.fr - system online ] # Powered by Perplexity, your AI assistant # https://www.perplexity.ai # ============================================== # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ===================================================================== if ! type "shInclude" > /dev/null 2>&1; then racineSh="${racineSh:-/etc/darksh}"; . "$racineSh/lib/shTools"; shDebugEnable="1";fi rootDarkWall="${rootDarkWall:-/etc/darkwall}" [ ! -d "$rootDarkWall" ] && shDebug 0 "exit cause rootDarWall is not dir:$rootDarkWall" && exit 0 requiresCmd="" requiresCmd="${requiresCmd} rev tr cut echo" shWhichCmd $requiresCmd >/dev/null shErrorOnMissing $( shWhichCmd $requiresCmd | $cmdTr '_' ' ' ) requiresCmd="" requiresCmd="brctl" shWhichCmd $requiresCmd >/dev/null shWarnOnMissing $( shWhichCmd $requiresCmd | $cmdTr '_' ' ' ) if [ -z "$cmdBrctl" ] && [ -f "/sbin/brctl" ];then cmdBrctl="/sbin/brctl";fi #shErrorOnMissing "cmdBrctl cmdRev cmdTr cmdCut cmdEcho" # bridgeListSlaves "$master" => "ifslave1 ifslave2" bridgeListSlaves() { local master=""$1"" local slaves="" for brName in $($cmdBrctl show 2>/dev/null | $cmdCut -f 1 | $cmdTr -d ' ' );do if [ -n "$brName" ] && [ "$brName" != "bridgename" ] && [ "$brName" = "$master" ];then for ifName in $($cmdBrctl show "$brName" 2>/dev/null | $cmdTr -d ' ' | $cmdRev | $cmdCut -f 1 | $cmdRev );do if [ -n "$ifName" ] && [ "$ifName" != "interfaces" ];then ( [ -n "$slaves" ] && local slaves="$slaves $ifName" ) || local slaves="$ifName" fi done fi done $cmdEcho ""$slaves"" }