Skip to content

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

Merged
Pterosaur merged 4 commits intosonic-net:masterfrom
saiarcot895:bullseye-master-updates
Oct 28, 2021
Merged

Update VLAN removal code to work with 5.10 kernel and newer iproute2 versions#1970
Pterosaur merged 4 commits intosonic-net:masterfrom
saiarcot895:bullseye-master-updates

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
Janetxxx pushed a commit to Janetxxx/sonic-swss that referenced this pull request Nov 10, 2025
…r iproute2 versions (sonic-net#1970)

* Update VLAN removal code to work with 5.10 kernel and newer iproute2 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]>

* Store the exit code of the bridge vlan show command.

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

* Add missing space.

Signed-off-by: Saikrishna Arcot <[email protected]>
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