Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

swss : Support for L2 table in ACL #2540

Conversation

ArthiGovindaraj
Copy link
Contributor

@ArthiGovindaraj ArthiGovindaraj commented Nov 21, 2022

  • Added new L2_TABLE_TYPE with needed qualifiers and actions
  • Support for L2 match qualifiers like VLAN_ID, VLAN_PCP, VLAN_DEI SRC_MAC and DST_MAC

Signed-off-by: arthig arthig@celestica.com

What I did
Added support for L2_TABLE_TYPE in orchagent.

Related pull requests
#2540
sonic-net/sonic-utilities#2516

Why I did it
ACL supports only L3 and L3V6 table type. There is no support for matching L2 fields in orchagent.
When user wants to match fields like SRC_MAC, DST_MAC, VLAN_ID, VLAN_PCP, VLAN_DEI we do not have support for these fields in orchagent.
Even, if we use TABLE_TYPE still we need to define and support the L2 match qualifiers. So, instead I have provided the complete support from CLICK.
How I verified it

  1. Create L2 Table from CLICK
    "config acl add table -s ingress -p <table_name> L2"
  2. Add rules using CONFIG_DB format
    • add rules src mac, dst mac, ether type, pcp, dei & vlan id
      "L2_TABLE|RULE_2": {
      "SRC_MAC": "00:00:00:11:11:11/00:00:00:ff:ff:ff",
      "DST_MAC": "00:00:00:22:22:22/00:00:00:ff:ff:ff",
      "ETHER_TYPE": "0x0800",
      "VLAN_ID": "100",
      "VLAN_PCP": "5/7",
      "VLAN_DEI": "1",
      "PRIORITY": "5",
      "PACKET_ACTION": "DROP"
      }
  3. Validate commands "show acl table"
  4. Validate commands and fields in "show acl rule"
  5. Validate commands "aclshow -a" /* Ensured that the counters are hitting the relevant rule */
  6. Add rules using openconfig json format for supported fields "config acl update full/incremental <file.json>"
    "source-mac": "00:00:00:11:11:12",
    "source-mac-mask": "00:00:00:ff:ff:ff",
    "destination-mac": "00:00:00:11:11:13",
    "destination-mac-mask": "00:00:00:ff:ff:ff",
    "ethertype": "ETHERTYPE_ARP"

All the rules are added for each field and combinations as well. and each field tested with traffic in Broadcom based platform.

Details if related

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205

* Added new L2_TABLE_TYPE with needed qualifiers and actions
* Support for L2 match qualifiers like VLAN_ID, VLAN_PCP, VLAN_DEI
  SRC_MAC and DST_MAC

Signed-off-by: arthig <arthig@celestica.com>
@linux-foundation-easycla
Copy link

CLA Missing ID CLA Not Signed

@ArthiGovindaraj
Copy link
Contributor Author

Issue with EasyCLA authentication mail ID

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant