Skip to content

Commit

Permalink
Changes to add template support for copp.json. (#5053)
Browse files Browse the repository at this point in the history
* Changes to add template support for copp.json.
This is needed so that we can install differnt type of
Traps based on Device Role (Tor/Leaf/Mgmt/etc...).

Initial use case is to install DHCP/DHCPv6 tarp only
for tor router.

Signed-off-by: Abhishek Dosi <[email protected]>

* Fixed based on review comments.

Signed-off-by: Abhishek Dosi <[email protected]>

* Fixed based on review comment.
  • Loading branch information
abdosi authored Jul 31, 2020
1 parent 03d3aa4 commit ec435b9
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 1 deletion.
85 changes: 85 additions & 0 deletions dockers/docker-orchagent/copp.json.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
[
{
"COPP_TABLE:default": {
"queue": "0",
"meter_type":"packets",
"mode":"sr_tcm",
"cir":"600",
"cbs":"600",
"red_action":"drop"
},
"OP": "SET"
},
{
"COPP_TABLE:trap.group.bgp.lacp": {
"trap_ids": "bgp,bgpv6,lacp",
"trap_action":"trap",
"trap_priority":"4",
"queue": "4"
},
"OP": "SET"
},
{
"COPP_TABLE:trap.group.arp": {
"trap_ids": "arp_req,arp_resp,neigh_discovery",
"trap_action":"copy",
"trap_priority":"4",
"queue": "4",
"meter_type":"packets",
"mode":"sr_tcm",
"cir":"600",
"cbs":"600",
"red_action":"drop"
},
"OP": "SET"
},
{% if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['type'] is defined and DEVICE_METADATA['localhost']['type'] != "ToRRouter" %}
{
"COPP_TABLE:trap.group.lldp.udld": {
"trap_ids": "lldp,udld",
"trap_action":"trap",
"trap_priority":"4",
"queue": "4"
},
"OP": "SET"
},
{% else %}
{
"COPP_TABLE:trap.group.lldp.dhcp.dhcpv6.udld": {
"trap_ids": "lldp,dhcp,dhcpv6,udld",
"trap_action":"trap",
"trap_priority":"4",
"queue": "4"
},
"OP": "SET"
},
{% endif %}
{
"COPP_TABLE:trap.group.ip2me": {
"trap_ids": "ip2me",
"trap_action":"trap",
"trap_priority":"1",
"queue": "1",
"meter_type":"packets",
"mode":"sr_tcm",
"cir":"6000",
"cbs":"6000",
"red_action":"drop"
},
"OP": "SET"
},
{
"COPP_TABLE:trap.group.nat": {
"trap_ids": "src_nat_miss,dest_nat_miss",
"trap_action":"trap",
"trap_priority":"1",
"queue": "1",
"meter_type":"packets",
"mode":"sr_tcm",
"cir":"600",
"cbs":"600",
"red_action":"drop"
},
"OP": "SET"
}
]
1 change: 1 addition & 0 deletions dockers/docker-orchagent/docker-init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ mkdir -p /etc/swss/config.d/
sonic-cfggen -d -y /etc/sonic/sonic_version.yml -t /usr/share/sonic/templates/switch.json.j2 > /etc/swss/config.d/switch.json
sonic-cfggen -d -t /usr/share/sonic/templates/ipinip.json.j2 > /etc/swss/config.d/ipinip.json
sonic-cfggen -d -t /usr/share/sonic/templates/ports.json.j2 > /etc/swss/config.d/ports.json
sonic-cfggen -d -t /usr/share/sonic/templates/copp.json.j2 > /etc/swss/config.d/00-copp.config.json

# Executed HWSKU specific initialization tasks.
if [ -x /usr/share/sonic/hwsku/hwsku-init ]; then
Expand Down
2 changes: 1 addition & 1 deletion files/build_scripts/generate_asic_config_checksum.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
CHUNK_SIZE = 8192

CONFIG_FILES = {
os.path.abspath('./src/sonic-swss/swssconfig/sample/'): ['netbouncer.json', '00-copp.config.json']
os.path.abspath('./src/sonic-swss/swssconfig/sample/'): ['netbouncer.json']
}

OUTPUT_FILE = os.path.abspath('./asic_config_checksum')
Expand Down

0 comments on commit ec435b9

Please sign in to comment.