From 19109d985ef0d89a6014b9d14f2475143c2bb0e2 Mon Sep 17 00:00:00 2001 From: Flavio Leitner Date: Tue, 14 Jan 2014 00:22:07 -0200 Subject: [PATCH] rhel: Enable DHCP support for internal ports. The current initscripts ifup-ovs brings up internal ports as an ordinary ethernet device, so BOOTPROTO=dhcp|none does not consider any OVS/bridge detail. Since DHCP requires a port in the bridge to reach the server, bring up the required port before in the same way it does for OVS bridge. Signed-off-by: Flavio Leitner Signed-off-by: Gurucharan Shetty --- rhel/README.RHEL | 38 +++++++++++++++++++++ rhel/etc_sysconfig_network-scripts_ifup-ovs | 7 +++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/rhel/README.RHEL b/rhel/README.RHEL index 435772f74..cb6ab88d5 100644 --- a/rhel/README.RHEL +++ b/rhel/README.RHEL @@ -87,6 +87,44 @@ OVSBOOTPROTO="dhcp" OVSDHCPINTERFACES="eth0" HOTPLUG=no + +Adding Internal Port to ovsbridge0: + +==> ifcfg-intbr0 <== +DEVICE=intbr0 +ONBOOT=yes +DEVICETYPE=ovs +TYPE=OVSIntPort +OVS_BRIDGE=ovsbridge0 +HOTPLUG=no + + +Internal Port with fixed IP address: + +DEVICE=intbr0 +ONBOOT=yes +DEVICETYPE=ovs +TYPE=OVSIntPort +OVS_BRIDGE=ovsbridge0 +BOOTPROTO=static +IPADDR=A.B.C.D +NETMASK=X.Y.Z.0 +HOTPLUG=no + +Internal Port with DHCP: +* Needs OVSBOOTPROTO or BOOTPROTO. +* All the interfaces that can reach the DHCP server +as a space separated list in OVSDHCPINTERFACES. + +DEVICE=intbr0 +ONBOOT=yes +DEVICETYPE=ovs +TYPE=OVSIntPort +OVS_BRIDGE=ovsbridge0 +OVSBOOTPROTO="dhcp" +OVSDHCPINTERFACES="eth0" +HOTPLUG=no + Adding physical eth0 to ovsbridge0 described above: ==> ifcfg-eth0 <== diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs index 017346d4c..a50c72fbb 100755 --- a/rhel/etc_sysconfig_network-scripts_ifup-ovs +++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs @@ -106,7 +106,12 @@ case "$TYPE" in OVSIntPort) ifup_ovs_bridge ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=internal ${OVS_EXTRA+-- $OVS_EXTRA} - ${OTHERSCRIPT} ${CONFIG} ${2} + if [ -n "${OVSDHCPINTERFACES}" ]; then + for _iface in ${OVSDHCPINTERFACES}; do + /sbin/ifup ${_iface} + done + fi + BOOTPROTO="${OVSBOOTPROTO}" ${OTHERSCRIPT} ${CONFIG} ${2} ;; OVSBond) ifup_ovs_bridge -- 2.20.1