https://github.com/CumulusNetworks/ifupdown2/pull/164 Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- .../extra/0003-ovs-multiple-ovsport.patch | 53 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 54 insertions(+) create mode 100644 debian/patches/extra/0003-ovs-multiple-ovsport.patch
diff --git a/debian/patches/extra/0003-ovs-multiple-ovsport.patch b/debian/patches/extra/0003-ovs-multiple-ovsport.patch new file mode 100644 index 0000000..bb18056 --- /dev/null +++ b/debian/patches/extra/0003-ovs-multiple-ovsport.patch @@ -0,0 +1,53 @@ +From 6cdb2b3d220fdf60ea8d0a2982a90c583dec467e Mon Sep 17 00:00:00 2001 +From: Alexandre Derumier <aderum...@odiso.com> +Date: Thu, 28 May 2020 11:21:55 +0200 +Subject: [PATCH] addons: openvswitch: allow multiple ovs-ports + glob/regex + +--- + ifupdown2/addons/openvswitch.py | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/ifupdown2/addons/openvswitch.py b/ifupdown2/addons/openvswitch.py +index 468d7df..936c871 100644 +--- a/ifupdown2/addons/openvswitch.py ++++ b/ifupdown2/addons/openvswitch.py +@@ -37,6 +37,12 @@ class openvswitch(Addon, moduleBase): + 'help': 'Interfaces to be part of this ovs bridge.', + 'validvals': ['<interface-list>'], + 'required': False, ++ "multivalue": True, ++ "example": [ ++ "ovs-ports swp1.100 swp2.100 swp3.100", ++ "ovs-ports glob swp1-3.100", ++ "ovs-ports regex (swp[1|2|3].100)" ++ ] + }, + 'ovs-type': { + 'help': 'ovs interface type', +@@ -87,10 +93,15 @@ def _is_ovs_bridge (self, ifaceobj): + return False + + def _get_ovs_ports (self, ifaceobj): +- ovs_ports = ifaceobj.get_attr_value_first('ovs-ports') ++ ovs_ports = [] ++ ++ for port in ifaceobj.get_attr_value('ovs-ports') or []: ++ ovs_ports.extend(port.split()) ++ + if ovs_ports: +- return sorted (ovs_ports.split ()) +- return None ++ return self.parse_port_list(ifaceobj.name, ' '.join(ovs_ports)) ++ else: ++ return None + + def _get_running_ovs_ports (self, iface): + output = utils.exec_command("/usr/bin/ovs-vsctl list-ports %s" %iface) +@@ -152,6 +163,7 @@ def _addbridge (self, ifaceobj): + ovs_ports = self._get_ovs_ports(ifaceobj) + running_ovs_ports = self._get_running_ovs_ports(iface) + ++ missingports = [] + if running_ovs_ports is not None and ovs_ports is not None: + missingports = list(set(running_ovs_ports) - set(ovs_ports)) + diff --git a/debian/patches/series b/debian/patches/series index e57723c..e6a1270 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,5 +1,6 @@ extra/0001-ovs-ovs-ports-condone-regex.patch extra/0002-nllistener-increase-buffer.patch +extra/0003-ovs-multiple-ovsport.patch pve/0001-don-t-remove-tap-veth-fwpr-interfaces-from-bridge-on.patch pve/0002-add-dummy-mtu-bridgevlanport-modules.patch pve/0003-allow-vlan-subinterface-in-a-vlan-aware-bridge.patch -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel