Add VLAN-aware MLD Snooping support - #2326
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
@kcudnik , This PR also has enum alias added. The failure seems to be related to this. Can you help fix it ? SAI_VLAN_ATTR_IGMP_SNOOPING_ENABLE,
/** @ignore - for backward compatibility */
SAI_VLAN_ATTR_CUSTOM_IGMP_SNOOPING_ENABLE = SAI_VLAN_ATTR_IGMP_SNOOPING_ENABLE, |
|
squash commits and force push |
589f95b to
233270b
Compare
|
@tjchadaga could you please assign a reviewer for this PR |
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
@kcudnik, the failure appears to be due to the enum alias usage. Should I take any action on this, or will you be handling it? Please advice. |
|
i think problem is taht SAI_VLAN_ATTR_CUSTOM_IGMP_SNOOPING_ENABLE is ignored, which is legitimate enum in previous commits, make @ignore enum you are adding, and assign it by SAI_VLAN_ATTR_CUSTOM_IGMP_SNOOPING_ENABLE you will need to squash commits and force push, check locally before you do that , |
|
@kcudnik, just to confirm my understanding: with the following definition, In my case, |
|
no, @ignore is placed on attribute that have the same enum ID as other exdisting attribute, if you have both wih the same value, none of them can be depreacated |
|
@kcudnik , I’m seeing the same meta error irrespective of how the enum is defined. Capturing the error below: Tried both variants: and In both cases, meta flags duplicate enum values. I also noticed similar @ignore usage is already present (e.g. in sainexthopgroup.h): Could you please confirm:
If aliases are not allowed, I’ll retain only |
|
@kcudnik , Gentle reminder — awaiting your inputs. |
|
I don't remember exact conditions, @ignore was added specifically for this purpose, please analyse the parse metadata code to see which line generates that error, and make sure your commit is on top of master, if you are behind master, or you have multiple commits in the PR that go back and forth for same enum then this problem will happen, please also consider using git blame to check how other ignore was indroduced such as #655 also as friendly reminder, im just doing community service here, and i don't have always time to take a look at everything what is happening on this repo |
233270b to
26424e4
Compare
|
@kcudnik , Thanks for the guidance — the issue was in the metadata ancestry handling. The fix is applied in BuildCommitHistory (ancestry.pl), where @ignore enums were not being properly respected during history reconstruction, causing the duplicate-value warning for the alias (SAI_VLAN_ATTR_CUSTOM_IGMP_SNOOPING_ENABLE). Validation
|
|
@AnandhiDhanabalan here you go kcudnik@9e6d4e8 this is only commit you need on master, and you don't need to touch ancestry.pl, it works you can cherrypick it and rebase on master in your branch |
|
@kcudnik, although the code below is syntactically valid, it is semantically incorrect. It implies that I still feel I’ll update my PR accordingly and keep you posted. |
- Add SAI_VLAN_ATTR_MLD_SNOOPING_ENABLE - Define MLD snooping behavior Signed-off-by: Anandhi Dhanabalan <adhanabalan@marvell.com>
26424e4 to
3df227e
Compare
|
For me it seems like those values shuld not be equal to eachother, still everything is fine even in this configuration, ignore attribute is introduce just to not cause confusion for metadata parser, still values, parser, serialization and deserialization will work correctly, in your approach you are removeing item that was introduced at the beginning, which is not ok, and making this or ancestry will require some more complex re-work. note that ancestry.pl is using history file which only uses history and ignored values is not saved in %HISTORY hash, bneacuse it don't need to be, only latest one from commit are validated, and by adding ignored to existing value, and then introducing new one, will always result in error that both values have the same value, since previous walue will be always in HISTORY hash, ignored values are not. as said this change will require some more complex rework, to not break existing logic, in your previous attempt you used undefinded values to compare which resulted in bad logic causing errors, thats unfortunate mistake :/ |
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
@tjchadaga can you approve this PR ? |
|
please add meaningful description |
Done |
|
@tjchadaga can you approve this PR ? |
Adds VLAN-level MLD snooping support to SAI by introducing
SAI_VLAN_ATTR_MLD_SNOOPING_ENABLE. This enables independent control of IPv6 multicast (MLD) snooping alongside existing IGMP (IPv4) snooping.