From d20b3ef1f25bfc05b86f8f573b37a09cbf370e98 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak Date: Mon, 27 Sep 2021 13:02:55 +0300 Subject: [PATCH 1/4] [ACL] enable ACL FC when genereting config from minigraph but disable by default Signed-off-by: Stepan Blyshchak --- dockers/docker-orchagent/enable_counters.py | 1 + files/build_templates/init_cfg.json.j2 | 7 +++++++ src/sonic-config-engine/minigraph.py | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/dockers/docker-orchagent/enable_counters.py b/dockers/docker-orchagent/enable_counters.py index d0c855cc61b3..9e14162b6819 100755 --- a/dockers/docker-orchagent/enable_counters.py +++ b/dockers/docker-orchagent/enable_counters.py @@ -43,6 +43,7 @@ def enable_counters(): enable_counter_group(db, 'QUEUE_WATERMARK') enable_counter_group(db, 'BUFFER_POOL_WATERMARK') enable_counter_group(db, 'PORT_BUFFER_DROP') + enable_counter_group(db, 'ACL') enable_rates() diff --git a/files/build_templates/init_cfg.json.j2 b/files/build_templates/init_cfg.json.j2 index 6e0d75518f60..8818db3f7a24 100644 --- a/files/build_templates/init_cfg.json.j2 +++ b/files/build_templates/init_cfg.json.j2 @@ -19,6 +19,13 @@ {% endfor %} } }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "false", + "POLL_INTERVAL": "10000" + } + }, {%- set features = [("bgp", "enabled", false, "enabled"), ("database", "always_enabled", false, "always_enabled"), ("lldp", "enabled", false, "enabled"), diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py index 756743f85e67..f071f9ae4621 100644 --- a/src/sonic-config-engine/minigraph.py +++ b/src/sonic-config-engine/minigraph.py @@ -1271,6 +1271,13 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw 'synchronous_mode': 'enable' } } + results['FLEX_COUNTER_TABLE'] = { + 'ACL': { + 'FLEX_COUNTER_STATUS': 'enable', + 'FLEX_COUNTER_DELAY_STATUS': 'false', + 'POLL_INTERVAL': '10000' + } + } cluster = [devices[key] for key in devices if key.lower() == hostname.lower()][0].get('cluster', "") if cluster: From 2c8abac32c870d3abc254cdd1fa3d985b56ac572 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak Date: Mon, 27 Sep 2021 18:15:40 +0300 Subject: [PATCH 2/4] disable ACL FC from presets Signed-off-by: Stepan Blyshchak --- files/build_templates/init_cfg.json.j2 | 4 ++-- src/sonic-config-engine/config_samples.py | 11 +++++++++++ src/sonic-config-engine/minigraph.py | 2 +- .../tests/sample_output/py3/l1_intfs.json | 7 +++++++ .../tests/sample_output/py3/l2switch.json | 7 +++++++ .../tests/sample_output/py3/l2switch_dualtor.json | 7 +++++++ .../tests/sample_output/py3/l3_intfs.json | 7 +++++++ 7 files changed, 42 insertions(+), 3 deletions(-) diff --git a/files/build_templates/init_cfg.json.j2 b/files/build_templates/init_cfg.json.j2 index 8818db3f7a24..5ac645e6be77 100644 --- a/files/build_templates/init_cfg.json.j2 +++ b/files/build_templates/init_cfg.json.j2 @@ -21,8 +21,8 @@ }, "FLEX_COUNTER_TABLE": { "ACL": { - "FLEX_COUNTER_STATUS": "disable", - "FLEX_COUNTER_DELAY_STATUS": "false", + "FLEX_COUNTER_STATUS": "enable", + "FLEX_COUNTER_DELAY_STATUS": "true", "POLL_INTERVAL": "10000" } }, diff --git a/src/sonic-config-engine/config_samples.py b/src/sonic-config-engine/config_samples.py index f8dc4b1c13b3..0606c19056bd 100644 --- a/src/sonic-config-engine/config_samples.py +++ b/src/sonic-config-engine/config_samples.py @@ -10,6 +10,16 @@ else: UNICODE_TYPE = unicode +def generate_common_config(data): + data['FLEX_COUNTER_TABLE'] = { + 'ACL': { + 'FLEX_COUNTER_STATUS': 'disable', + 'FLEX_COUNTER_DELAY_STATUS': 'true', + 'POLL_INTERVAL': '10000' + } + } + return data + # The following config generation methods exits: # 't1': generate_t1_sample_config, # 'l2': generate_l2_config, @@ -160,5 +170,6 @@ def get_available_config(): return list(_sample_generators.keys()) def generate_sample_config(data, setting_name): + data = generate_common_config(data) return _sample_generators[setting_name.lower()](data) diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py index f071f9ae4621..0a13a332470d 100644 --- a/src/sonic-config-engine/minigraph.py +++ b/src/sonic-config-engine/minigraph.py @@ -1274,7 +1274,7 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw results['FLEX_COUNTER_TABLE'] = { 'ACL': { 'FLEX_COUNTER_STATUS': 'enable', - 'FLEX_COUNTER_DELAY_STATUS': 'false', + 'FLEX_COUNTER_DELAY_STATUS': 'true', 'POLL_INTERVAL': '10000' } } diff --git a/src/sonic-config-engine/tests/sample_output/py3/l1_intfs.json b/src/sonic-config-engine/tests/sample_output/py3/l1_intfs.json index bc2d533e87a1..634b936fede0 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/l1_intfs.json +++ b/src/sonic-config-engine/tests/sample_output/py3/l1_intfs.json @@ -257,5 +257,12 @@ "mtu": "9100", "speed": "100000" } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } diff --git a/src/sonic-config-engine/tests/sample_output/py3/l2switch.json b/src/sonic-config-engine/tests/sample_output/py3/l2switch.json index fd83589153ea..fa3363ab749c 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/l2switch.json +++ b/src/sonic-config-engine/tests/sample_output/py3/l2switch.json @@ -264,5 +264,12 @@ "Vlan1000|Ethernet124": { "tagging_mode": "untagged" } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } diff --git a/src/sonic-config-engine/tests/sample_output/py3/l2switch_dualtor.json b/src/sonic-config-engine/tests/sample_output/py3/l2switch_dualtor.json index 44edd892ab91..606a30672d9e 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/l2switch_dualtor.json +++ b/src/sonic-config-engine/tests/sample_output/py3/l2switch_dualtor.json @@ -643,5 +643,12 @@ "server_ipv6": "fc02:1000::19/128", "state": "auto" } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } diff --git a/src/sonic-config-engine/tests/sample_output/py3/l3_intfs.json b/src/sonic-config-engine/tests/sample_output/py3/l3_intfs.json index 9ca31832303f..7357c28fbef1 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/l3_intfs.json +++ b/src/sonic-config-engine/tests/sample_output/py3/l3_intfs.json @@ -297,5 +297,12 @@ "Ethernet29": {}, "Ethernet30": {}, "Ethernet31": {} + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } From 938058ec399778b792069f0db25d46a2272f98e0 Mon Sep 17 00:00:00 2001 From: Stepan Blyschak Date: Mon, 27 Sep 2021 20:39:49 +0000 Subject: [PATCH 3/4] update test sample files Signed-off-by: Stepan Blyschak --- src/sonic-config-engine/data/l1intf.j2 | 11 +++++++++-- src/sonic-config-engine/data/l2switch.j2 | 7 +++++++ src/sonic-config-engine/data/l3intf.j2 | 11 +++++++++-- .../tests/sample_output/py2/l1_intfs.json | 7 +++++++ .../tests/sample_output/py2/l2switch.json | 7 +++++++ .../tests/sample_output/py2/l2switch_dualtor.json | 7 +++++++ .../tests/sample_output/py2/l3_intfs.json | 7 +++++++ 7 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/sonic-config-engine/data/l1intf.j2 b/src/sonic-config-engine/data/l1intf.j2 index 06222632e0da..68ffc3ee4ece 100644 --- a/src/sonic-config-engine/data/l1intf.j2 +++ b/src/sonic-config-engine/data/l1intf.j2 @@ -1,8 +1,15 @@ { "DEVICE_METADATA": { "localhost" : { - "hwsku" : "{{ DEVICE_METADATA.localhost.hwsku }}" - } + "hwsku" : "{{ DEVICE_METADATA.localhost.hwsku }}" + } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } }, {% set ns = {'firstPrinted': False} -%} "PORT": { diff --git a/src/sonic-config-engine/data/l2switch.j2 b/src/sonic-config-engine/data/l2switch.j2 index 22de3158c589..37c343867a10 100644 --- a/src/sonic-config-engine/data/l2switch.j2 +++ b/src/sonic-config-engine/data/l2switch.j2 @@ -1,5 +1,12 @@ { "DEVICE_METADATA": {{ DEVICE_METADATA | tojson }}, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } + }, {% set ns = {'firstPrinted': False} -%} "PORT": { {%- for key, value in PORT.items() -%} diff --git a/src/sonic-config-engine/data/l3intf.j2 b/src/sonic-config-engine/data/l3intf.j2 index 255868eb8257..45fba9f692ef 100644 --- a/src/sonic-config-engine/data/l3intf.j2 +++ b/src/sonic-config-engine/data/l3intf.j2 @@ -1,8 +1,15 @@ { "DEVICE_METADATA": { "localhost" : { - "hwsku" : "{{ DEVICE_METADATA.localhost.hwsku }}" - } + "hwsku" : "{{ DEVICE_METADATA.localhost.hwsku }}" + } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } }, {% set ns = {'firstPrinted': False} -%} "PORT": { diff --git a/src/sonic-config-engine/tests/sample_output/py2/l1_intfs.json b/src/sonic-config-engine/tests/sample_output/py2/l1_intfs.json index bc2d533e87a1..634b936fede0 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/l1_intfs.json +++ b/src/sonic-config-engine/tests/sample_output/py2/l1_intfs.json @@ -257,5 +257,12 @@ "mtu": "9100", "speed": "100000" } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } diff --git a/src/sonic-config-engine/tests/sample_output/py2/l2switch.json b/src/sonic-config-engine/tests/sample_output/py2/l2switch.json index 1c9e0ebbcd2e..5c38ba7201fd 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/l2switch.json +++ b/src/sonic-config-engine/tests/sample_output/py2/l2switch.json @@ -264,5 +264,12 @@ "Vlan1000|Ethernet24": { "tagging_mode": "untagged" } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } diff --git a/src/sonic-config-engine/tests/sample_output/py2/l2switch_dualtor.json b/src/sonic-config-engine/tests/sample_output/py2/l2switch_dualtor.json index 44edd892ab91..606a30672d9e 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/l2switch_dualtor.json +++ b/src/sonic-config-engine/tests/sample_output/py2/l2switch_dualtor.json @@ -643,5 +643,12 @@ "server_ipv6": "fc02:1000::19/128", "state": "auto" } + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } diff --git a/src/sonic-config-engine/tests/sample_output/py2/l3_intfs.json b/src/sonic-config-engine/tests/sample_output/py2/l3_intfs.json index 9ca31832303f..7357c28fbef1 100644 --- a/src/sonic-config-engine/tests/sample_output/py2/l3_intfs.json +++ b/src/sonic-config-engine/tests/sample_output/py2/l3_intfs.json @@ -297,5 +297,12 @@ "Ethernet29": {}, "Ethernet30": {}, "Ethernet31": {} + }, + "FLEX_COUNTER_TABLE": { + "ACL": { + "FLEX_COUNTER_STATUS": "disable", + "FLEX_COUNTER_DELAY_STATUS": "true", + "POLL_INTERVAL": "10000" + } } } From d41c08659c27a5c92df544150621d2ac90ad2043 Mon Sep 17 00:00:00 2001 From: Stepan Blyshchak Date: Tue, 19 Oct 2021 15:46:56 +0300 Subject: [PATCH 4/4] remove FC from minigraph Signed-off-by: Stepan Blyshchak --- src/sonic-config-engine/minigraph.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py index 0a13a332470d..756743f85e67 100644 --- a/src/sonic-config-engine/minigraph.py +++ b/src/sonic-config-engine/minigraph.py @@ -1271,13 +1271,6 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw 'synchronous_mode': 'enable' } } - results['FLEX_COUNTER_TABLE'] = { - 'ACL': { - 'FLEX_COUNTER_STATUS': 'enable', - 'FLEX_COUNTER_DELAY_STATUS': 'true', - 'POLL_INTERVAL': '10000' - } - } cluster = [devices[key] for key in devices if key.lower() == hostname.lower()][0].get('cluster', "") if cluster: