Debian Bug report logs -
#469098
vde2: vde_switch doesn't handle correctly mac-addresses migrating between switch ports
Reported by: Andrzej Lemieszek <agl@unx.lublin.pl>
Date: Mon, 3 Mar 2008 01:39:05 UTC
Severity: normal
Tags: fixed-upstream, patch
Found in version vde2/2.2.0-pre2-1
Fixed in version vde2/2.2.1-1
Done: Filippo Giunchedi <filippo@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, andrzej.lemieszek@atm.com.pl, Debian VSquare Team <pkg-vsquare-devel@lists.alioth.debian.org>:
Bug#469098; Package vde2.
(full text, mbox, link).
Acknowledgement sent to Andrzej Lemieszek <agl@unx.lublin.pl>:
New Bug report received and forwarded. Copy sent to andrzej.lemieszek@atm.com.pl, Debian VSquare Team <pkg-vsquare-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Package: vde2
Version: 2.2.0-pre2-1
Severity: normal
Tags: patch
Function find_in_hash_update in the vde_switch hash.c code contains a kind of
protection against switch port flapping (resulting e.g. from switch
loops or duplicate mac-addressess). When switch code detects that
mac-address already assigned to old switch port appears on another
switch port in the time shorter then min_persistence (default: 3) seconds,
since it was last_seen on the old port, it doesn't modify port field
in the hash entry for this mac. This code contains bug because
- after skipping hash change it updates last_seen variable with the
new timestamp, so the min_persistence time has to be counted from the
beginning - and - in result - mac-address can't move between ports.
This bug makes vde_switch totally unusable with testing virtual router redundancy
implementations like CARP or VRRP, which assign virtual mac-address to
master router and send it's advertising frames very frequently (by
default - every 1 second). After changing the master router,
frames can't reach the new router, which sends its advertisments all
the time and doesn't allow old port to expire:
Mar 2 22:00:41 sierra vde_switch[26171]: MAC 00:00:5e:00:01:05 moved from port 12 to port 11
Mar 2 22:00:41 sierra vde_switch[26171]: MAC 00:00:5e:00:01:06 moved from port 12 to port 11
Mar 2 22:00:42 sierra vde_switch[26171]: MAC 00:00:5e:00:01:05 moved from port 12 to port 11
Mar 2 22:00:42 sierra vde_switch[26171]: MAC 00:00:5e:00:01:06 moved from port 12 to port 11
Mar 2 22:00:43 sierra vde_switch[26171]: MAC 00:00:5e:00:01:05 moved from port 12 to port 11
Mar 2 22:00:43 sierra last message repeated 2 times
....
but the hash table remains the same:
vde$ hash/print
0000 DATA END WITH '.'
Hash: 0021 Addr: 00:00:5e:00:01:05 VLAN 0005 to port: 012 age 0 secs
Hash: 0025 Addr: 00:00:5e:00:01:06 VLAN 0006 to port: 012 age 0 secs
...
The solution is simply not updating last_seen hash entry field, when
the port change is skipped (see attached patch), - it makes
vde_switch usable with virtual routers, But for the future this code
needs a bit more cleaning.
--
Andrzej Lemieszek <agl@unx.lublin.pl>
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.22-3-686 (SMP w/2 CPU cores)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages vde2 depends on:
ii adduser 3.105 add and remove users and groups
ii libc6 2.7-3 GNU C Library: Shared libraries
ii libpcap0.8 0.9.8-2 System interface for user-level pa
ii libvdemgmt0 2.2.0-pre2-1 Virtual Distributed Ethernet - Man
ii libvdeplug2 2.2.0-pre2-1 Virtual Distributed Ethernet - Plu
Versions of packages vde2 recommends:
pn daemon <none> (no description available)
-- no debconf information
[hash.c.diff (text/plain, attachment)]
Information forwarded to debian-bugs-dist@lists.debian.org, Debian VSquare Team <pkg-vsquare-devel@lists.alioth.debian.org>:
Bug#469098; Package vde2.
(full text, mbox, link).
Acknowledgement sent to Filippo Giunchedi <filippo@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian VSquare Team <pkg-vsquare-devel@lists.alioth.debian.org>.
(full text, mbox, link).
Message #10 received at 469098@bugs.debian.org (full text, mbox, reply):
# Automatically generated email from bts, devscripts version 2.10.29
#
# vde2 (2.2.1-1) UNRELEASED; urgency=low
#
# * New upstream release
# - fix vlan commands on amd64 (Closes: #484295)
# - fix mac addresses switch between ports (Closes: #469098)
#
package libvdemgmt0 libvdeplug2 vde2-cryptcab vde libvdeplug2-dev vde2 libvdemgmt0-dev
tags 484295 + pending
tags 469098 + pending
Tags added: pending
Request was from Filippo Giunchedi <filippo@debian.org>
to control@bugs.debian.org.
(Sun, 15 Jun 2008 16:48:08 GMT) (full text, mbox, link).
Tags added: fixed-upstream
Request was from Ludovico Gardenghi <garden@acheronte.it>
to control@bugs.debian.org.
(Sun, 15 Jun 2008 16:57:02 GMT) (full text, mbox, link).
Reply sent to Filippo Giunchedi <filippo@debian.org>:
You have taken responsibility.
(full text, mbox, link).
Notification sent to Andrzej Lemieszek <agl@unx.lublin.pl>:
Bug acknowledged by developer.
(full text, mbox, link).
Message #19 received at 469098-close@bugs.debian.org (full text, mbox, reply):
Source: vde2
Source-Version: 2.2.1-1
We believe that the bug you reported is fixed in the latest version of
vde2, which is due to be installed in the Debian FTP archive:
libvdemgmt0-dev_2.2.1-1_amd64.deb
to pool/main/v/vde2/libvdemgmt0-dev_2.2.1-1_amd64.deb
libvdemgmt0_2.2.1-1_amd64.deb
to pool/main/v/vde2/libvdemgmt0_2.2.1-1_amd64.deb
libvdeplug2-dev_2.2.1-1_amd64.deb
to pool/main/v/vde2/libvdeplug2-dev_2.2.1-1_amd64.deb
libvdeplug2_2.2.1-1_amd64.deb
to pool/main/v/vde2/libvdeplug2_2.2.1-1_amd64.deb
vde2-cryptcab_2.2.1-1_amd64.deb
to pool/main/v/vde2/vde2-cryptcab_2.2.1-1_amd64.deb
vde2_2.2.1-1.diff.gz
to pool/main/v/vde2/vde2_2.2.1-1.diff.gz
vde2_2.2.1-1.dsc
to pool/main/v/vde2/vde2_2.2.1-1.dsc
vde2_2.2.1-1_amd64.deb
to pool/main/v/vde2/vde2_2.2.1-1_amd64.deb
vde2_2.2.1.orig.tar.gz
to pool/main/v/vde2/vde2_2.2.1.orig.tar.gz
vde_2.2.1-1_all.deb
to pool/main/v/vde2/vde_2.2.1-1_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 469098@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Filippo Giunchedi <filippo@debian.org> (supplier of updated vde2 package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Tue, 17 Jun 2008 15:36:32 +0200
Source: vde2
Binary: vde2 vde vde2-cryptcab libvdeplug2-dev libvdeplug2 libvdemgmt0-dev libvdemgmt0
Architecture: source amd64 all
Version: 2.2.1-1
Distribution: unstable
Urgency: low
Maintainer: Debian VSquare Team <pkg-vsquare-devel@lists.alioth.debian.org>
Changed-By: Filippo Giunchedi <filippo@debian.org>
Description:
libvdemgmt0 - Virtual Distributed Ethernet - Management console library
libvdemgmt0-dev - Virtual Distributed Ethernet - Mgmt console development files
libvdeplug2 - Virtual Distributed Ethernet - Plug library
libvdeplug2-dev - Virtual Distributed Ethernet - Plug development files
vde - transitional dummy package which can be safely removed
vde2 - Virtual Distributed Ethernet
vde2-cryptcab - Virtual Distributed Ethernet - CryptCab
Closes: 466363 469098 484295
Changes:
vde2 (2.2.1-1) unstable; urgency=low
.
* New upstream release
- fix vlan commands on amd64 (Closes: #484295)
- fix mac addresses switch between ports (Closes: #469098)
* Suggest: qemu and kvm as requested in #461514
* Expand and spell-check README.Debian, add manual method example
(Closes: #466363)
* Do not assume MAKEDEV presence in postinst
* Remove /usr/bin/daemon usage from ifupdown scripts (and Recommends)
* Add manpage for vde_tunctl
* Upgrade to S-V 3.8.0 (add Homepage field)
Checksums-Sha1:
4f16a0602a5fccb780bd8d565c91bcfa55a59add 1377 vde2_2.2.1-1.dsc
86aba07f3a9dd5c0906433d80ae6acf3755d3e61 658805 vde2_2.2.1.orig.tar.gz
6f4239e67235746abfc94a57868bcfd79d4ebf2e 11910 vde2_2.2.1-1.diff.gz
bc3c8d096558d76640eccb8a81c55d1a28842d63 198746 vde2_2.2.1-1_amd64.deb
01067d0bbe256ebfa79d63bbb886424010d7ef94 4524 vde_2.2.1-1_all.deb
371c355087337f047bd9745a722e03f72db4d2a7 16290 vde2-cryptcab_2.2.1-1_amd64.deb
09d00c47fbeade6135280885dd84fd0abf8194ca 12366 libvdeplug2-dev_2.2.1-1_amd64.deb
8becd5eefa8ce4196dddce2c506ec341aad4349c 11352 libvdeplug2_2.2.1-1_amd64.deb
5ad3f86cd3754a984e1ccb31baecc393ada2ec29 13568 libvdemgmt0-dev_2.2.1-1_amd64.deb
49690760f5f006d3b1dbff91b07a548333a69e36 12466 libvdemgmt0_2.2.1-1_amd64.deb
Checksums-Sha256:
5ea7d654d343b39732f7b1710c9eb4d04112850e796f6592c2a460ca88dde872 1377 vde2_2.2.1-1.dsc
8908ad37457fd0c49524844ac1a713410daae55ac8aa286a6d59df0428fc83bb 658805 vde2_2.2.1.orig.tar.gz
8970f6e79aaaed9b8a7131c50da2e11923a9ee99162de05277698a3dc2244945 11910 vde2_2.2.1-1.diff.gz
cac52ed791f34222d0b4d2157da9beb79884855cd476115751f1078d8bfdbe9c 198746 vde2_2.2.1-1_amd64.deb
7196834d512e7f88ab35b8706f8185ac6877f3bca814b26674f8640f96cc073f 4524 vde_2.2.1-1_all.deb
bd982c84608d49b395eca308ae35bc60dd1dca4352ffe1b5d8cb9fd876687250 16290 vde2-cryptcab_2.2.1-1_amd64.deb
379f9c75b7a68619938253a2e4747bc359e75bfdd2ac48a00e3deb7a28a25a58 12366 libvdeplug2-dev_2.2.1-1_amd64.deb
95737f58867e825a2c1187ce3a7fec08cc4d52e9a03bd22e30ae4c0e71072f4e 11352 libvdeplug2_2.2.1-1_amd64.deb
aceebb742dc72cda7d31d850a7016e127838ec99eb2471fad31052c97040c226 13568 libvdemgmt0-dev_2.2.1-1_amd64.deb
a1d6f184d465a492954131cec31f6145b2817eba49849ea3ce216d0eb901788d 12466 libvdemgmt0_2.2.1-1_amd64.deb
Files:
daabaa9178c55a2bd888c89766cf38d4 1377 net optional vde2_2.2.1-1.dsc
682489504dbbf4acbf332de7b739078f 658805 net optional vde2_2.2.1.orig.tar.gz
96d8fa983d4732f0aaace2e4ab5d01f0 11910 net optional vde2_2.2.1-1.diff.gz
74f80001a55d9415fceba82e6a4ecac2 198746 net optional vde2_2.2.1-1_amd64.deb
fef7925a1a16f42ed8d006eae44328a8 4524 net optional vde_2.2.1-1_all.deb
2690e7eb19c3f3f7af440d9eb9a7d391 16290 net optional vde2-cryptcab_2.2.1-1_amd64.deb
259891517af3db2d44ba8a0611aa5788 12366 libdevel optional libvdeplug2-dev_2.2.1-1_amd64.deb
674c41c3fe5d00da0f3862287917e04d 11352 libs optional libvdeplug2_2.2.1-1_amd64.deb
6519abc7b7d51b6a07f77b107f96bc1e 13568 libdevel optional libvdemgmt0-dev_2.2.1-1_amd64.deb
21a7329fdef3cc200a917e3f008c6af7 12466 libs optional libvdemgmt0_2.2.1-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkhX9YcACgkQABzeamt51AGzhwCeP2KQt+r+sivLA2MeLxaTl2M5
KpwAn0QPBg21uoMhA9T4CzMzv/COi80i
=GsL0
-----END PGP SIGNATURE-----
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Sun, 27 Jul 2008 07:35:46 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Sun Jul 2 03:59:26 2023;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.