Skip to content

Commit 3437e35

Browse files
[caclmgrd][chassis]: Add ip tables rules to accept internal docker
traffic from fabric asic namespaces. Signed-off-by: Suvarna Meenakshi <[email protected]>
1 parent f6ea036 commit 3437e35

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

scripts/caclmgrd

+15-11
Original file line numberDiff line numberDiff line change
@@ -135,22 +135,26 @@ class ControlPlaneAclManager(daemon_base.DaemonBase):
135135

136136
self.config_db_map[front_asic_namespace] = swsscommon.ConfigDBConnector(use_unix_socket_path=True, namespace=front_asic_namespace)
137137
self.config_db_map[front_asic_namespace].connect()
138-
self.iptables_cmd_ns_prefix[front_asic_namespace] = "ip netns exec " + front_asic_namespace + " "
139-
self.namespace_docker_mgmt_ip[front_asic_namespace] = self.get_namespace_mgmt_ip(self.iptables_cmd_ns_prefix[front_asic_namespace],
140-
front_asic_namespace)
141-
self.namespace_docker_mgmt_ipv6[front_asic_namespace] = self.get_namespace_mgmt_ipv6(self.iptables_cmd_ns_prefix[front_asic_namespace],
142-
front_asic_namespace)
138+
self.update_docker_mgmt_ip_acl(front_asic_namespace)
143139

144140
for back_asic_namespace in namespaces['back_ns']:
145141
self.update_thread[back_asic_namespace] = None
146142
self.lock[back_asic_namespace] = threading.Lock()
147143
self.num_changes[back_asic_namespace] = 0
148-
149-
self.iptables_cmd_ns_prefix[back_asic_namespace] = "ip netns exec " + back_asic_namespace + " "
150-
self.namespace_docker_mgmt_ip[back_asic_namespace] = self.get_namespace_mgmt_ip(self.iptables_cmd_ns_prefix[back_asic_namespace],
151-
back_asic_namespace)
152-
self.namespace_docker_mgmt_ipv6[back_asic_namespace] = self.get_namespace_mgmt_ipv6(self.iptables_cmd_ns_prefix[back_asic_namespace],
153-
back_asic_namespace)
144+
self.update_docket_mgmt_ip_acl(back_asic_namespace)
145+
146+
for fabric_asic_namespace in namespaces['fabric_ns']:
147+
self.update_thread[fabric_asic_namespace] = None
148+
self.lock[fabric_asic_namespace] = threading.Lock()
149+
self.num_changes[fabric_asic_namespace] = 0
150+
self.update_docket_mgmt_ip_acl(fabric_asic_namespace)
151+
152+
def update_docket_mgmt_ip_acl(self, namespace):
153+
self.iptables_cmd_ns_prefix[namespace] = "ip netns exec " + namespace + " "
154+
self.namespace_docker_mgmt_ip[namespace] = self.get_namespace_mgmt_ip(self.iptables_cmd_ns_prefix[namespace],
155+
namespace)
156+
self.namespace_docker_mgmt_ipv6[namespace] = self.get_namespace_mgmt_ipv6(self.iptables_cmd_ns_prefix[namespace],
157+
namespace)
154158

155159
def get_namespace_mgmt_ip(self, iptable_ns_cmd_prefix, namespace):
156160
ip_address_get_command = iptable_ns_cmd_prefix + "ip -4 -o addr show " + ("eth0" if namespace else "docker0") +\

0 commit comments

Comments
 (0)