Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zebra: fix evpn mh bond member proto reinstall #16252

Merged
merged 1 commit into from
Jun 21, 2024

Conversation

chiragshah6
Copy link
Member

@chiragshah6 chiragshah6 commented Jun 19, 2024

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.

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

@ton31337
Copy link
Member

@Mergifyio backport dev/10.1 stable/10.0 stable/9.1

Copy link

mergify bot commented Jun 20, 2024

backport dev/10.1 stable/10.0 stable/9.1

✅ Backports have been created

zebra/interface.c Outdated Show resolved Hide resolved
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>
@chiragshah6 chiragshah6 requested a review from ton31337 June 20, 2024 22:51
@ton31337 ton31337 merged commit bf5f0f1 into FRRouting:master Jun 21, 2024
10 checks passed
ton31337 added a commit that referenced this pull request Jun 21, 2024
zebra: fix evpn mh bond member proto reinstall (backport #16252)
ton31337 added a commit that referenced this pull request Jun 21, 2024
zebra: fix evpn mh bond member proto reinstall (backport #16252)
ton31337 added a commit that referenced this pull request Jun 22, 2024
zebra: fix evpn mh bond member proto reinstall (backport #16252)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants