From 4bec4164afc193210a1cab778fd4cd898fb62130 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Wed, 24 Nov 2021 20:05:35 +0000 Subject: [PATCH 1/3] [mux]: Fix systemd service file Signed-off-by: Lawrence Lee --- files/build_templates/mux.service.j2 | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/files/build_templates/mux.service.j2 b/files/build_templates/mux.service.j2 index eb9ea1d33396..abc04ab30d18 100644 --- a/files/build_templates/mux.service.j2 +++ b/files/build_templates/mux.service.j2 @@ -10,20 +10,11 @@ StartLimitBurst=3 [Service] User={{ sonicadmin_user }} ExecStartPre=/usr/local/bin/write_standby.py -ExecStartPre=/usr/bin/{{docker_container_name}}.sh start -ExecStart=/usr/bin/{{docker_container_name}}.sh wait -ExecStop=/usr/bin/{{docker_container_name}}.sh stop -ExecStopPost=/usr/local/bin/write_standby.py -Restart=always -RestartSec=30 - -[Service] -User={{ sonicadmin_user }} ExecStartPre=/usr/local/bin/mark_dhcp_packet.py ExecStartPre=/usr/bin/{{docker_container_name}}.sh start ExecStart=/usr/bin/{{docker_container_name}}.sh wait ExecStop=/usr/bin/{{docker_container_name}}.sh stop -ExecStopPost=/usr/local/bin/mark_dhcp_packet.py +ExecStopPost=/usr/local/bin/write_standby.py Restart=always RestartSec=30 From 25a2479ca50aa040d673ee947184821f11f73b3e Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Wed, 24 Nov 2021 20:10:21 +0000 Subject: [PATCH 2/3] [dhcp]: Make `mark_dhcp_packet.py` executable Signed-off-by: Lawrence Lee --- files/scripts/mark_dhcp_packet.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 files/scripts/mark_dhcp_packet.py diff --git a/files/scripts/mark_dhcp_packet.py b/files/scripts/mark_dhcp_packet.py old mode 100644 new mode 100755 From 921091a0c35f4c50ca91dba607056f5561a2853b Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Wed, 24 Nov 2021 20:15:57 +0000 Subject: [PATCH 3/3] [dhcp]: Cleanup `mark_dhcp_packet.py` formatting Signed-off-by: Lawrence Lee --- files/scripts/mark_dhcp_packet.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/files/scripts/mark_dhcp_packet.py b/files/scripts/mark_dhcp_packet.py index 937447d2ceea..c80810f0316b 100755 --- a/files/scripts/mark_dhcp_packet.py +++ b/files/scripts/mark_dhcp_packet.py @@ -1,15 +1,13 @@ #!/usr/bin/env python3 -import os import subprocess -import sys -import time from sonic_py_common import logger from swsscommon import swsscommon log = logger.Logger('mark_dhcp_packet') + class MarkDhcpPacket(object): """ Class used to configure dhcp packet mark in ebtables @@ -38,7 +36,9 @@ def state_db(self): Initializes the connector during the first call """ if self.state_db_connector is None: - self.state_db_connector = swsscommon.SonicV2Connector(host='127.0.0.1') + self.state_db_connector = swsscommon.SonicV2Connector( + host='127.0.0.1' + ) self.state_db_connector.connect(self.state_db_connector.STATE_DB) return self.state_db_connector @@ -51,7 +51,8 @@ def is_dualtor(self): localhost_key = self.config_db.get_keys('DEVICE_METADATA')[0] metadata = self.config_db.get_entry('DEVICE_METADATA', localhost_key) - return 'subtype' in metadata and 'dualtor' in metadata['subtype'].lower() + return 'subtype' in metadata and \ + 'dualtor' in metadata['subtype'].lower() def get_mux_intfs(self): """ @@ -82,10 +83,16 @@ def clear_dhcp_packet_marks(self): self.run_command("sudo ebtables -F INPUT") def apply_mark_in_ebtables(self, intf, mark): - self.run_command("sudo ebtables -A INPUT -i {} -j mark --mark-set {}".format(intf, mark)) + self.run_command("sudo ebtables -A INPUT -i {} -j mark --mark-set {}" + .format(intf, mark)) def update_mark_in_state_db(self, intf, mark): - self.state_db.set(self.state_db.STATE_DB, 'DHCP_PACKET_MARK|' + intf, 'mark', mark) + self.state_db.set( + self.state_db.STATE_DB, + 'DHCP_PACKET_MARK|' + intf, + 'mark', + mark + ) def apply_marks(self): """ @@ -103,6 +110,7 @@ def apply_marks(self): log.log_info("Finish marking dhcp packets in ebtables.") + if __name__ == '__main__': mark_dhcp_packet = MarkDhcpPacket() mark_dhcp_packet.apply_marks()