]> git.proxmox.com Git - ovs.git/blame - rhel/README.RHEL
netdev-dummy: Introduce sched_yield() in rxq_recv() for pmd devices.
[ovs.git] / rhel / README.RHEL
CommitLineData
0fb42626
AF
1Red Hat network scripts integration
2-----------------------------------
3
4The RPM packages for Open vSwitch provide some integration with Red
5Hat's network scripts. Using this integration is optional.
6
7To use the integration for a Open vSwitch bridge or interface named
8<name>, create or edit /etc/sysconfig/network-scripts/ifcfg-<name>.
9This is a shell script that consists of a series of VARIABLE=VALUE
10assignments. 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
7b75828b
EB
26 * "OVSTunnel", if <name> is an OVS tunnel.
27
d7aab661
JK
28 * "OVSPatchPort", if <name> is a patch port
29
f6bf8880
PM
30 Additionally the following DPDK port types may be available,
31 depends on OVS build- and runtime configuration:
32
33 * "OVSDPDKPort", if <name> is a physical DPDK NIC port (name
34 must start with "dpdk" and end with portid, eg "dpdk0")
35
36 * "OVSDPDKRPort", if <name> is a DPDK ring port (name must
37 start with dpdkr and end with portid, eg "dpdkr0")
38
39 * "OVSDPDKVhostPort" if <name> is a DPDK vhost-cuse port
40
41 * "OVSDPDKVhostUserPort" if <name> is a DPDK vhost-user port
42
0fb42626
AF
43 - OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
44 the name of the OVS bridge to which the port should be attached.
45
46 - OVS_OPTIONS: Optionally, extra options to set in the "Port"
47 table when adding the port to the bridge, as a sequence of
48 column[:key]=value options. For example, "tag=100" to make the
49 port an access port for VLAN 100. See the documentation of
50 "add-port" in ovs-vsctl(8) for syntax and the section on the
51 Port table in ovs-vswitchd.conf.db(5) for available options.
52
53 - OVS_EXTRA: Optionally, additional ovs-vsctl commands, separated
54 by "--" (double dash).
55
56 - BOND_IFACES: For "OVSBond" interfaces, a list of physical
57 interfaces to bond together.
58
7b75828b
EB
59 - OVS_TUNNEL_TYPE: For "OVSTunnel" interfaces, the type of the tunnel.
60 For example, "gre", "vxlan", etc.
61
62 - OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
63 used to specify the tunnel options like remote_ip, key, etc.
64
d7aab661
JK
65 - OVS_PATCH_PEER: For "OVSPatchPort" devices, this field specifies
66 the patch's peer on the other bridge.
67
0fb42626
AF
68Note
69----
70
5b56f96a 71* "ifdown" on a bridge will not bring individual ports on the bridge
0fb42626
AF
72down. "ifup" on a bridge will not add ports to the bridge. This
73behavior should be compatible with standard bridges (with
74TYPE=Bridge).
75
5b56f96a
GS
76* If 'ifup' on an interface is called multiple times, one can see
77"RTNETLINK answers: File exists" printed on the console. This comes from
78ifup-eth trying to add zeroconf route multiple times and is harmless.
79
0fb42626
AF
80Examples
81--------
82
83Standalone bridge:
84
85==> ifcfg-ovsbridge0 <==
86DEVICE=ovsbridge0
87ONBOOT=yes
88DEVICETYPE=ovs
89TYPE=OVSBridge
90BOOTPROTO=static
91IPADDR=A.B.C.D
92NETMASK=X.Y.Z.0
93HOTPLUG=no
94
5442edb9
GS
95Enable DHCP on the bridge:
96* Needs OVSBOOTPROTO instead of BOOTPROTO.
97* All the interfaces that can reach the DHCP server
b4b6a39a 98as a space separated list in OVSDHCPINTERFACES.
5442edb9
GS
99
100DEVICE=ovsbridge0
101ONBOOT=yes
102DEVICETYPE=ovs
103TYPE=OVSBridge
104OVSBOOTPROTO="dhcp"
105OVSDHCPINTERFACES="eth0"
106HOTPLUG=no
0fb42626 107
490db96e
FL
108
109Adding Internal Port to ovsbridge0:
110
111==> ifcfg-intbr0 <==
112DEVICE=intbr0
113ONBOOT=yes
114DEVICETYPE=ovs
115TYPE=OVSIntPort
116OVS_BRIDGE=ovsbridge0
117HOTPLUG=no
118
119
120Internal Port with fixed IP address:
121
122DEVICE=intbr0
123ONBOOT=yes
124DEVICETYPE=ovs
125TYPE=OVSIntPort
126OVS_BRIDGE=ovsbridge0
127BOOTPROTO=static
128IPADDR=A.B.C.D
129NETMASK=X.Y.Z.0
130HOTPLUG=no
131
132Internal Port with DHCP:
133* Needs OVSBOOTPROTO or BOOTPROTO.
134* All the interfaces that can reach the DHCP server
135as a space separated list in OVSDHCPINTERFACES.
136
137DEVICE=intbr0
138ONBOOT=yes
139DEVICETYPE=ovs
140TYPE=OVSIntPort
141OVS_BRIDGE=ovsbridge0
142OVSBOOTPROTO="dhcp"
143OVSDHCPINTERFACES="eth0"
144HOTPLUG=no
145
0fb42626
AF
146Adding physical eth0 to ovsbridge0 described above:
147
148==> ifcfg-eth0 <==
149DEVICE=eth0
150ONBOOT=yes
151DEVICETYPE=ovs
152TYPE=OVSPort
26fbdf77 153OVS_BRIDGE=ovsbridge0
0fb42626
AF
154BOOTPROTO=none
155HOTPLUG=no
156
157
158Tagged VLAN interface on top of ovsbridge0:
159
160==> ifcfg-vlan100 <==
161DEVICE=vlan100
162ONBOOT=yes
163DEVICETYPE=ovs
164TYPE=OVSIntPort
165BOOTPROTO=static
166IPADDR=A.B.C.D
167NETMASK=X.Y.Z.0
168OVS_BRIDGE=ovsbridge0
169OVS_OPTIONS="tag=100"
170OVS_EXTRA="set Interface $DEVICE external-ids:iface-id=$(hostname -s)-$DEVICE-vif"
171HOTPLUG=no
172
173
174Bonding:
175
176==> ifcfg-bond0 <==
177DEVICE=bond0
178ONBOOT=yes
179DEVICETYPE=ovs
180TYPE=OVSBond
181OVS_BRIDGE=ovsbridge0
182BOOTPROTO=none
183BOND_IFACES="gige-1b-0 gige-1b-1 gige-21-0 gige-21-1"
184OVS_OPTIONS="bond_mode=balance-tcp lacp=active"
185HOTPLUG=no
186
187==> ifcfg-gige-* <==
188DEVICE=gige-*
189ONBOOT=yes
190HOTPLUG=no
191
7b75828b
EB
192An Open vSwitch Tunnel:
193
194==> ifcfg-gre0 <==
195DEVICE=ovs-gre0
196ONBOOT=yes
197DEVICETYPE=ovs
198TYPE=OVSTunnel
199OVS_BRIDGE=ovsbridge0
200OVS_TUNNEL_TYPE=gre
201OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
202
d7aab661
JK
203
204Patch Ports:
205
206==> ifcfg-patch-ovs-0 <==
207DEVICE=patch-ovs-0
208ONBOOT=yes
209DEVICETYPE=ovs
210TYPE=OVSPatchPort
211OVS_BRIDGE=ovsbridge0
212OVS_PATCH_PEER=patch-ovs-1
213
214==> ifcfg-patch-ovs-1 <==
215DEVICE=patch-ovs-1
216ONBOOT=yes
217DEVICETYPE=ovs
218TYPE=OVSPatchPort
219OVS_BRIDGE=ovsbridge1
220OVS_PATCH_PEER=patch-ovs-0
221
f6bf8880
PM
222User bridge:
223
224==> ifcfg-obr0 <==
225
226DEVICE=obr0
227ONBOOT=yes
228DEVICETYPE=ovs
229TYPE=OVSUserBridge
230BOOTPROTO=static
231IPADDR=A.B.C.D
232NETMASK=X.Y.Z.0
233HOTPLUG=no
234
235DPDK NIC port:
236
237==> ifcfg-dpdk0 <==
238
239DPDK vhost-user port:
240DEVICE=dpdk0
241ONBOOT=yes
242DEVICETYPE=ovs
243TYPE=OVSDPDKPort
244OVS_BRIDGE=obr0
245
246==> ifcfg-vhu0 <==
247DEVICE=vhu0
248ONBOOT=yes
249DEVICETYPE=ovs
250TYPE=OVSDPDKVhostUserPort
251OVS_BRIDGE=obr0
d7aab661 252
0fb42626
AF
253Reporting Bugs
254--------------
255
256Please report problems to bugs@openvswitch.org.