-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Configure midplane interface in multi-asic namespaces on a chassis #8583
Conversation
Thanks for the PR. Could you update the PR description with more details like ip route o/p in namespace/host , arp entries learned etc on a linecard as well as supervisor card. |
@arlakshm @abdosi @minionatwork could you take a look as well |
Description updated with requested output. |
Looks good to me. |
As per discussions with Microsoft and sonic-buildimage PR8583 (sonic-net/sonic-buildimage#8583), we are renaming the midplane interface from eth0.$VLAN_ID to eth1-midplane. Change-Id: I2ae2188611a8018fc8d81ad0b3c3e1e58d6a48c3
…s DB Add code to interfaces-config.sh to configure eth1 in multi-asic containers so that they can access midplane subnet.
784144a
to
c958912
Compare
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
It looks good to me |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Is there a particular reason the midplane interface name has to be 'eth1-midplane'? Could this be platform defined in chassisd.conf and sourced in interfaces-config.sh? |
As per discussions with Microsoft and sonic-buildimage PR8583 (sonic-net/sonic-buildimage#8583), we are renaming the midplane interface from eth0.$VLAN_ID to eth1-midplane. Change-Id: I2ae2188611a8018fc8d81ad0b3c3e1e58d6a48c3
As per discussions with Microsoft and sonic-buildimage PR8583 (sonic-net/sonic-buildimage#8583), we are renaming the midplane interface from eth0.$VLAN_ID to eth1-midplane. Change-Id: I2ae2188611a8018fc8d81ad0b3c3e1e58d6a48c3
This change is to create an
eth1
interface in multi-asic namespaces on a linecard so that containers can connect to CHASSIS_APP_DBWhy I did it
Multi-asic instances running on a linecard can't connect to CHASSIS_APP_DB (running on the supervisor) because they are bridged using default docker bridge and can only access local linecard resources.
How I did it
chassisdb.conf
on a linecard will definemidplane_subnet
which is the subnet used for the internal networkmidplane_subnet
is chosen by the vendor. The only restriction is that should be a /16 subnet.chassisdb_address
inchassisdb.conf
should be part ofmidplane_subnet
.sonic-platform-modules-*
is to create aneth1-midplane
interface on the linecard that can connect to the supervisor. The IP assigned toeth1-midplane
should be part ofmidplane_subnet
and in the formX.Y.<slot id>.1
interfaces-config.sh
will create for each namespace of a multi-asic linecard (defined asNUM_ASIC > 1
andmidplane_subnet
present) an ipvlaneth1
interface that is attached toeth1-midplane
. This interface is assigned an IP in the range defined bymidplane_subnet
(i.e.X.Y.<slot id>.(10 + namespace id)
)To allow using a
midplane_subnet
in the127.X.Y.Z/16
range, we change the loopback address of the namespacelo
interface to127.0.0.1/16
(default is/8
). This step is already done on the host as per PR5353.When
midplane_subnet
is in the127.X.Y.Z/16
range, we enable routing on local network so that127/16
can be used.How to verify it
Loopback address of a namespace changed to 127.0.0.1/16:
New
eth1
interface of asic0 namespace on a linecard in slot 6:New
eth1
interface of asic1 namespace on a linecard in slot 6:Check connectivity from namespace asic0 to CHASSIS_APP_DB:
Additional outputs from
ip route
andarp
commands:ip route
output from the linecard:ip route
output from namespace asic0:ip route
output from namespace asic1:arp entries learned on linecard:
arp entries learned on supervisor (arp entries of docker containers removed for clarity):
Which release branch to backport (provide reason below if selected)
Description for the changelog
Configure midplane interface in multi-asic namespaces on a chassis