Skip to content

Commit 323bb0c

Browse files
author
Shuotian Cheng
authored
[acl_loader]: Add support for parsing input interface (sonic-net#386)
If input_interface is set, it will be converted to IN_PORTS. format: "input-interface": { "interface-ref": { "config": { "interface": <interface_list> } } } It will be parsed and converted to: "IN_PORTS": <interface_list> as an attribute to the current ACL rule. Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
1 parent 46e03b7 commit 323bb0c

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

acl_loader/main.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ def convert_port(self, port):
305305
else:
306306
return port, False
307307

308-
def convert_transport(self, table_name, rule_idx, rule):
308+
def convert_transport(self, table_name, rule_idx, rule):
309309
rule_props = {}
310310

311311
if rule.transport.config.source_port:
@@ -340,6 +340,14 @@ def convert_transport(self, table_name, rule_idx, rule):
340340

341341
return rule_props
342342

343+
def convert_input_interface(self, table_name, rule_idx, rule):
344+
rule_props = {}
345+
346+
if rule.input_interface.interface_ref.config.interface:
347+
rule_props["IN_PORTS"] = rule.input_interface.interface_ref.config.interface
348+
349+
return rule_props
350+
343351
def convert_rule_to_db_schema(self, table_name, rule):
344352
"""
345353
Convert rules format from openconfig ACL to Config DB schema
@@ -357,6 +365,7 @@ def convert_rule_to_db_schema(self, table_name, rule):
357365
deep_update(rule_props, self.convert_l2(table_name, rule_idx, rule))
358366
deep_update(rule_props, self.convert_ip(table_name, rule_idx, rule))
359367
deep_update(rule_props, self.convert_transport(table_name, rule_idx, rule))
368+
deep_update(rule_props, self.convert_input_interface(table_name, rule_idx, rule))
360369

361370
return rule_data
362371

0 commit comments

Comments
 (0)