lldpad/lldpad-0.9.41-lldpad-dcbx-dropped-ifdown-messages-breaks-module.patch
2011-04-21 09:10:21 +02:00

44 lines
1.4 KiB
Diff

From 4aac303da6286d4bc08064e70369fb1493a480a2 Mon Sep 17 00:00:00 2001
From: John Fastabend <john.r.fastabend@intel.com>
Date: Wed, 6 Apr 2011 08:48:45 -0700
Subject: [PATCH 49/51] lldpad: dcbx, dropped ifdown messages breaks module
Because link events can occasionally be lost we have made
the lldpad core handle this case assuming the modules will
initialize correctly when the ifup() routine is called even
when the corresponding ifdown() was not. The dcbx module
however was broke in this case and the result was an
uninitialized port. This patch fixes this by moving the goto
up the routine to initialize the interface even if ifdown
was skipped.
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: Petr Sabata <psabata@redhat.com>
---
lldp_dcbx.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lldp_dcbx.c b/lldp_dcbx.c
index 3f6197b..8aa0000 100644
--- a/lldp_dcbx.c
+++ b/lldp_dcbx.c
@@ -503,6 +503,7 @@ void dcbx_ifup(char *ifname)
tlvs->dcbx_st = gdcbx_subtype;
LIST_INSERT_HEAD(&dud->head, tlvs, entry);
+initialized:
dcbx_add_adapter(ifname);
/* ensure advertise bits are set consistently with enabletx */
enabletx = is_tlv_txenabled(ifname, (OUI_CEE_DCBX << 8) |
@@ -511,7 +512,6 @@ void dcbx_ifup(char *ifname)
dont_advertise_dcbx_all(ifname);
dcbx_bld_tlv(port);
-initialized:
if (get_operstate(ifname) == IF_OPER_UP)
set_hw_all(ifname);
--
1.7.4.4