Skip to content

Commit 9c64ecc

Browse files
committed
cnetlink: notify about updated ageing time
Signed-off-by: Jonas Gorski <[email protected]>
1 parent a0e764e commit 9c64ecc

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

src/netlink/cnetlink.cc

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1650,11 +1650,25 @@ void cnetlink::link_updated(rtnl_link *old_link, rtnl_link *new_link) noexcept {
16501650
bond->update_lag(old_link, new_link);
16511651
break;
16521652
case LT_VRF: // No need to care about the vrf interface itself
1653-
case LT_BRIDGE:
1654-
VLOG(2) << __FUNCTION__
1655-
<< ": ignoring update (not supported) of old_lt=" << lt_old
1656-
<< " old link: " << old_link << ", new link: " << new_link;
16571653
break;
1654+
case LT_BRIDGE: {
1655+
uint32_t old_ageing_time, new_ageing_time;
1656+
1657+
if (rtnl_link_bridge_get_ageing_time(old_link, &old_ageing_time))
1658+
old_ageing_time = 0;
1659+
if (rtnl_link_bridge_get_ageing_time(new_link, &new_ageing_time))
1660+
new_ageing_time = 0;
1661+
1662+
if (!bridge || !bridge->is_bridge_interface(new_link)) {
1663+
VLOG(1) << __FUNCTION__ << ": ignoring update on untracked bridge "
1664+
<< new_link;
1665+
break;
1666+
}
1667+
1668+
if (old_ageing_time != new_ageing_time && new_ageing_time > 0)
1669+
bridge->set_ageing_time(new_ageing_time);
1670+
1671+
} break;
16581672
default:
16591673
if (port_id > 0) {
16601674
if (lt_new == LT_BOND_SLAVE) {

0 commit comments

Comments
 (0)