You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
4.5 KiB
189 lines
4.5 KiB
6 years ago
|
Red Hat network scripts integration
|
||
|
-----------------------------------
|
||
|
|
||
|
The RPM packages for Open vSwitch provide some integration with Red
|
||
|
Hat's network scripts. Using this integration is optional.
|
||
|
|
||
|
To use the integration for a Open vSwitch bridge or interface named
|
||
|
<name>, create or edit /etc/sysconfig/network-scripts/ifcfg-<name>.
|
||
|
This is a shell script that consists of a series of VARIABLE=VALUE
|
||
|
assignments. The following OVS-specific variable names are supported:
|
||
|
|
||
|
- DEVICETYPE: Always set to "ovs".
|
||
|
|
||
|
- TYPE: If this is "OVSBridge", then this file represents an OVS
|
||
|
bridge named <name>. Otherwise, it represents a port on an OVS
|
||
|
bridge and TYPE must have one of the following values:
|
||
|
|
||
|
* "OVSPort", if <name> is a physical port (e.g. eth0) or
|
||
|
virtual port (e.g. vif1.0).
|
||
|
|
||
|
* "OVSIntPort", if <name> is an internal port (e.g. a tagged
|
||
|
VLAN).
|
||
|
|
||
|
* "OVSBond", if <name> is an OVS bond.
|
||
|
|
||
|
* "OVSTunnel", if <name> is an OVS tunnel.
|
||
|
|
||
|
- OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
|
||
|
the name of the OVS bridge to which the port should be attached.
|
||
|
|
||
|
- OVS_OPTIONS: Optionally, extra options to set in the "Port"
|
||
|
table when adding the port to the bridge, as a sequence of
|
||
|
column[:key]=value options. For example, "tag=100" to make the
|
||
|
port an access port for VLAN 100. See the documentation of
|
||
|
"add-port" in ovs-vsctl(8) for syntax and the section on the
|
||
|
Port table in ovs-vswitchd.conf.db(5) for available options.
|
||
|
|
||
|
- OVS_EXTRA: Optionally, additional ovs-vsctl commands, separated
|
||
|
by "--" (double dash).
|
||
|
|
||
|
- BOND_IFACES: For "OVSBond" interfaces, a list of physical
|
||
|
interfaces to bond together.
|
||
|
|
||
|
- OVS_TUNNEL_TYPE: For "OVSTunnel" interfaces, the type of the tunnel.
|
||
|
For example, "gre", "vxlan", etc.
|
||
|
|
||
|
- OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
|
||
|
used to specify the tunnel options like remote_ip, key, etc.
|
||
|
|
||
|
Note
|
||
|
----
|
||
|
|
||
|
* "ifdown" on a bridge will not bring individual ports on the bridge
|
||
|
down. "ifup" on a bridge will not add ports to the bridge. This
|
||
|
behavior should be compatible with standard bridges (with
|
||
|
TYPE=Bridge).
|
||
|
|
||
|
* If 'ifup' on an interface is called multiple times, one can see
|
||
|
"RTNETLINK answers: File exists" printed on the console. This comes from
|
||
|
ifup-eth trying to add zeroconf route multiple times and is harmless.
|
||
|
|
||
|
Examples
|
||
|
--------
|
||
|
|
||
|
Standalone bridge:
|
||
|
|
||
|
==> ifcfg-ovsbridge0 <==
|
||
|
DEVICE=ovsbridge0
|
||
|
ONBOOT=yes
|
||
|
DEVICETYPE=ovs
|
||
|
TYPE=OVSBridge
|
||
|
BOOTPROTO=static
|
||
|
IPADDR=A.B.C.D
|
||
|
NETMASK=X.Y.Z.0
|
||
|
HOTPLUG=no
|
||
|
|
||
|
Enable DHCP on the bridge:
|
||
|
* Needs OVSBOOTPROTO instead of BOOTPROTO.
|
||
|
* All the interfaces that can reach the DHCP server
|
||
|
as a space separated list in OVSDHCPINTERFACES.
|
||
|
|
||
|
DEVICE=ovsbridge0
|
||
|
ONBOOT=yes
|
||
|
DEVICETYPE=ovs
|
||
|
TYPE=OVSBridge
|
||
|
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 <==
|
||
|
DEVICE=eth0
|
||
|
ONBOOT=yes
|
||
|
DEVICETYPE=ovs
|
||
|
TYPE=OVSPort
|
||
|
OVS_BRIDGE=ovsbridge0
|
||
|
BOOTPROTO=none
|
||
|
HOTPLUG=no
|
||
|
|
||
|
|
||
|
Tagged VLAN interface on top of ovsbridge0:
|
||
|
|
||
|
==> ifcfg-vlan100 <==
|
||
|
DEVICE=vlan100
|
||
|
ONBOOT=yes
|
||
|
DEVICETYPE=ovs
|
||
|
TYPE=OVSIntPort
|
||
|
BOOTPROTO=static
|
||
|
IPADDR=A.B.C.D
|
||
|
NETMASK=X.Y.Z.0
|
||
|
OVS_BRIDGE=ovsbridge0
|
||
|
OVS_OPTIONS="tag=100"
|
||
|
OVS_EXTRA="set Interface $DEVICE external-ids:iface-id=$(hostname -s)-$DEVICE-vif"
|
||
|
HOTPLUG=no
|
||
|
|
||
|
|
||
|
Bonding:
|
||
|
|
||
|
==> ifcfg-bond0 <==
|
||
|
DEVICE=bond0
|
||
|
ONBOOT=yes
|
||
|
DEVICETYPE=ovs
|
||
|
TYPE=OVSBond
|
||
|
OVS_BRIDGE=ovsbridge0
|
||
|
BOOTPROTO=none
|
||
|
BOND_IFACES="gige-1b-0 gige-1b-1 gige-21-0 gige-21-1"
|
||
|
OVS_OPTIONS="bond_mode=balance-tcp lacp=active"
|
||
|
HOTPLUG=no
|
||
|
|
||
|
==> ifcfg-gige-* <==
|
||
|
DEVICE=gige-*
|
||
|
ONBOOT=yes
|
||
|
HOTPLUG=no
|
||
|
|
||
|
An Open vSwitch Tunnel:
|
||
|
|
||
|
==> ifcfg-gre0 <==
|
||
|
DEVICE=ovs-gre0
|
||
|
ONBOOT=yes
|
||
|
DEVICETYPE=ovs
|
||
|
TYPE=OVSTunnel
|
||
|
OVS_BRIDGE=ovsbridge0
|
||
|
OVS_TUNNEL_TYPE=gre
|
||
|
OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
|
||
|
|
||
|
Reporting Bugs
|
||
|
--------------
|
||
|
|
||
|
Please report problems to bugs@openvswitch.org.
|