|
@@ -1,4 +1,4 @@
|
|
|
-#!/bin/bash
|
|
|
+#!/bin/sh
|
|
|
|
|
|
EBTABLES="/usr/sbin/ebtables-legacy"
|
|
|
|
|
@@ -11,7 +11,7 @@ cnt=""
|
|
|
|
|
|
for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//); do
|
|
|
table=$($EBTABLES -t $table_name -L $cnt)
|
|
|
- [ $? -eq 0 ] || { echo "$table"; exit -1; }
|
|
|
+ [ $? -eq 0 ] || { echo "$table"; exit 1; }
|
|
|
|
|
|
chain=""
|
|
|
rules=""
|
|
@@ -20,24 +20,23 @@ for table_name in $(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/eb
|
|
|
|
|
|
case "$line" in
|
|
|
Bridge\ table:\ *)
|
|
|
- echo "*${line:14}"
|
|
|
+ echo "*${line#Bridge table: }"
|
|
|
;;
|
|
|
Bridge\ chain:\ *)
|
|
|
- chain="${line:14}"
|
|
|
+ chain="${line#Bridge chain: }"
|
|
|
chain="${chain%%,*}"
|
|
|
policy="${line##*policy: }"
|
|
|
echo ":$chain $policy"
|
|
|
;;
|
|
|
*)
|
|
|
- if [ "$cnt" = "--Lc" ]; then
|
|
|
- line=${line/, pcnt \=/ -c}
|
|
|
- line=${line/-- bcnt \=/}
|
|
|
- fi
|
|
|
- rules="$rules-A $chain $line\n"
|
|
|
+ [ "$cnt" != "--Lc" ] ||
|
|
|
+ line=$(echo "$line" | sed -e 's/, pcnt =/-c/' -e 's/ -- bcnt =//')
|
|
|
+ rules="$rules-A $chain $line
|
|
|
+"
|
|
|
;;
|
|
|
esac
|
|
|
done <<EOF
|
|
|
$table
|
|
|
EOF
|
|
|
- echo -e $rules
|
|
|
+ echo "$rules"
|
|
|
done
|