aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2011-08-31 14:51:38 -0400
committerLukas Nykryn <lnykryn@redhat.com>2012-10-08 13:32:49 +0200
commit3486899bd3a2e835c444fe966acb30c5193e990e (patch)
tree0e5fe0208fe08de8c80a2ee905ce98b2aef4ce68
parentf00f8d9e9f6a7382011166dbbef59eedce990b48 (diff)
downloadinitscripts-3486899bd3a2e835c444fe966acb30c5193e990e.tar
initscripts-3486899bd3a2e835c444fe966acb30c5193e990e.tar.gz
initscripts-3486899bd3a2e835c444fe966acb30c5193e990e.tar.bz2
initscripts-3486899bd3a2e835c444fe966acb30c5193e990e.tar.xz
initscripts-3486899bd3a2e835c444fe966acb30c5193e990e.zip
Add support for setting random bridge options via BRIDGING_OPTS. (#734045, #665378)
-rw-r--r--sysconfig.txt8
-rwxr-xr-xsysconfig/network-scripts/ifup-eth12
2 files changed, 20 insertions, 0 deletions
diff --git a/sysconfig.txt b/sysconfig.txt
index 01151a4e..5e002a3d 100644
--- a/sysconfig.txt
+++ b/sysconfig.txt
@@ -888,6 +888,14 @@ Files in /etc/sysconfig/network-scripts/
TYPE=Bridge
STP=off|on (see 'brctl stp')
DELAY=forward delay time in seconds (see 'brctl setfd')
+ BRIDGING_OPTS=
+ A space-separated list of bridging options for either the bridge
+ device, or the port device, such as:
+
+ BRIDGING_OPTS="hello_time=200 priority=65535"
+ for bridge devices, or
+ BRIDGING_OPTS="hairpin_mode=1"
+ for port devices.
TUN/TAP-specific items:
OWNER=<owner of the device>
diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth
index d3adb143..1c09fd76 100755
--- a/sysconfig/network-scripts/ifup-eth
+++ b/sysconfig/network-scripts/ifup-eth
@@ -61,6 +61,12 @@ if [ "${TYPE}" = "Bridge" ]; then
fi
[ -n "${DELAY}" ] && /usr/sbin/brctl setfd ${DEVICE} ${DELAY}
[ -n "${STP}" ] && /usr/sbin/brctl stp ${DEVICE} ${STP}
+ # add the bits to setup driver parameters here
+ for arg in $BRIDGING_OPTS ; do
+ key=${arg%%=*};
+ value=${arg##*=};
+ echo $value > /sys/class/net/${DEVICE}/bridge/$key
+ done
fi
# If the device is a tap device, create it with tunctl, if available.
@@ -164,6 +170,12 @@ if [ -n "${BRIDGE}" -a -x /usr/sbin/brctl ]; then
ethtool_set
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
/usr/sbin/brctl addif ${BRIDGE} ${DEVICE}
+ # add the bits to setup driver parameters here
+ for arg in $BRIDGING_OPTS ; do
+ key=${arg%%=*};
+ value=${arg##*=};
+ echo $value > /sys/class/net/${DEVICE}/brport/$key
+ done
# Upon adding a device to a bridge,
# it's necessary to make radvd reload its config
[ -r /var/run/radvd/radvd.pid ] && kill -HUP $(cat /var/run/radvd/radvd.pid)