rhel: Option to create tunnel through ifcfg scripts.
[sliver-openvswitch.git] / rhel / README.RHEL
1 Red Hat network scripts integration
2 -----------------------------------
3
4 The RPM packages for Open vSwitch provide some integration with Red
5 Hat's network scripts.  Using this integration is optional.
6
7 To use the integration for a Open vSwitch bridge or interface named
8 <name>, create or edit /etc/sysconfig/network-scripts/ifcfg-<name>.
9 This is a shell script that consists of a series of VARIABLE=VALUE
10 assignments.  The following OVS-specific variable names are supported:
11
12     - DEVICETYPE: Always set to "ovs".
13
14     - TYPE: If this is "OVSBridge", then this file represents an OVS
15       bridge named <name>.  Otherwise, it represents a port on an OVS
16       bridge and TYPE must have one of the following values:
17
18         * "OVSPort", if <name> is a physical port (e.g. eth0) or
19           virtual port (e.g. vif1.0).
20
21         * "OVSIntPort", if <name> is an internal port (e.g. a tagged
22           VLAN).
23
24         * "OVSBond", if <name> is an OVS bond.
25
26         * "OVSTunnel", if <name> is an OVS tunnel.
27
28     - OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
29       the name of the OVS bridge to which the port should be attached.
30
31     - OVS_OPTIONS: Optionally, extra options to set in the "Port"
32       table when adding the port to the bridge, as a sequence of
33       column[:key]=value options.  For example, "tag=100" to make the
34       port an access port for VLAN 100.  See the documentation of
35       "add-port" in ovs-vsctl(8) for syntax and the section on the
36       Port table in ovs-vswitchd.conf.db(5) for available options.
37
38     - OVS_EXTRA: Optionally, additional ovs-vsctl commands, separated
39       by "--" (double dash).
40
41     - BOND_IFACES: For "OVSBond" interfaces, a list of physical
42       interfaces to bond together.
43
44     - OVS_TUNNEL_TYPE: For "OVSTunnel" interfaces, the type of the tunnel.
45       For example, "gre", "vxlan", etc.
46
47     - OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
48       used to specify the tunnel options like remote_ip, key, etc.
49
50 Note
51 ----
52
53 * "ifdown" on a bridge will not bring individual ports on the bridge
54 down.  "ifup" on a bridge will not add ports to the bridge.  This
55 behavior should be compatible with standard bridges (with
56 TYPE=Bridge).
57
58 * If 'ifup' on an interface is called multiple times, one can see
59 "RTNETLINK answers: File exists" printed on the console. This comes from
60 ifup-eth trying to add zeroconf route multiple times and is harmless.
61
62 Examples
63 --------
64
65 Standalone bridge:
66
67 ==> ifcfg-ovsbridge0 <==
68 DEVICE=ovsbridge0
69 ONBOOT=yes
70 DEVICETYPE=ovs
71 TYPE=OVSBridge
72 BOOTPROTO=static
73 IPADDR=A.B.C.D
74 NETMASK=X.Y.Z.0
75 HOTPLUG=no
76
77 Enable DHCP on the bridge:
78 * Needs OVSBOOTPROTO instead of BOOTPROTO.
79 * All the interfaces that can reach the DHCP server
80 as a space separated list in OVSDHCPINTERFACES.
81
82 DEVICE=ovsbridge0
83 ONBOOT=yes
84 DEVICETYPE=ovs
85 TYPE=OVSBridge
86 OVSBOOTPROTO="dhcp"
87 OVSDHCPINTERFACES="eth0"
88 HOTPLUG=no
89
90 Adding physical eth0 to ovsbridge0 described above:
91
92 ==> ifcfg-eth0 <==
93 DEVICE=eth0
94 ONBOOT=yes
95 DEVICETYPE=ovs
96 TYPE=OVSPort
97 OVS_BRIDGE=ovsbridge0
98 BOOTPROTO=none
99 HOTPLUG=no
100
101
102 Tagged VLAN interface on top of ovsbridge0:
103
104 ==> ifcfg-vlan100 <==
105 DEVICE=vlan100
106 ONBOOT=yes
107 DEVICETYPE=ovs
108 TYPE=OVSIntPort
109 BOOTPROTO=static
110 IPADDR=A.B.C.D
111 NETMASK=X.Y.Z.0
112 OVS_BRIDGE=ovsbridge0
113 OVS_OPTIONS="tag=100"
114 OVS_EXTRA="set Interface $DEVICE external-ids:iface-id=$(hostname -s)-$DEVICE-vif"
115 HOTPLUG=no
116
117
118 Bonding:
119
120 ==> ifcfg-bond0 <==
121 DEVICE=bond0
122 ONBOOT=yes
123 DEVICETYPE=ovs
124 TYPE=OVSBond
125 OVS_BRIDGE=ovsbridge0
126 BOOTPROTO=none
127 BOND_IFACES="gige-1b-0 gige-1b-1 gige-21-0 gige-21-1"
128 OVS_OPTIONS="bond_mode=balance-tcp lacp=active"
129 HOTPLUG=no
130
131 ==> ifcfg-gige-* <==
132 DEVICE=gige-*
133 ONBOOT=yes
134 HOTPLUG=no
135
136 An Open vSwitch Tunnel:
137
138 ==> ifcfg-gre0 <==
139 DEVICE=ovs-gre0
140 ONBOOT=yes
141 DEVICETYPE=ovs
142 TYPE=OVSTunnel
143 OVS_BRIDGE=ovsbridge0
144 OVS_TUNNEL_TYPE=gre
145 OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
146
147 Reporting Bugs
148 --------------
149
150 Please report problems to bugs@openvswitch.org.