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

[filter-fdb] Check VLAN Presence When Filter FDB #957

Merged
merged 4 commits into from
Jun 24, 2020

Conversation

tahmed-dev
Copy link
Contributor

@tahmed-dev tahmed-dev commented Jun 22, 2020

- What I did
FTOS fast conversion script generates bogus vlan that does not exist.
This PR uses config_db in order to verify that provided vlans exist
in the switch configuration.

signed-off-by: Tamer Ahmed tamer.ahmed@microsoft.com

- How I did it
Added new code to parse config_db.json and used this to filter out arp entries

- How to verify it

sonic-utilities$ sudo pytest sonic-utilities-tests/filter_fdb_entries_test.py  -vvvv
=================================================================================================================================================== test session starts ===================================================================================================================================================
platform linux2 -- Python 2.7.13, pytest-3.0.6, py-1.4.32, pluggy-0.4.0 -- /usr/bin/python
cachedir: sonic-utilities-tests/.cache
rootdir: /sonic/sonic-utilities/sonic-utilities-tests, inifile: pytest.ini
plugins: cov-2.4.0
collected 10 items 

sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData0] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData1] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData2] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData3] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData4] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData5] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData6] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData7] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData8] PASSED
sonic-utilities-tests/filter_fdb_entries_test.py::TestFilterFdbEntries::testFilterFdbEntries[testData9] PASSED

================================================================================================================================================ 10 passed in 0.36 seconds ================================================================================================================================================

- Previous command output (if the output of a command-line utility has changed)

- New command output (if the output of a command-line utility has changed)

FTOS fast conversion script generates bogus vlan that does not exist.
This PR uses config_db in order to verify that provided vlans exist
in the switch configuration.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
scripts/fast-reboot Outdated Show resolved Hide resolved
@lgtm-com
Copy link

lgtm-com bot commented Jun 22, 2020

This pull request introduces 2 alerts when merging 4c1b8cc into 5a13e0b - view on LGTM.com

new alerts:

  • 1 for Unreachable code
  • 1 for Variable defined multiple times

making lgtm happy
Added two more test cases
@tahmed-dev tahmed-dev force-pushed the taahme/filter-out-invalid-vlans branch from 67cec53 to be445f8 Compare June 22, 2020 18:57
@tahmed-dev tahmed-dev requested a review from lguohan June 22, 2020 19:09
@yxieca yxieca merged commit 9950955 into sonic-net:master Jun 24, 2020
yxieca pushed a commit that referenced this pull request Jun 24, 2020
* [filter-fdb] Check VLAN Presence When Filter FDB

FTOS fast conversion script generates bogus vlan that does not exist.
This PR uses config_db in order to verify that provided vlans exist
in the switch configuration.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>

* review comments
making lgtm happy
Added two more test cases

* Update existing test case and adding new one

* adding support for filter ou based on vlan ip network
@abdosi
Copy link
Contributor

abdosi commented Jul 8, 2020

@tahmed-dev Please create PR for 201911. Cherry-pick has conflict.

@rlhui

@tahmed-dev
Copy link
Contributor Author

@tahmed-dev Please create PR for 201911. Cherry-pick has conflict.

@rlhui

@abdosi, just cherry-picked on my local repo and it did cherry-pick cleanly. Not sure if you have stale branch. Anyways, will post the PR

tahmed-dev added a commit to tahmed-dev/sonic-utilities that referenced this pull request Jul 8, 2020
* [filter-fdb] Check VLAN Presence When Filter FDB

FTOS fast conversion script generates bogus vlan that does not exist.
This PR uses config_db in order to verify that provided vlans exist
in the switch configuration.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>

* review comments
making lgtm happy
Added two more test cases

* Update existing test case and adding new one

* adding support for filter ou based on vlan ip network
vlan_cidr = defaultdict()
if "VLAN_INTERFACE" in config_db_entries.keys() and "VLAN" in config_db_entries.keys():
for vlan_key in config_db_entries["VLAN_INTERFACE"].keys():
vlan, cidr = tuple(vlan_key.split('|'))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Late comment - There could be entry without cidr in config_db. You may want to skip such entries or it may fail. Can you also put those entries in test_vector and verify.

        "VLAN_INTERFACE": {
            "Vlan1000": {}
        }, 

abdosi pushed a commit to abdosi/sonic-utilities that referenced this pull request Aug 4, 2020
* [filter-fdb] Check VLAN Presence When Filter FDB

FTOS fast conversion script generates bogus vlan that does not exist.
This PR uses config_db in order to verify that provided vlans exist
in the switch configuration.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>

* review comments
making lgtm happy
Added two more test cases

* Update existing test case and adding new one

* adding support for filter ou based on vlan ip network
abdosi pushed a commit that referenced this pull request Aug 9, 2020
* [filter-fdb] Check VLAN Presence When Filter FDB

FTOS fast conversion script generates bogus vlan that does not exist.
This PR uses config_db in order to verify that provided vlans exist
in the switch configuration.

signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>

* review comments
making lgtm happy
Added two more test cases

* Update existing test case and adding new one

* adding support for filter ou based on vlan ip network
stepanblyschak pushed a commit to stepanblyschak/sonic-utilities that referenced this pull request Apr 28, 2022
As part of this commit and previous commit ff6cb6c
sonic-utilities submodule for 201911 has been updated to take following
changes:

 Add support for QSFP-DD cables on 'show' command (sonic-net#989)
 [show] Fix for 'trunk' PortChannel reported as 'routed' port (sonic-net#1002)
Enable HW watchdog before fast-reboot (sonic-net#977)
 [filter-fdb] Check VLAN Presence When Filter FDB (sonic-net#957) (sonic-net#975)
[filter-fdb] Fix For Vlan Defined With No CIDR (sonic-net#976)
 [show/config]: combine feature and container feature cli (sonic-net#1015)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants