Updated to 2.3.0

Resolves: #1131051
f38
Flavio Leitner 11 years ago
parent b862d37079
commit 05e222bd44

1
.gitignore vendored

@ -9,3 +9,4 @@
/openvswitch-2.0.1.tar.gz /openvswitch-2.0.1.tar.gz
/openvswitch-2.1.0.tar.gz /openvswitch-2.1.0.tar.gz
/openvswitch-2.1.2.tar.gz /openvswitch-2.1.2.tar.gz
/openvswitch-2.3.0.tar.gz

@ -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

@ -1,9 +1,12 @@
%global _hardened_build 1 %global _hardened_build 1
# If wants to run tests while building, specify the '--with check'
# option. For example:
# rpmbuild -bb --with check openvswitch.spec
Name: openvswitch Name: openvswitch
Version: 2.1.2 Version: 2.3.0
Release: 5%{?dist} Release: 1%{?dist}
Summary: Open vSwitch daemon/database/utilities Summary: Open vSwitch daemon/database/utilities
# Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the
@ -14,16 +17,9 @@ License: ASL 2.0 and LGPLv2+ and SISSL
URL: http://openvswitch.org URL: http://openvswitch.org
Source0: http://openvswitch.org/releases/%{name}-%{version}.tar.gz Source0: http://openvswitch.org/releases/%{name}-%{version}.tar.gz
Source3: openvswitch.logrotate Source3: openvswitch.logrotate
Source9: README.RHEL
ExcludeArch: ppc ExcludeArch: ppc
Patch1: openvswitch-fedora-package-fix-systemd-ordering-and-deps.patch
Patch3: openvswitch-bridge-don-t-bring-up-internal-ports-by-default.patch
Patch4: openvswitch-ovs-lib-allow-non-root-users-to-check-service-status.patch
Patch5: openvswitch-rhel-Add-Patch-Port-support-to-initscripts.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: systemd-units openssl openssl-devel BuildRequires: systemd-units openssl openssl-devel
BuildRequires: python python-twisted-core python-zope-interface PyQt4 BuildRequires: python python-twisted-core python-zope-interface PyQt4
@ -38,6 +34,8 @@ Requires(preun): systemd-units
Requires(postun): systemd-units Requires(postun): systemd-units
Obsoletes: openvswitch-controller <= 0:2.1.0-1 Obsoletes: openvswitch-controller <= 0:2.1.0-1
%bcond_with check
%description %description
Open vSwitch provides standard network bridging functions and Open vSwitch provides standard network bridging functions and
support for the OpenFlow protocol for remote per-flow control of support for the OpenFlow protocol for remote per-flow control of
@ -74,10 +72,6 @@ files needed to build an external application.
%prep %prep
%setup -q %setup -q
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build %build
%configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki %configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki
@ -116,9 +110,6 @@ install -d -m 0755 $RPM_BUILD_ROOT%{python_sitelib}
mv $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* $RPM_BUILD_ROOT%{python_sitelib} mv $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* $RPM_BUILD_ROOT%{python_sitelib}
rmdir $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ rmdir $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}
install -p -m 0644 %{SOURCE9} $RPM_BUILD_ROOT%{_docdir}/%{name}
# Get rid of stuff we don't want to make RPM happy. # Get rid of stuff we don't want to make RPM happy.
rm -f \ rm -f \
$RPM_BUILD_ROOT%{_sbindir}/ovs-vlan-bug-workaround \ $RPM_BUILD_ROOT%{_sbindir}/ovs-vlan-bug-workaround \
@ -182,6 +173,16 @@ install -p -D -m 0644 include/openflow/*.h \
fi fi
%endif %endif
%check
%if %{with check}
if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
make check TESTSUITEFLAGS='--recheck'; then :;
else
cat tests/testsuite.log
exit 1
fi
%endif
%files %files
%{_sysconfdir}/openvswitch/ %{_sysconfdir}/openvswitch/
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
@ -230,9 +231,9 @@ install -p -D -m 0644 include/openflow/*.h \
# /usr/share/openvswitch/scripts/ovs-bugtool* are LGPLv2+ # /usr/share/openvswitch/scripts/ovs-bugtool* are LGPLv2+
%{_datadir}/openvswitch/ %{_datadir}/openvswitch/
%{_sharedstatedir}/openvswitch %{_sharedstatedir}/openvswitch
%{_docdir}/%{name}/README.RHEL
# see COPYING for full licensing details # see COPYING for full licensing details
%doc COPYING DESIGN INSTALL.SSL NOTICE README WHY-OVS FAQ NEWS %doc COPYING DESIGN INSTALL.SSL NOTICE README WHY-OVS rhel/README.RHEL
%doc FAQ NEWS INSTALL.DPDK
%files -n python-openvswitch %files -n python-openvswitch
%{python_sitelib}/ovs %{python_sitelib}/ovs
@ -254,6 +255,9 @@ install -p -D -m 0644 include/openflow/*.h \
%{_includedir}/openflow/* %{_includedir}/openflow/*
%changelog %changelog
* Tue Aug 19 2014 Flavio Leitner - 2.3.0-1
- updated to 2.3.0
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.2-5 * Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

@ -1 +1 @@
430ff6d1e1fc81e9c5ebc2e641cfc953 openvswitch-2.1.2.tar.gz 9c4d1471a56718132e0157af1bfc9310 openvswitch-2.3.0.tar.gz

Loading…
Cancel
Save