]> git.puffer.fish Git - mirror/frr.git/commit
zebra: fix evpn mh bond member proto reinstall 16265/head
authorChirag Shah <chirag@nvidia.com>
Wed, 19 Jun 2024 00:21:49 +0000 (17:21 -0700)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Fri, 21 Jun 2024 06:47:48 +0000 (06:47 +0000)
commit5d659575d57ca97fbed5b4c90f4ba78385436513
treef77d99c47f5ce8d6ea9bc00bccd2eb2f8431cb1d
parent84bbd169d97bcd490d968ea39d1dc7e2c1cd64c2
zebra: fix evpn mh bond member proto reinstall

In case of EVPN MH bond, a member port going in
protodown state due to external reason (one case being linkflap),
frr updates the state correctly but upon manually
clearing external reason trigger FRR to reinstate
protodown without any reason code.

Fix is to ensure if the protodown reason was external
and new state is to have protodown 'off' then do no reinstate
protodown.

Ticket: #3947432
Testing:
switch:#ip link show swp1
4: swp1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 9216 qdisc
   pfifo_fast master bond1 state DOWN mode DEFAULT group default qlen
   1000
       link/ether 1c:34:da:2c:aa:68 brd ff:ff:ff:ff:ff:ff protodown on
       protodown_reason <linkflap>

switch:#ip link set swp1 protodown off protodown_reason linkflap off
switch:#ip link show swp1
 4: swp1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 9216 qdisc
    pfifo_fast master bond1 state DOWN mode DEFAULT group default qlen
    1000
        link/ether 1c:34:da:2c:aa:68 brd ff:ff:ff:ff:ff:ff

Signed-off-by: Chirag Shah <chirag@nvidia.com>
(cherry picked from commit e4d843b438ae7cbae89ae47af0754fb1db153c6c)
zebra/interface.c