einfo "Configure via $CONFIG_FILE - see man 8 grml-sniff" ; eend 0
}
-if ! [ -r "$CONFIG_FILE" ] ; then
- eerror "$CONFIG_FILE could not be read."
- exit 1
-fi
-
-. "$CONFIG_FILE"
-
-if [ -z "$BRIDGE_DEVICES" ] ; then
- eerror "Bridge devices (\$BRIDGE_DEVICES) not set in $CONFIG_FILE"
- exit 1
+if [ -r "$CONFIG_FILE" ] ; then
+ . "$CONFIG_FILE"
+else
+ ewarn "Could not read $CONFIG_FILE"
fi
+# defaults if unconfigured
[ -n "$BRCTL" ] || BRCTL='brctl'
[ -n "$BRIDGE_NAME" ] || BRIDGE_NAME='br0'
[ -n "$BRIDGE_DEVICES" ] || BRIDGE_DEVICES='eth0 eth1'
check4root || exit 1
einfo "Starting sniffing setup"
eindent
+
+ einfo "Disabling IPv6 to avoid neighbor solicitation/multicast traffic"
+ echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
+
einfo "Creating bridge device"
brctl addbr "$BRIDGE_NAME"
eend $?
ifconfig "$BRIDGE_NAME" down || /bin/true
brctl delbr "$BRIDGE_NAME"
eend $?
+
+ einfo "Re-enabling IPv6"
+ echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6
eoutdent
;;