Skip to content

Update VLAN removal code to work with 5.10 kernel and newer iproute2 versions #1970

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

Merged
merged 4 commits into from
Oct 28, 2021

Conversation

saiarcot895
Copy link
Contributor

@saiarcot895 saiarcot895 commented Oct 19, 2021

There is an issue discovered by Alexander Allen where VLAN member
removal from a VLAN doesn't fully happen on a 5.10 kernel. The reason
for this is that there is a change in the output of the bridge vlan show command between the 4.19 kernel and the 5.10 kernel. To add to
this, the output is different depending on whether iproute2 4.20 or
iproute2 5.10 is installed. These output changes cause only some of the
VLAN member removal code to run; specifically, the interface will not be
the member of a VLAN anymore, but it will still be part of the bridge.

Therefore, update the code that parses the output of bridge vlan show
to handle iproute2 4.20 with 4.19 kernel, iproute2 4.20 with 5.10
kernel, and iproute2 5.10 with 5.10 kernel. This should cover all
possible combinations we'll have until all containers are on Bullseye.

Signed-off-by: Saikrishna Arcot [email protected]

What I did

Why I did it

How I verified it

Tested on virtual switch image with:

  • iproute2 4.20 with 4.19 kernel
  • iproute2 4.20 with 5.10 kernel
  • iproute2 5.10 with 5.10 kernel

Details if related

…versions

There is an issue discovered by Alexander Allen where VLAN member
removal from a VLAN doesn't fully happen on a 5.10 kernel. The reason
for this is that there is a change in the output of the `bridge vlan
show` command between the 4.19 kernel and the 5.10 kernel. To add to
this, the output is different depending on whether iproute2 4.20 or
iproute2 5.10 is installed. These output changes cause only some of the
VLAN member removal code to run; specifically, the interface will not be
the member of a VLAN anymore, but it will still be part of the bridge.

Therefore, update the code that parses the output of `bridge vlan show`
to handle iproute2 4.20 with 4.19 kernel, iproute2 4.20 with 5.10
kernel, and iproute2 5.10 with 5.10 kernel. This should cover all
possible combinations we'll have until all containers are on Bullseye.

Signed-off-by: Saikrishna Arcot <[email protected]>
Pterosaur
Pterosaur approved these changes Oct 20, 2021
@Pterosaur Pterosaur self-requested a review October 20, 2021 08:00
Pterosaur
Pterosaur previously approved these changes Oct 22, 2021
@saiarcot895
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Pterosaur Pterosaur merged commit 9ef2ba4 into sonic-net:master Oct 28, 2021
@saiarcot895 saiarcot895 deleted the bullseye-master-updates branch October 28, 2021 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants