From cc6e6b5ea317bade1e8f3f2342192deaac62d2e5 Mon Sep 17 00:00:00 2001 From: pavel-shirshov Date: Wed, 14 Nov 2018 01:14:05 -0800 Subject: [PATCH] [teamd]: Update hwaddr_orig unconditionally. (#2254) SONiC uses same mac address for both phy ports and LAGs --- .../0005-libteam-Add-warm_reboot-mode.patch | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/libteam/0005-libteam-Add-warm_reboot-mode.patch b/src/libteam/0005-libteam-Add-warm_reboot-mode.patch index d40bb9a1e0b9..2db9ceea7451 100644 --- a/src/libteam/0005-libteam-Add-warm_reboot-mode.patch +++ b/src/libteam/0005-libteam-Add-warm_reboot-mode.patch @@ -1,3 +1,25 @@ +diff --git a/libteam/ifinfo.c b/libteam/ifinfo.c +index 72155ae..44de4ca 100644 +--- a/libteam/ifinfo.c ++++ b/libteam/ifinfo.c +@@ -105,15 +105,13 @@ static void update_hwaddr(struct team_ifinfo *ifinfo, struct rtnl_link *link) + hwaddr_len = nl_addr_get_len(nl_addr); + if (ifinfo->hwaddr_len != hwaddr_len) { + ifinfo->hwaddr_len = hwaddr_len; +- if (!ifinfo->master_ifindex) +- ifinfo->orig_hwaddr_len = hwaddr_len; ++ ifinfo->orig_hwaddr_len = hwaddr_len; + set_changed(ifinfo, CHANGED_HWADDR_LEN); + } + hwaddr = nl_addr_get_binary_addr(nl_addr); + if (memcmp(ifinfo->hwaddr, hwaddr, hwaddr_len)) { + memcpy(ifinfo->hwaddr, hwaddr, hwaddr_len); +- if (!ifinfo->master_ifindex) +- memcpy(ifinfo->orig_hwaddr, hwaddr, hwaddr_len); ++ memcpy(ifinfo->orig_hwaddr, hwaddr, hwaddr_len); + set_changed(ifinfo, CHANGED_HWADDR); + } + } diff --git a/teamd/teamd.c b/teamd/teamd.c index c987333..53aec1d 100644 --- a/teamd/teamd.c