]>
Commit | Line | Data |
---|---|---|
0fb42626 AF |
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 | ||
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 |
68 | Note |
69 | ---- | |
70 | ||
5b56f96a | 71 | * "ifdown" on a bridge will not bring individual ports on the bridge |
0fb42626 AF |
72 | down. "ifup" on a bridge will not add ports to the bridge. This |
73 | behavior should be compatible with standard bridges (with | |
74 | TYPE=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 | |
78 | ifup-eth trying to add zeroconf route multiple times and is harmless. | |
79 | ||
0fb42626 AF |
80 | Examples |
81 | -------- | |
82 | ||
83 | Standalone bridge: | |
84 | ||
85 | ==> ifcfg-ovsbridge0 <== | |
86 | DEVICE=ovsbridge0 | |
87 | ONBOOT=yes | |
88 | DEVICETYPE=ovs | |
89 | TYPE=OVSBridge | |
90 | BOOTPROTO=static | |
91 | IPADDR=A.B.C.D | |
92 | NETMASK=X.Y.Z.0 | |
93 | HOTPLUG=no | |
94 | ||
5442edb9 GS |
95 | Enable DHCP on the bridge: |
96 | * Needs OVSBOOTPROTO instead of BOOTPROTO. | |
97 | * All the interfaces that can reach the DHCP server | |
b4b6a39a | 98 | as a space separated list in OVSDHCPINTERFACES. |
5442edb9 GS |
99 | |
100 | DEVICE=ovsbridge0 | |
101 | ONBOOT=yes | |
102 | DEVICETYPE=ovs | |
103 | TYPE=OVSBridge | |
104 | OVSBOOTPROTO="dhcp" | |
105 | OVSDHCPINTERFACES="eth0" | |
106 | HOTPLUG=no | |
0fb42626 | 107 | |
490db96e FL |
108 | |
109 | Adding Internal Port to ovsbridge0: | |
110 | ||
111 | ==> ifcfg-intbr0 <== | |
112 | DEVICE=intbr0 | |
113 | ONBOOT=yes | |
114 | DEVICETYPE=ovs | |
115 | TYPE=OVSIntPort | |
116 | OVS_BRIDGE=ovsbridge0 | |
117 | HOTPLUG=no | |
118 | ||
119 | ||
120 | Internal Port with fixed IP address: | |
121 | ||
122 | DEVICE=intbr0 | |
123 | ONBOOT=yes | |
124 | DEVICETYPE=ovs | |
125 | TYPE=OVSIntPort | |
126 | OVS_BRIDGE=ovsbridge0 | |
127 | BOOTPROTO=static | |
128 | IPADDR=A.B.C.D | |
129 | NETMASK=X.Y.Z.0 | |
130 | HOTPLUG=no | |
131 | ||
132 | Internal Port with DHCP: | |
133 | * Needs OVSBOOTPROTO or BOOTPROTO. | |
134 | * All the interfaces that can reach the DHCP server | |
135 | as a space separated list in OVSDHCPINTERFACES. | |
136 | ||
137 | DEVICE=intbr0 | |
138 | ONBOOT=yes | |
139 | DEVICETYPE=ovs | |
140 | TYPE=OVSIntPort | |
141 | OVS_BRIDGE=ovsbridge0 | |
142 | OVSBOOTPROTO="dhcp" | |
143 | OVSDHCPINTERFACES="eth0" | |
144 | HOTPLUG=no | |
145 | ||
0fb42626 AF |
146 | Adding physical eth0 to ovsbridge0 described above: |
147 | ||
148 | ==> ifcfg-eth0 <== | |
149 | DEVICE=eth0 | |
150 | ONBOOT=yes | |
151 | DEVICETYPE=ovs | |
152 | TYPE=OVSPort | |
26fbdf77 | 153 | OVS_BRIDGE=ovsbridge0 |
0fb42626 AF |
154 | BOOTPROTO=none |
155 | HOTPLUG=no | |
156 | ||
157 | ||
158 | Tagged VLAN interface on top of ovsbridge0: | |
159 | ||
160 | ==> ifcfg-vlan100 <== | |
161 | DEVICE=vlan100 | |
162 | ONBOOT=yes | |
163 | DEVICETYPE=ovs | |
164 | TYPE=OVSIntPort | |
165 | BOOTPROTO=static | |
166 | IPADDR=A.B.C.D | |
167 | NETMASK=X.Y.Z.0 | |
168 | OVS_BRIDGE=ovsbridge0 | |
169 | OVS_OPTIONS="tag=100" | |
170 | OVS_EXTRA="set Interface $DEVICE external-ids:iface-id=$(hostname -s)-$DEVICE-vif" | |
171 | HOTPLUG=no | |
172 | ||
173 | ||
174 | Bonding: | |
175 | ||
176 | ==> ifcfg-bond0 <== | |
177 | DEVICE=bond0 | |
178 | ONBOOT=yes | |
179 | DEVICETYPE=ovs | |
180 | TYPE=OVSBond | |
181 | OVS_BRIDGE=ovsbridge0 | |
182 | BOOTPROTO=none | |
183 | BOND_IFACES="gige-1b-0 gige-1b-1 gige-21-0 gige-21-1" | |
184 | OVS_OPTIONS="bond_mode=balance-tcp lacp=active" | |
185 | HOTPLUG=no | |
186 | ||
187 | ==> ifcfg-gige-* <== | |
188 | DEVICE=gige-* | |
189 | ONBOOT=yes | |
190 | HOTPLUG=no | |
191 | ||
7b75828b EB |
192 | An Open vSwitch Tunnel: |
193 | ||
194 | ==> ifcfg-gre0 <== | |
195 | DEVICE=ovs-gre0 | |
196 | ONBOOT=yes | |
197 | DEVICETYPE=ovs | |
198 | TYPE=OVSTunnel | |
199 | OVS_BRIDGE=ovsbridge0 | |
200 | OVS_TUNNEL_TYPE=gre | |
201 | OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D" | |
202 | ||
d7aab661 JK |
203 | |
204 | Patch Ports: | |
205 | ||
206 | ==> ifcfg-patch-ovs-0 <== | |
207 | DEVICE=patch-ovs-0 | |
208 | ONBOOT=yes | |
209 | DEVICETYPE=ovs | |
210 | TYPE=OVSPatchPort | |
211 | OVS_BRIDGE=ovsbridge0 | |
212 | OVS_PATCH_PEER=patch-ovs-1 | |
213 | ||
214 | ==> ifcfg-patch-ovs-1 <== | |
215 | DEVICE=patch-ovs-1 | |
216 | ONBOOT=yes | |
217 | DEVICETYPE=ovs | |
218 | TYPE=OVSPatchPort | |
219 | OVS_BRIDGE=ovsbridge1 | |
220 | OVS_PATCH_PEER=patch-ovs-0 | |
221 | ||
f6bf8880 PM |
222 | User bridge: |
223 | ||
224 | ==> ifcfg-obr0 <== | |
225 | ||
226 | DEVICE=obr0 | |
227 | ONBOOT=yes | |
228 | DEVICETYPE=ovs | |
229 | TYPE=OVSUserBridge | |
230 | BOOTPROTO=static | |
231 | IPADDR=A.B.C.D | |
232 | NETMASK=X.Y.Z.0 | |
233 | HOTPLUG=no | |
234 | ||
235 | DPDK NIC port: | |
236 | ||
237 | ==> ifcfg-dpdk0 <== | |
238 | ||
239 | DPDK vhost-user port: | |
240 | DEVICE=dpdk0 | |
241 | ONBOOT=yes | |
242 | DEVICETYPE=ovs | |
243 | TYPE=OVSDPDKPort | |
244 | OVS_BRIDGE=obr0 | |
245 | ||
246 | ==> ifcfg-vhu0 <== | |
247 | DEVICE=vhu0 | |
248 | ONBOOT=yes | |
249 | DEVICETYPE=ovs | |
250 | TYPE=OVSDPDKVhostUserPort | |
251 | OVS_BRIDGE=obr0 | |
d7aab661 | 252 | |
0fb42626 AF |
253 | Reporting Bugs |
254 | -------------- | |
255 | ||
256 | Please report problems to bugs@openvswitch.org. |