[multi-asic] Make sure Everflow tables always gets classified as Mirror table#7241
Merged
abdosi merged 4 commits intosonic-net:masterfrom Apr 7, 2021
Merged
[multi-asic] Make sure Everflow tables always gets classified as Mirror table#7241abdosi merged 4 commits intosonic-net:masterfrom
abdosi merged 4 commits intosonic-net:masterfrom
Conversation
df46ed418e661a9bccdb2639d8873def356f8ba0 (HEAD -> master, origin/master, origin/HEAD) Fix the LLDP_LOC_CHASSIS not getting populated if no remote neighbors are present (sonic-net#39) e487532e11cc0e97cfce573b6b997fdd0beeb660 [CI] Set up CI&PR with Azure Pipelines (sonic-net#38) 3c9f488490a1dbded20dbf2d8a88a5ab4dbda8df Replace swsssdk's SonicV2Connector with swsscommon's implementation (sonic-net#35) Signed-off-by: Abhishek Dosi <[email protected]>
Added sample minigraph for multi-asic platforms that does not have external port-channels and only have Router Port IP Interface. Signed-off-by: Abhishek Dosi <[email protected]>
abdosi
added a commit
that referenced
this pull request
Apr 7, 2021
…or table (#7241) Make sure Everflow always gets classified as Mirror table and not as Control Plane on multi-asic platforms. Why I did: In Multi-asic platforms we generate Everflow acl table data from minigraph for both host and namespace. It is possible in multi-asic minigraph if there are no external port-channel (Only Router Port IP Interface) then Everflow table will have no binded interface in host and will gets classified as Control Plane ACL while in namespace gets classified as Mirror Table. For ACL Rule generation we read global db as source of truth for acl table information and so for everflow rule generation if tables gets classified as Control plane we can generate rules with invalid action causing orchagent to throw runtime error. How I did: If the table is attach to erspan interface in minigraph then it always gets classified as mirror table.
raphaelt-nvidia
pushed a commit
to raphaelt-nvidia/sonic-buildimage
that referenced
this pull request
May 23, 2021
…or table (sonic-net#7241) Make sure Everflow always gets classified as Mirror table and not as Control Plane on multi-asic platforms. Why I did: In Multi-asic platforms we generate Everflow acl table data from minigraph for both host and namespace. It is possible in multi-asic minigraph if there are no external port-channel (Only Router Port IP Interface) then Everflow table will have no binded interface in host and will gets classified as Control Plane ACL while in namespace gets classified as Mirror Table. For ACL Rule generation we read global db as source of truth for acl table information and so for everflow rule generation if tables gets classified as Control plane we can generate rules with invalid action causing orchagent to throw runtime error. How I did: If the table is attach to erspan interface in minigraph then it always gets classified as mirror table.
qiluo-msft
pushed a commit
that referenced
this pull request
May 24, 2021
…or table (#7241) Make sure Everflow always gets classified as Mirror table and not as Control Plane on multi-asic platforms. Why I did: In Multi-asic platforms we generate Everflow acl table data from minigraph for both host and namespace. It is possible in multi-asic minigraph if there are no external port-channel (Only Router Port IP Interface) then Everflow table will have no binded interface in host and will gets classified as Control Plane ACL while in namespace gets classified as Mirror Table. For ACL Rule generation we read global db as source of truth for acl table information and so for everflow rule generation if tables gets classified as Control plane we can generate rules with invalid action causing orchagent to throw runtime error. How I did: If the table is attach to erspan interface in minigraph then it always gets classified as mirror table.
carl-nokia
pushed a commit
to carl-nokia/sonic-buildimage
that referenced
this pull request
Aug 7, 2021
…or table (sonic-net#7241) Make sure Everflow always gets classified as Mirror table and not as Control Plane on multi-asic platforms. Why I did: In Multi-asic platforms we generate Everflow acl table data from minigraph for both host and namespace. It is possible in multi-asic minigraph if there are no external port-channel (Only Router Port IP Interface) then Everflow table will have no binded interface in host and will gets classified as Control Plane ACL while in namespace gets classified as Mirror Table. For ACL Rule generation we read global db as source of truth for acl table information and so for everflow rule generation if tables gets classified as Control plane we can generate rules with invalid action causing orchagent to throw runtime error. How I did: If the table is attach to erspan interface in minigraph then it always gets classified as mirror table.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What I did:
Make sure Everflow always gets classified as Mirror table and not as Control Plane on multi-asic platforms.
Why I did:
In Multi-asic platforms we generate Everflow acl table data from minigraph for both host and namespace.
It is possible in multi-asic minigraph if there are no external port-channel (Only Router Port IP Interface) then Everflow table will have no binded interface in host and will gets classified as Control Plane ACL while in namespace gets classified as Mirror Table.
For ACL Rule generation we read global db as source of truth for acl table information and so for everflow rule generation if tables gets classified as Control plane we can generate rules with invalid action causing orchagent to throw runtime error.
How I did:
If the table is attach to erspan interface in minigraph then it always gets classified as mirror table.
How I verify:
Added unit-test case where minigraph only have External Router Port IP interface and no external port-channels.