sonic-net / sonic-swss

SONiC Switch State Service (SwSS)
https://azure.github.io/SONiC
Other
179 stars 537 forks source link

[ACL] IN_PORTS support missing for TABLE_TYPE_MIRRORV6 #2204

Open rajkumar38 opened 2 years ago

rajkumar38 commented 2 years ago

Test case "https://github.com/Azure/sonic-mgmt/blob/master/tests/everflow/everflow/test_everflow_per_interface.py::test_everflow_per_interface[ipv6]" fails in Marvell SAI environment because of missing SAI_ACL_TABLE_ATTR_FIELD_IN_PORTS configuration for TABLE_TYPE_MIRRORV6 and subsequent ACL rule configuration sets IN_PORTS.

sairedis logs:

2022-03-25.05:55:10.004973|c|SAI_OBJECT_TYPE_ACL_TABLE:oid:0x7000000000ec5|SAI_ACL_TABLE_ATTR_ACL_BIND_POINT_TYPE_LIST=2:SAI_ACL_BIND_POINT_TYPE_PORT,SAI_ACL_BIND_POINT_TYPE_LAG|SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_ID=true|SAI_ACL_TABLE_ATTR_FIELD_ACL_IP_TYPE=true|SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6=true|SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6=true|SAI_ACL_TABLE_ATTR_FIELD_ICMPV6_TYPE=true|SAI_ACL_TABLE_ATTR_FIELD_ICMPV6_CODE=true|SAI_ACL_TABLE_ATTR_FIELD_IPV6_NEXT_HEADER=true|SAI_ACL_TABLE_ATTR_FIELD_L4_SRC_PORT=true|SAI_ACL_TABLE_ATTR_FIELD_L4_DST_PORT=true|SAI_ACL_TABLE_ATTR_FIELD_TCP_FLAGS=true|SAI_ACL_TABLE_ATTR_FIELD_ACL_RANGE_TYPE=2:SAI_ACL_RANGE_TYPE_L4_DST_PORT_RANGE,SAI_ACL_RANGE_TYPE_L4_SRC_PORT_RANGE|SAI_ACL_TABLE_ATTR_ACL_STAGE=SAI_ACL_STAGE_INGRESS|SAI_ACL_TABLE_ATTR_FIELD_DSCP=true

2022-03-24.11:39:27.223715|c|SAI_OBJECT_TYPE_ACL_ENTRY:oid:0x8000000000f30|SAI_ACL_ENTRY_ATTR_TABLE_ID=oid:0x7000000000ec5|SAI_ACL_ENTRY_ATTR_PRIORITY=9999|SAI_ACL_ENTRY_ATTR_ADMIN_STATE=true|SAI_ACL_ENTRY_ATTR_ACTION_COUNTER=oid:0x9000000000f2f|SAI_ACL_ENTRY_ATTR_FIELD_IN_PORTS=4:oid:0x1000000000003,oid:0x1000000000009,oid:0x100000000000a,oid:0x1000000000018|SAI_ACL_ENTRY_ATTR_ACTION_MIRROR_INGRESS=1:oid:0xe000000000f2e

As per SAI ACL table field "SAI_ACL_TABLE_ATTR_FIELD_IN_PORTS" must be set to true before configuring related entry field "SAI_ACL_ENTRY_ATTR_FIELD_IN_PORTS"

sachinv-msft commented 2 years ago

@prsunny requesting your opinion/feedback on this issue

abdosi commented 1 year ago

@rajendrat please check on this issue.

abdosi commented 1 year ago

@mlok-nokia @ysmanman can you check on this issue ?

cc @judyjoseph @arlakshm for viz.

ysmanman commented 1 year ago

@mlok-nokia @ysmanman can you check on this issue ?

cc @judyjoseph @arlakshm for viz.

Does https://github.com/sonic-net/sonic-swss/pull/2668 fix this issue?

abdosi commented 1 year ago

there was a PR to fix this but that need to be reverted because of some SAI implementation did not support IN_PORT with v6 ACl table and causing OA to fail.

mlok-nokia commented 1 year ago

@mlok-nokia @ysmanman can you check on this issue ?

cc @judyjoseph @arlakshm for viz. In the M0 status review meeting, it has been discussed. No conclusion yet.

Blueve commented 1 year ago

@abdosi can we triage this issue further? Based on current understanding, it is "SAI implementation" caused OA failure. Adding "IN_PORTS" to mirror_v6 is suppose to be OK

Blueve commented 1 year ago

Discussed with @bingwang-ms and @StormLiangMS : This is about ASIC capability and capacity, but we don't have a proper method to handle them in SONiC nowadays, so to not break exiting platform functionality, the suggestion to Marvell is add a platform specific workaround if this is a required feature. For long term, we need a new design HLD to handle this difference of ASIC capability and capacity

kenneth-arista commented 1 year ago

https://github.com/sonic-net/sonic-swss/pull/2668 was reverted subsequently by https://github.com/sonic-net/sonic-swss/pull/2687. This issue is related to the sonic-mgmt issue https://github.com/sonic-net/sonic-mgmt/issues/7626