diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 8669130927b..459ed79135b 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -718,9 +718,10 @@ sudo cp $IMAGE_CONFIGS/backend_acl/backend-acl.service $FILESYSTEM_ROOT_USR_LIB_ sudo cp $IMAGE_CONFIGS/backend_acl/backend_acl.py $FILESYSTEM_ROOT/usr/bin/backend_acl.py echo "backend-acl.service" | sudo tee -a $GENERATED_SERVICE_FILE -# Copy RPS script file +# Copy RPS script and service file sudo cp $IMAGE_CONFIGS/rps/rps.py $FILESYSTEM_ROOT/usr/bin/rps.py sudo chmod 755 $FILESYSTEM_ROOT/usr/bin/rps.py +sudo cp $IMAGE_CONFIGS/rps/configure-rps@.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM/configure-rps@.service # Copy SNMP configuration files sudo cp $IMAGE_CONFIGS/snmp/snmp.yml $FILESYSTEM_ROOT/etc/sonic/ diff --git a/files/image_config/rps/configure-rps@.service b/files/image_config/rps/configure-rps@.service new file mode 100644 index 00000000000..286b639f3c2 --- /dev/null +++ b/files/image_config/rps/configure-rps@.service @@ -0,0 +1,8 @@ +[Unit] +Description=Configure RPS for %i +After=warmboot-finalizer.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/rps.py %i + diff --git a/files/image_config/udev/rules.d/99-rps.rules b/files/image_config/udev/rules.d/99-rps.rules index 2e98cfe7e07..ac621ea4a8d 100644 --- a/files/image_config/udev/rules.d/99-rps.rules +++ b/files/image_config/udev/rules.d/99-rps.rules @@ -1 +1 @@ -ACTION=="add", SUBSYSTEM=="net", KERNEL=="Ethernet*", RUN+="/usr/bin/rps.py %k" +ACTION=="add", SUBSYSTEM=="net", KERNEL=="Ethernet*", TAG+="systemd", ENV{SYSTEMD_WANTS}="configure-rps@%k.service"