Commit Graph

36 Commits

Author SHA1 Message Date
Wolfgang Bumiller
807d94bb2e Fix #908: cleanup OVS ports in tap_unplug
tap_unplug() is only called in hotplugging functions which
perform a tap_plug() afterwards, and and in qemu-server's
bridge-down script.
The OVS port cleanup for non-firewall ports was done only in
tap_plug(), which means that in the case when qemu exits and
the tap device disappears, the OVS port for it stays.

With this patch the cleanup happens in both tap_unplug() and
tap_plug() to avoid problems with upgrades on systems
where there have already been ports leaked.
2016-04-13 06:40:21 +02:00
Wolfgang Bumiller
3f9e278c2e network: tap_rate_limit: fix uninitialized value 2016-03-09 12:38:31 +01:00
Wolfgang Bumiller
683d81c2a2 net: tap_plug() needs to apply rate limiting
Any action we take in tap_plug() when using OVS will undo
our rate limiting, which means any hotplug change must
restore the previous rate setting.
Since this means tap_plug() would always be followed by a
tap_rate_limit() call anyway we just include the rate
parameter here and let the caller decide whether the full
tap_plug() is required or the simple tap_rate_limit()
suffices.
2016-03-09 12:38:21 +01:00
Alexandre Derumier
ac3a04b8f5 create_firewall_bridge_ovs : activate ovsint interface
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-12-11 06:35:40 +01:00
Dietmar Maurer
6c80e6d615 add 'noerr' parameter to parse_tap_devive_name()
And simply ignore devices with random names in cleanup_firewall_bridge().
2014-05-16 11:14:47 +02:00
Dietmar Maurer
f193aa7403 add additional comment 2014-05-14 07:18:17 +02:00
Alexandre Derumier
7d78a966e5 rename link to fwln && link peer to fwpr
also plug fwpr to vmbr, and fwln to fwbr

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-05-14 07:15:34 +02:00
Dietmar Maurer
47c710a624 we need to match link+ rule from iptables rules, and need to have a name different
than link(\d+)i(\d+), for distinguished bridge/ovs interface unplug

Based on patch from Alexandre, but I prefer "link${vmid}o${devid}"
2014-05-13 14:33:49 +02:00
Dietmar Maurer
70ab4434cd add firewall bridge support for openvswitch
eth0-->vmbr0--vlan--fwintXiY-->fwbr-->tapXiY (firewalled tap)
                --vlan-->tapXiY (non firewall tap)

This is based on patches from Alexandre, but tries to factor out
common code into privat methods.
2014-05-08 13:07:52 +02:00
Dietmar Maurer
605bb891dd add firewall bridge support for linux bridge
eth0----->vmbr0
    eth0.94-->vmbr0v94<--tapXiY (non firewalled tap)
                      <--linkXiY-->linkXpY-->fwbrXiY-->tapXiY (firewalled tap)

This is based on patches from Alexandre, but tries to factor out
common code into privat methods.
2014-05-08 12:00:21 +02:00
Dietmar Maurer
2db1cc0de9 tap_unplug: auto-detect bridge, improve error messages
Based on patch sent by Alexandre.
2014-05-08 09:09:56 +02:00
Dietmar Maurer
5ffa7628c5 dont use undefined var $ifcount 2014-03-19 06:50:47 +01:00
Pablo Ruiz Garcia
c9030d977c Delayed vlan interface creation until all checks are done.
Signed-off-by: Pablo Ruiz Garcia <pablo.ruiz@gmail.com>
2014-03-19 06:47:03 +01:00
Pablo Ruiz Garcia
eee4b32a65 Handle cases where the vlan bridge has already been setup previouslly.
Signed-off-by: Pablo Ruiz Garcia <pablo.ruiz@gmail.com>
2014-03-19 06:43:23 +01:00
Pablo Ruiz Garcia
70d89745ca Add support for bridges with more than one physical link (ie. two bonds each connected to a different switch using MSTP/PVSTP to load balance vlans across links)
Signed-off-by: Pablo Ruiz Garcia <pablo.ruiz@gmail.com>
2014-03-19 06:33:24 +01:00
Dietmar Maurer
aec048035e use full name for PVE::ProcFSTools::write_proc_entry() 2014-02-26 07:57:48 +01:00
Dietmar Maurer
0758d0928c correctly copy bridge config
Simply use IO::File to write /proc/xyz files instead of running
external program using system("echo ...") (which fails when running
in perl taint mode).
2014-02-26 07:47:10 +01:00
Dietmar Maurer
098795e0f8 cleanup coding style 2013-12-21 07:00:30 +01:00
Alexandre Derumier
4cbabd40a7 add openvswitch support to tap_plug / tap_unplug
Note: I force removal of openvswitch tap configuration at begin of tap_plug,
because openvswitch don't auto-delete tap config on tap interface deletion.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-12-19 12:43:03 +01:00
Dietmar Maurer
c36f332e32 use warnings everywhere. 2013-10-01 13:19:38 +02:00
Dietmar Maurer
9e14b1b78a fix path for brctl to /sbin/brctl 2013-03-15 10:34:51 +01:00
Alexandre Derumier
ba4af65b35 copy_bridge : copy multicast_snooping && multicast_querier
If we create new vlan bridge, we want to copy multicast options if user have tunned them

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-15 06:23:20 +01:00
Alexandre Derumier
d6f2623bb9 fix return !$rate
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-07 08:33:34 +01:00
Alexandre Derumier
a84b65c0da network : add tap_unplug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-05 12:03:52 +01:00
Alexandre Derumier
f0c190eebe network : add tap_plug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-05 12:02:23 +01:00
Alexandre Derumier
3aa99c7006 network: add tap_create
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-05 11:59:53 +01:00
Alexandre Derumier
957753df14 setup_tc_rate_limit : delete class and filter before update
also return after remove if rate is not defined

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-05 11:59:11 +01:00
Alexandre Derumier
edde1d4650 setup_tc_rate_limit : fix typo ingres -> ingress
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-05 11:48:16 +01:00
Alexandre Derumier
ec9ada188b Network : add tap_rate_limit
Moved from pve-bridge

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-05 11:48:02 +01:00
Dietmar Maurer
02c9a6b439 Revert "pve-common: PVE/Network: rework of activate_bridge_vlan"
This reverts commit fa49ab1a08.

This still cause problems with bonding device. Nobody really knows
whats wrong. Also, this is not fully compatible with existing setups.
2013-02-13 10:53:49 +01:00
Dietmar Maurer
0aaf0ca4bf revert tc rate filter changes 2013-02-01 10:13:11 +01:00
Stefan Priebe
fa49ab1a08 pve-common: PVE/Network: rework of activate_bridge_vlan
- use ip command instead of old vconfig
- activate gvrp by default (it doesn't harm if the switch does not support it or it is disabled)
- use bridge instead of raw ethernet device as vlan bridge

Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-01-28 11:55:37 +01:00
Dietmar Maurer
ca402c9521 fix syntax error 2013-01-28 11:23:39 +01:00
Dietmar Maurer
fb572a9395 tc: use rate filter with mtu 64k
also see: http://www.redhat.com/archives/libvir-list/2012-June/msg01306.html
2013-01-28 07:00:04 +01:00
Dietmar Maurer
74d1b045bd new function to setup tc rate limits. 2012-03-28 10:35:41 +02:00
Dietmar Maurer
b9436cda61 add vlan setup code to PVE::Network 2012-03-28 10:24:28 +02:00