Updates and fixes for upcoming Bullseye changes#8883
Updates and fixes for upcoming Bullseye changes#8883saiarcot895 wants to merge 3 commits intosonic-net:masterfrom
Conversation
Update the repos for amd64, and add support for at least arm64. Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
The common startup script used for SONiC containers is calling an inline python command that uses Python 2 syntax, and thus errors out when run with Python 3. Make this work with Python 3. Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
There is an issue discovered by Alexander Allen where manually removing
an interface from a vlan doesn't appear to fully remove it from the
vlan. If the `bridge vlan del` command (from iproute2 version 4.20) is
used to manually remove an interface from a vlan, then running `bridge
vlan show` afterwards still lists that interface, but with no vlan ID,
suggesting it's not fully removed from that vlan. Using the `bridge`
command from iproute version 5.10 removes it cleanly, suggesting that
it's some issue between the iproute2 4.20 package and the 5.10 kernel.
To fix this issue, in all Buster-based docker containers, use iproute2
5.10 from the backports section of Buster. This ensures that all of the
containers have a fully functional version of iproute2 available.
Working test case:
```
admin@vlab-01:~$ sudo config vlan add 50
admin@vlab-01:~$ sudo config vlan member add 50 Ethernet4
admin@vlab-01:~$ sudo bridge vlan show dev Ethernet4
port vlan-id
Ethernet4 50
admin@vlab-01:~$ docker exec -it swss bash
root@vlab-01:/# apt-cache policy iproute2
iproute2:
Installed: 5.10.0-4~bpo10+1
Candidate: 5.10.0-4~bpo10+1
Version table:
*** 5.10.0-4~bpo10+1 100
100 http://debian-archive.trafficmanager.net/debian buster-backports/main amd64 Packages
100 http://packages.trafficmanager.net/debian/debian buster-backports/main amd64 Packages
100 /var/lib/dpkg/status
5.9.0-1~bpo10+1 100
100 http://packages.trafficmanager.net/debian/debian buster-backports/main amd64 Packages
4.20.0-2+deb10u1 500
500 http://debian-archive.trafficmanager.net/debian buster/main amd64 Packages
500 http://packages.trafficmanager.net/debian/debian buster/main amd64 Packages
4.20.0-2 500
500 http://packages.trafficmanager.net/debian/debian buster/main amd64 Packages
root@vlab-01:/# bridge vlan del vid 50 dev Ethernet4
root@vlab-01:/# bridge vlan show dev Ethernet4
port vlan-id
root@vlab-01:/#
```
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
| # for sairedis zmq rpc channel | ||
| libzmq5 | ||
|
|
||
| # Install 5.10 version of iproute2 from backports |
Could you explain the "future compatibility issue" ? |
Hmm, I thought my changes fixed the issue, but taking another look at it, there's more to it. Assume that Ethernet0 currently belongs to VLAN 50. On a 5.10 kernel, when manually removing an interface from a VLAN with tools from iproute2 4.19 (the version of iproute2 that would be present in the swss docker), it doesn't look like that VLAN membership is fully removed/cleaned up. Instead, the output of the bridge command inside the swss docker (after removing the VLAN membership using The interface is still assigned to the master When running the I took this to mean some interpretation issue with the iproute2 4.19 package and the information that the 5.10 kernel gives it, but the actual issue is that on the 5.10 kernel, iproute2 4.19 won't show the This leads me to think that vlanmgr's code may need to be changed here instead. |
|
The VLAN/bridge issue will be handled in sonic-net/sonic-swss#1970. Once that is merged, I'll update this PR. |
|
Closing this PR since #8191 will be bringing in these changes in a few days. |
Why I did it
How I did it
How to verify it
Which release branch to backport (provide reason below if selected)
Description for the changelog
A picture of a cute animal (not mandatory but encouraged)