Fix midplane network in bookworm with kernel 6.1
Signed-off-by: Ze Gan <ganze718@gmail.com>
This commit is contained in:
parent
2c796732b0
commit
764d019fb7
@ -633,16 +633,20 @@ sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable config-chassisdb.service
|
||||
# Copy midplane network service file for smart switch
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/bridge-midplane.netdev $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_NETWORK/bridge-midplane.netdev
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/bridge-midplane.network $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_NETWORK/bridge-midplane.network
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/dummy-midplane.netdev $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_NETWORK/dummy-midplane.netdev
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/dummy-midplane.network $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_NETWORK/dummy-midplane.network
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/midplane-network-npu.network $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_NETWORK/midplane-network-npu.network
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/midplane-network-dpu.network $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_NETWORK/midplane-network-dpu.network
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/midplane-network-npu.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM/midplane-network-npu.service
|
||||
sudo cp $IMAGE_CONFIGS/midplane-network/midplane-network-dpu.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM/midplane-network-dpu.service
|
||||
|
||||
# Disable smart switch unit by default, these units will be controlled by systemd-sonic-generator
|
||||
sudo ln -s /dev/null /etc/systemd/network/bridge-midplane.netdev
|
||||
sudo ln -s /dev/null /etc/systemd/network/bridge-midplane.network
|
||||
sudo ln -s /dev/null /etc/systemd/network/midplane-network-npu.network
|
||||
sudo ln -s /dev/null /etc/systemd/network/midplane-network-dpu.network
|
||||
sudo ln -s /dev/null $FILESYSTEM_ROOT/etc/systemd/network/bridge-midplane.netdev
|
||||
sudo ln -s /dev/null $FILESYSTEM_ROOT/etc/systemd/network/bridge-midplane.network
|
||||
sudo ln -s /dev/null $FILESYSTEM_ROOT/etc/systemd/network/dummy-midplane.netdev
|
||||
sudo ln -s /dev/null $FILESYSTEM_ROOT/etc/systemd/network/dummy-midplane.network
|
||||
sudo ln -s /dev/null $FILESYSTEM_ROOT/etc/systemd/network/midplane-network-npu.network
|
||||
sudo ln -s /dev/null $FILESYSTEM_ROOT/etc/systemd/network/midplane-network-dpu.network
|
||||
echo "midplane-network-npu.service" | sudo tee -a $GENERATED_SERVICE_FILE
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT systemctl disable midplane-network-npu.service
|
||||
echo "midplane-network-dpu.service" | sudo tee -a $GENERATED_SERVICE_FILE
|
||||
@ -652,6 +656,7 @@ sudo LANG=C chroot $FILESYSTEM_ROOT systemctl disable midplane-network-dpu.servi
|
||||
sudo sed -i 's/#ManageForeignRoutingPolicyRules=yes/ManageForeignRoutingPolicyRules=no/g' $FILESYSTEM_ROOT/etc/systemd/networkd.conf
|
||||
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable systemd-networkd
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT systemctl disable systemd-networkd-wait-online.service
|
||||
|
||||
# Copy backend-acl script and service file
|
||||
sudo cp $IMAGE_CONFIGS/backend_acl/backend-acl.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM/backend-acl.service
|
||||
|
@ -1,7 +1,8 @@
|
||||
# Midplane network for NPU
|
||||
# Network configuration for bridge midplane
|
||||
|
||||
[Match]
|
||||
Name=bridge-midplane
|
||||
|
||||
[Network]
|
||||
Address=169.254.200.254/24
|
||||
LinkLocalAddressing=no
|
||||
|
@ -0,0 +1,5 @@
|
||||
# Dummy interface for midplane network
|
||||
|
||||
[NetDev]
|
||||
Name=dummy-midplane
|
||||
Kind=dummy
|
@ -0,0 +1,8 @@
|
||||
# The systemd-networkd requires that the bridge interface(bridge-midplane) has at least one member interface, otherwise the IP address will not be configured.
|
||||
# This dummy interface will be added into the bridge-midplane as a member to guarantee the IP address configuration correctly.
|
||||
|
||||
[Match]
|
||||
Name=dummy-midplane
|
||||
|
||||
[Network]
|
||||
Bridge=bridge-midplane
|
@ -391,9 +391,9 @@ class SsgMainTest : public SsgFunctionTest {
|
||||
}
|
||||
else if (cfg.is_smart_switch_npu) {
|
||||
ASSERT_EQ(cfg.is_smart_switch_dpu, false);
|
||||
nlohmann::json::array_t dpus;
|
||||
nlohmann::json dpus;
|
||||
for (int i = 0; i < cfg.num_dpus; i++) {
|
||||
dpus.push_back(nlohmann::json::object());
|
||||
dpus["dpu" + std::to_string(i)] = nlohmann::json::object();
|
||||
}
|
||||
platform_config["DPUS"] = dpus;
|
||||
}
|
||||
@ -496,6 +496,8 @@ const std::vector<std::string>
|
||||
SsgMainTest::npu_network_service_list = {
|
||||
"bridge-midplane.netdev",
|
||||
"bridge-midplane.network",
|
||||
"dummy-midplane.netdev",
|
||||
"dummy-midplane.network",
|
||||
"midplane-network-npu.network",
|
||||
};
|
||||
|
||||
|
@ -860,10 +860,7 @@ static bool is_smart_switch_npu() {
|
||||
if (platform_info == NULL) {
|
||||
return false;
|
||||
}
|
||||
if (!json_object_object_get_ex(platform_info, "DPUS", &dpus)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return json_object_object_get_ex(platform_info, "DPUS", &dpus);
|
||||
}
|
||||
|
||||
|
||||
@ -878,11 +875,7 @@ static bool is_smart_switch_dpu() {
|
||||
if (platform_info == NULL) {
|
||||
return false;
|
||||
}
|
||||
if (!json_object_object_get_ex(platform_info, "DPU", &dpu)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return json_object_object_get_ex(platform_info, "DPU", &dpu);
|
||||
}
|
||||
|
||||
|
||||
@ -904,7 +897,10 @@ static int get_num_of_dpu() {
|
||||
if (!json_object_object_get_ex(platform_info, "DPUS", &dpus)) {
|
||||
return 0;
|
||||
}
|
||||
size_t num_dpu = json_object_array_length(dpus);
|
||||
size_t num_dpu = 0;
|
||||
json_object_object_foreach(dpus, key, val) {
|
||||
num_dpu++;
|
||||
}
|
||||
return num_dpu;
|
||||
}
|
||||
|
||||
@ -1076,6 +1072,8 @@ static int install_network_service_for_smart_switch() {
|
||||
static const char* npu_network_units[] = {
|
||||
"bridge-midplane.netdev",
|
||||
"bridge-midplane.network",
|
||||
"dummy-midplane.netdev",
|
||||
"dummy-midplane.network",
|
||||
"midplane-network-npu.network",
|
||||
NULL
|
||||
};
|
||||
|
@ -0,0 +1 @@
|
||||
../../../../files/image_config/midplane-network/dummy-midplane.netdev
|
@ -0,0 +1 @@
|
||||
../../../../files/image_config/midplane-network/dummy-midplane.network
|
Reference in New Issue
Block a user