#!/bin/sh EBTABLES="/usr/sbin/ebtables-legacy" [ -x "$EBTABLES" ] || exit 1 echo "# Generated by ebtables-save v1.0 on $(date)" cnt="" [ "x$EBTABLES_SAVE_COUNTER" = "xyes" ] && cnt="--Lc" 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; } chain="" rules="" while read line; do [ -z "$line" ] && continue case "$line" in Bridge\ table:\ *) echo "*${line#Bridge table: }" ;; Bridge\ chain:\ *) chain="${line#Bridge chain: }" chain="${chain%%,*}" policy="${line##*policy: }" echo ":$chain $policy" ;; *) [ "$cnt" != "--Lc" ] || line=$(echo "$line" | sed -e 's/, pcnt =/-c/' -e 's/ -- bcnt =//') rules="$rules-A $chain $line " ;; esac done <