parent
b862d37079
commit
05e222bd44
@ -1,188 +0,0 @@
|
|||||||
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.
|
|
@ -1,124 +0,0 @@
|
|||||||
[PATCH] bridge: don't bring up internal ports by default.
|
|
||||||
|
|
||||||
It should be an administrator task to bring up devices as they
|
|
||||||
are configured properly.
|
|
||||||
|
|
||||||
Currently, Fedora is deleting the bridges when the interface is
|
|
||||||
brought down. Therefore, there is no bridge on the next boot and
|
|
||||||
the initscripts can apply the networking configuration properly
|
|
||||||
for a new bridge.
|
|
||||||
|
|
||||||
However, if the system didn't execute ifdown for some reason, the
|
|
||||||
bridge is left in the ovsdb and since internal ports are brought
|
|
||||||
up by default, there is no way for initscripts to known if the
|
|
||||||
adminitrator has already configured it or not.
|
|
||||||
|
|
||||||
This patch reverts commit bef071a5fdf8e2dd87677b04b3cf7a8f5094edcb
|
|
||||||
(bridge: Always "up" internal devices.).
|
|
||||||
|
|
||||||
Signed-off-by: Flavio Leitner <fbl@redhat.com>
|
|
||||||
Signed-off-by: Ben Pfaff <blp@nicira.com>
|
|
||||||
---
|
|
||||||
NEWS | 5 +++++
|
|
||||||
tests/ofproto-dpif.at | 4 ++--
|
|
||||||
tests/ofproto.at | 16 ++++++++--------
|
|
||||||
vswitchd/bridge.c | 3 +--
|
|
||||||
4 files changed, 16 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/NEWS b/NEWS
|
|
||||||
index e1fb093..51849fe 100644
|
|
||||||
--- a/NEWS
|
|
||||||
+++ b/NEWS
|
|
||||||
@@ -1,3 +1,8 @@
|
|
||||||
+Backported from upstream:
|
|
||||||
+ - Internal ports are no longer brought up by default, because it
|
|
||||||
+ should be an administrator task to bring up devices as they are
|
|
||||||
+ configured properly.
|
|
||||||
+
|
|
||||||
v2.1.2 - 30 Apr 2014
|
|
||||||
---------------------
|
|
||||||
- Bug fixes.
|
|
||||||
diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
|
|
||||||
index 618ea8d..b359e5f 100644
|
|
||||||
--- a/tests/ofproto-dpif.at
|
|
||||||
+++ b/tests/ofproto-dpif.at
|
|
||||||
@@ -1937,7 +1937,7 @@ IFCOUNTERS
|
|
||||||
type=6
|
|
||||||
ifspeed=100000000
|
|
||||||
direction=0
|
|
||||||
- status=3
|
|
||||||
+ status=0
|
|
||||||
in_octets=0
|
|
||||||
in_unicasts=0
|
|
||||||
in_multicasts=0
|
|
||||||
@@ -2006,7 +2006,7 @@ IFCOUNTERS
|
|
||||||
type=6
|
|
||||||
ifspeed=100000000
|
|
||||||
direction=0
|
|
||||||
- status=3
|
|
||||||
+ status=0
|
|
||||||
in_octets=0
|
|
||||||
in_unicasts=0
|
|
||||||
in_multicasts=0
|
|
||||||
diff --git a/tests/ofproto.at b/tests/ofproto.at
|
|
||||||
index f6a62cd..dd56b39 100644
|
|
||||||
--- a/tests/ofproto.at
|
|
||||||
+++ b/tests/ofproto.at
|
|
||||||
@@ -38,8 +38,8 @@ n_tables:254, n_buffers:256
|
|
||||||
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
|
|
||||||
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
|
|
||||||
LOCAL(br0): addr:aa:55:aa:55:00:00
|
|
||||||
- config: 0
|
|
||||||
- state: 0
|
|
||||||
+ config: PORT_DOWN
|
|
||||||
+ state: LINK_DOWN
|
|
||||||
speed: 0 Mbps now, 0 Mbps max
|
|
||||||
OFPT_GET_CONFIG_REPLY: frags=normal miss_send_len=0
|
|
||||||
])
|
|
||||||
@@ -68,8 +68,8 @@ actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_N
|
|
||||||
state: LINK_DOWN
|
|
||||||
speed: 0 Mbps now, 0 Mbps max
|
|
||||||
LOCAL(br0): addr:aa:55:aa:55:00:0x
|
|
||||||
- config: 0
|
|
||||||
- state: 0
|
|
||||||
+ config: PORT_DOWN
|
|
||||||
+ state: LINK_DOWN
|
|
||||||
speed: 0 Mbps now, 0 Mbps max
|
|
||||||
OFPT_GET_CONFIG_REPLY: frags=normal miss_send_len=0
|
|
||||||
])
|
|
||||||
@@ -109,8 +109,8 @@ AT_CHECK([ovs-ofctl -vwarn dump-ports-desc br0], [0], [stdout])
|
|
||||||
AT_CHECK([STRIP_XIDS stdout], [0], [dnl
|
|
||||||
OFPST_PORT_DESC reply:
|
|
||||||
LOCAL(br0): addr:aa:55:aa:55:00:00
|
|
||||||
- config: 0
|
|
||||||
- state: 0
|
|
||||||
+ config: PORT_DOWN
|
|
||||||
+ state: LINK_DOWN
|
|
||||||
speed: 0 Mbps now, 0 Mbps max
|
|
||||||
])
|
|
||||||
OVS_VSWITCHD_STOP
|
|
||||||
@@ -124,8 +124,8 @@ AT_CHECK([ovs-ofctl -O OpenFlow12 -vwarn dump-ports-desc br0], [0], [stdout])
|
|
||||||
AT_CHECK([STRIP_XIDS stdout], [0], [dnl
|
|
||||||
OFPST_PORT_DESC reply (OF1.2):
|
|
||||||
LOCAL(br0): addr:aa:55:aa:55:00:00
|
|
||||||
- config: 0
|
|
||||||
- state: 0
|
|
||||||
+ config: PORT_DOWN
|
|
||||||
+ state: LINK_DOWN
|
|
||||||
speed: 0 Mbps now, 0 Mbps max
|
|
||||||
])
|
|
||||||
OVS_VSWITCHD_STOP
|
|
||||||
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
|
|
||||||
index 796fe48..79f2402 100644
|
|
||||||
--- a/vswitchd/bridge.c
|
|
||||||
+++ b/vswitchd/bridge.c
|
|
||||||
@@ -1488,8 +1488,7 @@ iface_do_create(const struct bridge *br,
|
|
||||||
VLOG_INFO("bridge %s: added interface %s on port %d",
|
|
||||||
br->name, iface_cfg->name, *ofp_portp);
|
|
||||||
|
|
||||||
- if ((port_cfg->vlan_mode && !strcmp(port_cfg->vlan_mode, "splinter"))
|
|
||||||
- || iface_is_internal(iface_cfg, br->cfg)) {
|
|
||||||
+ if (port_cfg->vlan_mode && !strcmp(port_cfg->vlan_mode, "splinter")) {
|
|
||||||
netdev_turn_flags_on(netdev, NETDEV_UP, NULL);
|
|
||||||
}
|
|
||||||
|
|
@ -1,205 +0,0 @@
|
|||||||
From f32488ec28a05e26e0298b3e10b3a7fe422fbf88 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Flavio Leitner <fbl@redhat.com>
|
|
||||||
Date: Thu, 9 Jan 2014 01:04:33 -0200
|
|
||||||
Subject: [PATCH] fedora package: fix systemd ordering and deps.
|
|
||||||
|
|
||||||
There is a chicken and egg issue where common OVS
|
|
||||||
configuration uses a controller which is only accessible
|
|
||||||
via the network. So starting OVS before network.target
|
|
||||||
would break those configurations.
|
|
||||||
|
|
||||||
However, the network doesn't come up after boot because
|
|
||||||
OVS isn't started until after the network scripts tries
|
|
||||||
to configure the ovs.
|
|
||||||
|
|
||||||
This is partially fixed by commits:
|
|
||||||
commit: 602453000e28ec1076c0482ce13c284765a84409
|
|
||||||
rhel: Automatically start openvswitch service before bringing an ovs interfa
|
|
||||||
|
|
||||||
commit: 3214851c31538e8690e31f95702f8927a8c0838b
|
|
||||||
rhel: Add OVSREQUIRES to automatically bring up OpenFlow interface dependencies
|
|
||||||
|
|
||||||
But still there is the dependency issue between network.target
|
|
||||||
and openvswitch which this patch fixes it. It provides two systemd
|
|
||||||
service units. One to run at any time (openvswitch-nonetwork.service)
|
|
||||||
which runs 'ovs-ctl start' and the other one (openvswith.service) to
|
|
||||||
run after network.target which works as a frontend to the admin.
|
|
||||||
|
|
||||||
The openvswitch-nonetwork.service is used internally by the
|
|
||||||
'ifup-ovs/ifdown-ovs' scripts when adding or removing ports to
|
|
||||||
the bridge or when the openvswitch.service is enabled by the admin.
|
|
||||||
|
|
||||||
Signed-off-by: Flavio Leitner <fbl@redhat.com>
|
|
||||||
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
|
|
||||||
---
|
|
||||||
rhel/automake.mk | 4 +++-
|
|
||||||
rhel/etc_sysconfig_network-scripts_ifdown-ovs | 11 ++++++++++-
|
|
||||||
rhel/etc_sysconfig_network-scripts_ifup-ovs | 11 ++++++++++-
|
|
||||||
rhel/openvswitch-fedora.spec.in | 5 ++++-
|
|
||||||
...ib_systemd_system_openvswitch-nonetwork.service | 13 ++++++++++++
|
|
||||||
rhel/usr_lib_systemd_system_openvswitch.service | 7 ++++---
|
|
||||||
..._openvswitch_scripts_systemd_sysconfig.template | 23 ++++++++++++++++++++++
|
|
||||||
7 files changed, 67 insertions(+), 7 deletions(-)
|
|
||||||
create mode 100644 rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
|
||||||
create mode 100644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
|
||||||
|
|
||||||
diff --git a/rhel/automake.mk b/rhel/automake.mk
|
|
||||||
index 2911e71..9cd9a41 100644
|
|
||||||
--- a/rhel/automake.mk
|
|
||||||
+++ b/rhel/automake.mk
|
|
||||||
@@ -22,7 +22,9 @@ EXTRA_DIST += \
|
|
||||||
rhel/openvswitch-fedora.spec \
|
|
||||||
rhel/openvswitch-fedora.spec.in \
|
|
||||||
rhel/usr_share_openvswitch_scripts_sysconfig.template \
|
|
||||||
- rhel/usr_lib_systemd_system_openvswitch.service
|
|
||||||
+ rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
|
|
||||||
+ rhel/usr_lib_systemd_system_openvswitch.service \
|
|
||||||
+ rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
|
||||||
|
|
||||||
update_rhel_spec = \
|
|
||||||
($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g') \
|
|
||||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifdown-ovs b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
|
||||||
index d2a2f4b..32fddb5 100755
|
|
||||||
--- a/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
|
||||||
+++ b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
|
||||||
@@ -34,7 +34,16 @@ if [ ! -x ${OTHERSCRIPT} ]; then
|
|
||||||
OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-eth"
|
|
||||||
fi
|
|
||||||
|
|
||||||
-[ -f /var/lock/subsys/openvswitch ] || /sbin/service openvswitch start
|
|
||||||
+SERVICE_UNIT=/usr/lib/systemd/system/openvswitch-nonetwork.service
|
|
||||||
+if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then
|
|
||||||
+ if ! systemctl --quiet is-active openvswitch-nonetwork.service; then
|
|
||||||
+ systemctl start openvswitch-nonetwork.service
|
|
||||||
+ fi
|
|
||||||
+else
|
|
||||||
+ if [ ! -f /var/lock/subsys/openvswitch ]; then
|
|
||||||
+ /sbin/service openvswitch start
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
|
|
||||||
case "$TYPE" in
|
|
||||||
OVSBridge)
|
|
||||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
|
||||||
index 8904c59..3c6b557 100755
|
|
||||||
--- a/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
|
||||||
+++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
|
||||||
@@ -60,7 +60,16 @@ fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
-[ -f /var/lock/subsys/openvswitch ] || /sbin/service openvswitch start
|
|
||||||
+SERVICE_UNIT=/usr/lib/systemd/system/openvswitch-nonetwork.service
|
|
||||||
+if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then
|
|
||||||
+ if ! systemctl --quiet is-active openvswitch-nonetwork.service; then
|
|
||||||
+ systemctl start openvswitch-nonetwork.service
|
|
||||||
+ fi
|
|
||||||
+else
|
|
||||||
+ if [ ! -f /var/lock/subsys/openvswitch ]; then
|
|
||||||
+ /sbin/service openvswitch start
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
|
|
||||||
case "$TYPE" in
|
|
||||||
OVSBridge)
|
|
||||||
diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
|
|
||||||
index 27a3b03..8a5505d 100644
|
|
||||||
--- a/rhel/openvswitch-fedora.spec.in
|
|
||||||
+++ b/rhel/openvswitch-fedora.spec.in
|
|
||||||
@@ -45,6 +45,8 @@ install -d -m 755 $RPM_BUILD_ROOT/etc
|
|
||||||
install -d -m 755 $RPM_BUILD_ROOT/etc/openvswitch
|
|
||||||
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch.service \
|
|
||||||
$RPM_BUILD_ROOT%{_unitdir}/openvswitch.service
|
|
||||||
+install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \
|
|
||||||
+ $RPM_BUILD_ROOT%{_unitdir}/openvswitch-nonetwork.service
|
|
||||||
install -m 755 rhel/etc_init.d_openvswitch \
|
|
||||||
$RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
|
|
||||||
install -d -m 755 $RPM_BUILD_ROOT/etc/sysconfig
|
|
||||||
@@ -60,7 +62,7 @@ install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
|
|
||||||
$RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifdown-ovs
|
|
||||||
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
|
|
||||||
$RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifup-ovs
|
|
||||||
-install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_sysconfig.template \
|
|
||||||
+install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
|
|
||||||
$RPM_BUILD_ROOT/etc/sysconfig/openvswitch
|
|
||||||
install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts
|
|
||||||
|
|
||||||
@@ -101,6 +103,7 @@ systemctl start openvswitch.service
|
|
||||||
%config /etc/sysconfig/openvswitch
|
|
||||||
%config /etc/logrotate.d/openvswitch
|
|
||||||
%{_unitdir}/openvswitch.service
|
|
||||||
+%{_unitdir}/openvswitch-nonetwork.service
|
|
||||||
%{_datadir}/openvswitch/scripts/openvswitch.init
|
|
||||||
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
|
|
||||||
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
|
|
||||||
diff --git a/rhel/usr_lib_systemd_system_openvswitch-nonetwork.service b/rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..870b25e
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/rhel/usr_lib_systemd_system_openvswitch-nonetwork.service
|
|
||||||
@@ -0,0 +1,13 @@
|
|
||||||
+[Unit]
|
|
||||||
+Description=Open vSwitch Internal Unit
|
|
||||||
+After=syslog.target
|
|
||||||
+PartOf=openvswitch.service
|
|
||||||
+Wants=openvswitch.service
|
|
||||||
+
|
|
||||||
+[Service]
|
|
||||||
+Type=oneshot
|
|
||||||
+RemainAfterExit=yes
|
|
||||||
+EnvironmentFile=-/etc/sysconfig/openvswitch
|
|
||||||
+ExecStart=/usr/share/openvswitch/scripts/ovs-ctl start \
|
|
||||||
+ --system-id=random $OPTIONS
|
|
||||||
+ExecStop=/usr/share/openvswitch/scripts/ovs-ctl stop
|
|
||||||
diff --git a/rhel/usr_lib_systemd_system_openvswitch.service b/rhel/usr_lib_systemd_system_openvswitch.service
|
|
||||||
index f39d7e6..f0bc16f 100644
|
|
||||||
--- a/rhel/usr_lib_systemd_system_openvswitch.service
|
|
||||||
+++ b/rhel/usr_lib_systemd_system_openvswitch.service
|
|
||||||
@@ -1,11 +1,12 @@
|
|
||||||
[Unit]
|
|
||||||
Description=Open vSwitch
|
|
||||||
-After=syslog.target network.target
|
|
||||||
+After=syslog.target network.target openvswitch-nonetwork.service
|
|
||||||
+Requires=openvswitch-nonetwork.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
-ExecStart=/usr/share/openvswitch/scripts/openvswitch.init start
|
|
||||||
-ExecStop=/usr/share/openvswitch/scripts/openvswitch.init stop
|
|
||||||
+ExecStart=/bin/true
|
|
||||||
+ExecStop=/bin/true
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
diff --git a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..3050a07
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
|
|
||||||
@@ -0,0 +1,23 @@
|
|
||||||
+### Configuration options for openvswitch
|
|
||||||
+#
|
|
||||||
+# Enable core files:
|
|
||||||
+# --force-corefiles=yes
|
|
||||||
+#
|
|
||||||
+# Set "nice" priority at which to run ovsdb-server:
|
|
||||||
+# --ovsdb-server-priority=-10
|
|
||||||
+#
|
|
||||||
+# Set "nice" priority at which to run ovsdb-vswitchd:
|
|
||||||
+# --ovs-vswitchd-priority=-10
|
|
||||||
+#
|
|
||||||
+# Pass or not --mlockall option to ovs-vswitchd.
|
|
||||||
+# This option should be set to "yes" or "no". The default is "yes".
|
|
||||||
+# Enabling this option can avoid networking interruptions due to
|
|
||||||
+# system memory pressure in extraordinary situations, such as multiple
|
|
||||||
+# concurrent VM import operations.
|
|
||||||
+# --mlockall=yes
|
|
||||||
+#
|
|
||||||
+# Use valgrind:
|
|
||||||
+# --ovs-vswitchd-wrapper=valgrind
|
|
||||||
+# --ovsdb-server-wrapper=valgrind
|
|
||||||
+#
|
|
||||||
+OPTIONS=""
|
|
||||||
--
|
|
||||||
1.8.4.2
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
From 691e47554dd03dd6492e00bab5bd6d215f5cbd4f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Flavio Leitner <fbl@redhat.com>
|
|
||||||
Date: Thu, 27 Feb 2014 09:16:34 -0300
|
|
||||||
Subject: [PATCH] ovs-lib: allow non-root users to check service status
|
|
||||||
|
|
||||||
It tries to log the status operation, so although non-root
|
|
||||||
users can see the current status, the lack of permission
|
|
||||||
to write to the log results in an error message.
|
|
||||||
|
|
||||||
This changes to log only if the user has the permission to
|
|
||||||
write to the log file.
|
|
||||||
|
|
||||||
Signed-off-by: Flavio Leitner <fbl@redhat.com>
|
|
||||||
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
|
|
||||||
---
|
|
||||||
utilities/ovs-lib.in | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
|
|
||||||
index 029ed3b..48d0c36 100644
|
|
||||||
--- a/utilities/ovs-lib.in
|
|
||||||
+++ b/utilities/ovs-lib.in
|
|
||||||
@@ -54,7 +54,11 @@ ovs_ctl () {
|
|
||||||
# of ovs-ctl. It is also useful to document the o/p in ovs-ctl.log.
|
|
||||||
display=`"${datadir}/scripts/ovs-ctl" "$@" 2>&1`
|
|
||||||
rc=$?
|
|
||||||
- echo "${display}" | tee -a "${logdir}/ovs-ctl.log"
|
|
||||||
+ if test -w "${logdir}/ovs-ctl.log"; then
|
|
||||||
+ echo "${display}" | tee -a "${logdir}/ovs-ctl.log"
|
|
||||||
+ else
|
|
||||||
+ echo "${display}"
|
|
||||||
+ fi
|
|
||||||
return ${rc}
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
--
|
|
||||||
1.8.5.3
|
|
||||||
|
|
@ -1,114 +0,0 @@
|
|||||||
From e2bcc8ef49f5e51f48983b87ab1010f0f9ab1454 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Jason=20K=C3=B6lker?= <jason@koelker.net>
|
|
||||||
Date: Mon, 31 Mar 2014 23:34:14 +0000
|
|
||||||
Subject: [PATCH] rhel: Add Patch Port support to initscripts
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Allows setting up type=patch ports through sysconfig ifcfg-* files.
|
|
||||||
|
|
||||||
Signed-off-by: Jason Kölker <jason@koelker.net>
|
|
||||||
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
|
|
||||||
Acked-by: Flavio Leitner <fbl@redhat.com>
|
|
||||||
---
|
|
||||||
AUTHORS | 1 +
|
|
||||||
rhel/README.RHEL | 25 +++++++++++++++++++++++++
|
|
||||||
rhel/etc_sysconfig_network-scripts_ifdown-ovs | 3 +++
|
|
||||||
rhel/etc_sysconfig_network-scripts_ifup-ovs | 4 ++++
|
|
||||||
4 files changed, 33 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/AUTHORS b/AUTHORS
|
|
||||||
index 977753b..c5402cf 100644
|
|
||||||
--- a/AUTHORS
|
|
||||||
+++ b/AUTHORS
|
|
||||||
@@ -57,6 +57,7 @@ Isaku Yamahata yamahata@valinux.co.jp
|
|
||||||
James P. roampune@gmail.com
|
|
||||||
James Page james.page@ubuntu.com
|
|
||||||
Jarno Rajahalme jrajahalme@nicira.com
|
|
||||||
+Jason Kölker jason@koelker.net
|
|
||||||
Jean Tourrilhes jt@hpl.hp.com
|
|
||||||
Jeremy Stribling strib@nicira.com
|
|
||||||
Jesse Gross jesse@nicira.com
|
|
||||||
diff --git a/rhel/README.RHEL b/rhel/README.RHEL
|
|
||||||
index cb6ab88..2620674 100644
|
|
||||||
--- a/rhel/README.RHEL
|
|
||||||
+++ b/rhel/README.RHEL
|
|
||||||
@@ -25,6 +25,8 @@ assignments. The following OVS-specific variable names are supported:
|
|
||||||
|
|
||||||
* "OVSTunnel", if <name> is an OVS tunnel.
|
|
||||||
|
|
||||||
+ * "OVSPatchPort", if <name> is a patch port
|
|
||||||
+
|
|
||||||
- OVS_BRIDGE: If TYPE is anything other than "OVSBridge", set to
|
|
||||||
the name of the OVS bridge to which the port should be attached.
|
|
||||||
|
|
||||||
@@ -47,6 +49,9 @@ assignments. The following OVS-specific variable names are supported:
|
|
||||||
- OVS_TUNNEL_OPTIONS: For "OVSTunnel" interfaces, this field should be
|
|
||||||
used to specify the tunnel options like remote_ip, key, etc.
|
|
||||||
|
|
||||||
+ - OVS_PATCH_PEER: For "OVSPatchPort" devices, this field specifies
|
|
||||||
+ the patch's peer on the other bridge.
|
|
||||||
+
|
|
||||||
Note
|
|
||||||
----
|
|
||||||
|
|
||||||
@@ -182,6 +187,26 @@ OVS_BRIDGE=ovsbridge0
|
|
||||||
OVS_TUNNEL_TYPE=gre
|
|
||||||
OVS_TUNNEL_OPTIONS="options:remote_ip=A.B.C.D"
|
|
||||||
|
|
||||||
+
|
|
||||||
+Patch Ports:
|
|
||||||
+
|
|
||||||
+==> ifcfg-patch-ovs-0 <==
|
|
||||||
+DEVICE=patch-ovs-0
|
|
||||||
+ONBOOT=yes
|
|
||||||
+DEVICETYPE=ovs
|
|
||||||
+TYPE=OVSPatchPort
|
|
||||||
+OVS_BRIDGE=ovsbridge0
|
|
||||||
+OVS_PATCH_PEER=patch-ovs-1
|
|
||||||
+
|
|
||||||
+==> ifcfg-patch-ovs-1 <==
|
|
||||||
+DEVICE=patch-ovs-1
|
|
||||||
+ONBOOT=yes
|
|
||||||
+DEVICETYPE=ovs
|
|
||||||
+TYPE=OVSPatchPort
|
|
||||||
+OVS_BRIDGE=ovsbridge1
|
|
||||||
+OVS_PATCH_PEER=patch-ovs-0
|
|
||||||
+
|
|
||||||
+
|
|
||||||
Reporting Bugs
|
|
||||||
--------------
|
|
||||||
|
|
||||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifdown-ovs b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
|
||||||
index 8e768c8..1371a30 100755
|
|
||||||
--- a/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
|
||||||
+++ b/rhel/etc_sysconfig_network-scripts_ifdown-ovs
|
|
||||||
@@ -47,6 +47,9 @@ case "$TYPE" in
|
|
||||||
retval=$?
|
|
||||||
ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
|
|
||||||
;;
|
|
||||||
+ OVSPatchPort)
|
|
||||||
+ ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
|
|
||||||
+ ;;
|
|
||||||
*)
|
|
||||||
echo $"Invalid OVS interface type $TYPE"
|
|
||||||
exit 1
|
|
||||||
diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
|
||||||
index a50c72f..f5641d2 100755
|
|
||||||
--- a/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
|
||||||
+++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs
|
|
||||||
@@ -127,6 +127,10 @@ case "$TYPE" in
|
|
||||||
ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=$OVS_TUNNEL_TYPE $OVS_TUNNEL_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
|
|
||||||
${OTHERSCRIPT} ${CONFIG} ${2}
|
|
||||||
;;
|
|
||||||
+ OVSPatchPort)
|
|
||||||
+ ifup_ovs_bridge
|
|
||||||
+ ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS -- set Interface "$DEVICE" type=patch options:peer="${OVS_PATCH_PEER}" ${OVS_EXTRA+-- $OVS_EXTRA}
|
|
||||||
+ ;;
|
|
||||||
*)
|
|
||||||
echo $"Invalid OVS interface type $TYPE"
|
|
||||||
exit 1
|
|
||||||
--
|
|
||||||
1.8.5.3
|
|
||||||
|
|
Loading…
Reference in new issue