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

Add docker-router-advertiser to support IPv6 router advertisements #1103

Merged
merged 4 commits into from
Nov 14, 2017
Merged

Add docker-router-advertiser to support IPv6 router advertisements #1103

merged 4 commits into from
Nov 14, 2017

Conversation

jleveque
Copy link
Contributor

@jleveque jleveque commented Nov 2, 2017

- What I did

  • Add new docker, docker-router-advertiser into which we install radvd and all necessary configuration files to listen for IPv6 router solicitations and send IPv6 router advertisements on all downlink VLAN interfaces which are configured with IPv6 addresses.

- How to verify it

  1. Build and install new image on a device
  2. Ensure docker-router-advertiser starts at boot via systemd
  3. Listen on VLAN interfaces for router advertisements sent at periodic (< 10 minute) intervals

- A picture of a cute animal (not mandatory but encouraged)

                          /\
                  __     /^|
                 / /\###//||
                 |//  #  \//
                  :(o) (o);
                   \     /##
                    || ||  ##
                    /   \   `--...____
                   ( @_@ )
                    `---'    /
                     |      |
                      \      \  

@jleveque jleveque self-assigned this Nov 2, 2017
@jleveque jleveque requested a review from lguohan November 2, 2017 00:01
@stcheng
Copy link
Contributor

stcheng commented Nov 2, 2017

looking forwarding to having a demo on this new feature!

SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ROUTER_ADVERTISER)


$(DOCKER_ROUTER_ADVERTISER)_CONTAINER_NAME = router_advertiser
Copy link
Collaborator

Choose a reason for hiding this comment

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

router_advertiser [](start = 45, length = 17)

can you have a abbrv for the container name? seems too long.

SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ROUTER_ADVERTISER)


$(DOCKER_ROUTER_ADVERTISER)_CONTAINER_NAME = router_advertiser
Copy link
Collaborator

Choose a reason for hiding this comment

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

how about radvd?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As long as you think it's clear enough, I can abbreviate it. I was just concerned about clarity.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Opted for "radv" (router advertiser) so that the docker name isn't tied to the specific radvd daemon, in case we ever decide to change to a different solution in the future.

MaxRtrAdvInterval 600;
AdvManagedFlag on;
AdvOtherConfigFlag off;
AdvLinkMTU 9100;
Copy link
Collaborator

Choose a reason for hiding this comment

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

apply similiar rule as this commit?

a69b353

Copy link
Contributor Author

@jleveque jleveque Nov 13, 2017

Choose a reason for hiding this comment

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

In the referenced commit, the MTU is specified in the ConfigDB on a port-by-port basis, and is looked up in the PORT table by port name. However, we do not currently store the MTU length for VLAN interfaces in the ConfigDB. If we decide to store this value at a later point in time, we can modify this accordingly.

Copy link
Collaborator

@lguohan lguohan left a comment

Choose a reason for hiding this comment

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

use abbrev for the container name and add support to get mtu from the config db.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

2 similar comments
@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build started sha1 is merged.

2 similar comments
@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build started sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build started sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

2 similar comments
@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build started sha1 is merged.

1 similar comment
@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build started sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

No test results found.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build started sha1 is merged.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

No test results found.

@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

1 similar comment
@svc-acs
Copy link
Collaborator

svc-acs commented Nov 13, 2017

Build triggered. sha1 is merged.

@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@sonic-net sonic-net deleted a comment from svc-acs Nov 14, 2017
@jleveque jleveque merged commit cea87e9 into sonic-net:master Nov 14, 2017
@jleveque jleveque deleted the router_advertiser branch November 14, 2017 22:40
lguohan added a commit to lguohan/sonic-buildimage that referenced this pull request Nov 9, 2019
swss:
* f354798 2019-11-09 | [tests] fix build agains real SAI (sonic-net#1123) (HEAD, origin/master, origin/HEAD) [Stepan Blyshchak]
* 56d66a1 2019-11-07 | Sub port interface implementation (sonic-net#969) [Wenda Ni]
* c57fc34 2019-11-07 | [bufferorch] Fixed buffer and buffer profile attributes types accoring to changes in SAI 1.5 (sonic-net#1120) [Vitaliy Senchyshyn]
* 85ff17d 2019-11-07 | [VRF]: submit vrf feature  (sonic-net#943) [Tyler Li]
* 5604566 2019-11-06 | [vs_test] fix fdb test failed randomly (sonic-net#1118) [Tyler Li]
* 038d994 2019-11-05 | [vnet]: Correct VNET route table size for BITMAP implementation (sonic-net#1115) [Volodymyr Samotiy]
* bb4e19c 2019-11-04 | Not wait till kernel net_devices are created for all physical ports to (sonic-net#1109) [Wenda Ni]
* bab7b93 2019-11-02 | [portsorch] fix PortsOrch::allPortsReady() returns true when it should not (sonic-net#1103) [Stepan Blyshchak]
* 5ab3f6b 2019-10-31 | Updating pytest for sflow (sonic-net#1095) [Sudharsan D.G]
* d4ccdc3 2019-10-29 | Quote input strings before constructing a command line (sonic-net#1098) [Qi Luo]
* 5516ec4 2019-10-29 | Check RIF/Port exists only for add entries (sonic-net#1110) [Prince Sunny]
* 59440f2 2019-10-29 | Allow buffer profile apply after init (sonic-net#1099) [Wenda Ni]

sairedis:
* d9faa58 2019-10-24 | Copp changes for supporting genetlink in vs (sonic-net#522) [Sudharsan D.G]

utiltiies:
* e4a5e4c 2019-11-07 | Do not start pfcwd for M0 devices (sonic-net#726) (HEAD, origin/master, origin/HEAD) [Neetha John]
* 2c0af8a 2019-11-07 | Add an on/off knob for BGP EOIU pulling on warm restart (sonic-net#655) [heidinet2007]
* 2bce9ce 2019-11-07 | Make configlet application script idempotent for updates. (sonic-net#728) [Renuka Manavalan]
* 4740617 2019-11-06 | Revert "show BPS, PPS, UTIL rates w/o previous clear (sonic-net#508)" (sonic-net#718) [Mykola F]
lguohan added a commit that referenced this pull request Nov 10, 2019
swss:
* f354798 2019-11-09 | [tests] fix build agains real SAI (#1123) (HEAD, origin/master, origin/HEAD) [Stepan Blyshchak]
* 56d66a1 2019-11-07 | Sub port interface implementation (#969) [Wenda Ni]
* c57fc34 2019-11-07 | [bufferorch] Fixed buffer and buffer profile attributes types accoring to changes in SAI 1.5 (#1120) [Vitaliy Senchyshyn]
* 85ff17d 2019-11-07 | [VRF]: submit vrf feature  (#943) [Tyler Li]
* 5604566 2019-11-06 | [vs_test] fix fdb test failed randomly (#1118) [Tyler Li]
* 038d994 2019-11-05 | [vnet]: Correct VNET route table size for BITMAP implementation (#1115) [Volodymyr Samotiy]
* bb4e19c 2019-11-04 | Not wait till kernel net_devices are created for all physical ports to (#1109) [Wenda Ni]
* bab7b93 2019-11-02 | [portsorch] fix PortsOrch::allPortsReady() returns true when it should not (#1103) [Stepan Blyshchak]
* 5ab3f6b 2019-10-31 | Updating pytest for sflow (#1095) [Sudharsan D.G]
* d4ccdc3 2019-10-29 | Quote input strings before constructing a command line (#1098) [Qi Luo]
* 5516ec4 2019-10-29 | Check RIF/Port exists only for add entries (#1110) [Prince Sunny]
* 59440f2 2019-10-29 | Allow buffer profile apply after init (#1099) [Wenda Ni]

sairedis:
* d9faa58 2019-10-24 | Copp changes for supporting genetlink in vs (#522) [Sudharsan D.G]

utiltiies:
* e4a5e4c 2019-11-07 | Do not start pfcwd for M0 devices (#726) (HEAD, origin/master, origin/HEAD) [Neetha John]
* 2c0af8a 2019-11-07 | Add an on/off knob for BGP EOIU pulling on warm restart (#655) [heidinet2007]
* 2bce9ce 2019-11-07 | Make configlet application script idempotent for updates. (#728) [Renuka Manavalan]
* 4740617 2019-11-06 | Revert "show BPS, PPS, UTIL rates w/o previous clear (#508)" (#718) [Mykola F]
zhenggen-xu pushed a commit to zhenggen-xu/sonic-buildimage that referenced this pull request Jan 10, 2020
swss:
* f354798 2019-11-09 | [tests] fix build agains real SAI (sonic-net#1123) (HEAD, origin/master, origin/HEAD) [Stepan Blyshchak]
* 56d66a1 2019-11-07 | Sub port interface implementation (sonic-net#969) [Wenda Ni]
* c57fc34 2019-11-07 | [bufferorch] Fixed buffer and buffer profile attributes types accoring to changes in SAI 1.5 (sonic-net#1120) [Vitaliy Senchyshyn]
* 85ff17d 2019-11-07 | [VRF]: submit vrf feature  (sonic-net#943) [Tyler Li]
* 5604566 2019-11-06 | [vs_test] fix fdb test failed randomly (sonic-net#1118) [Tyler Li]
* 038d994 2019-11-05 | [vnet]: Correct VNET route table size for BITMAP implementation (sonic-net#1115) [Volodymyr Samotiy]
* bb4e19c 2019-11-04 | Not wait till kernel net_devices are created for all physical ports to (sonic-net#1109) [Wenda Ni]
* bab7b93 2019-11-02 | [portsorch] fix PortsOrch::allPortsReady() returns true when it should not (sonic-net#1103) [Stepan Blyshchak]
* 5ab3f6b 2019-10-31 | Updating pytest for sflow (sonic-net#1095) [Sudharsan D.G]
* d4ccdc3 2019-10-29 | Quote input strings before constructing a command line (sonic-net#1098) [Qi Luo]
* 5516ec4 2019-10-29 | Check RIF/Port exists only for add entries (sonic-net#1110) [Prince Sunny]
* 59440f2 2019-10-29 | Allow buffer profile apply after init (sonic-net#1099) [Wenda Ni]

sairedis:
* d9faa58 2019-10-24 | Copp changes for supporting genetlink in vs (sonic-net#522) [Sudharsan D.G]

utiltiies:
* e4a5e4c 2019-11-07 | Do not start pfcwd for M0 devices (sonic-net#726) (HEAD, origin/master, origin/HEAD) [Neetha John]
* 2c0af8a 2019-11-07 | Add an on/off knob for BGP EOIU pulling on warm restart (sonic-net#655) [heidinet2007]
* 2bce9ce 2019-11-07 | Make configlet application script idempotent for updates. (sonic-net#728) [Renuka Manavalan]
* 4740617 2019-11-06 | Revert "show BPS, PPS, UTIL rates w/o previous clear (sonic-net#508)" (sonic-net#718) [Mykola F]
madhanmellanox pushed a commit to madhanmellanox/sonic-buildimage that referenced this pull request Mar 23, 2020
…d not (sonic-net#1103)

* [portsorch] fix PortsOrch::allPortsReady() returns true when it should not

Warm start flow before the change:
1st iteration:
    - BufferOrch::doTask(): returns since PortInitDone hasn't arived yet
    - PortsOrch::doTask():  processes all PORT_TABLE untill PortInitDone flag
                            m_pendingPortSet is empty yet and m_portInitDone is true
                            so allPortsReady() will return true
    - AnyOrch::doTask():    check g_portsOrch->allPortsRead()

2nd iteration:
    - BufferOrch::doTask(): now buffers are applied

This causes BufferOrch override PfcWdOrch's zero-buffer profile.

The change swaps BufferOrch and PortsOrch in m_orchList, because 1st
BufferOrch iteration will always skip processing and eliminates possibility
of having m_pendingPortSet not filled with ports after m_initDone is set to true.
* remove extra newline
* [pfcwdorch] fix PfcWdSwOrch::doTask() starts WD action when WD wasn't started in warm boot
It appeared that pfc watchdog relied on a buggy behaviour of PortsOrch::allPortsReady().
In fixed PortsOrch::allPortsReady() you'll see that watchdog action is trying to start
before watchdog was started, because allPortsReady() in PfcWdOrch::doTask() returned false.
Before the fix watchdog was started before, because allPortsReady() lied that ports are ready
when they were not.
* [portsorch] populate m_pendingPortSet in PortsOrch::bake()
* [portsorch] optimize to 3 iterations instead of 4
* Revert "[portsorch] optimize to 3 iterations instead of 4"
* revert change of order in m_orchList
* [mock_tests] fix tests build
* [mock_test] create unittest for PortsOrch::allPortsReady cold/warm flows
* [orchdaemon] fix removed sfloworch
* [mock_tests] make mock_tests run on "make check"
abdosi added a commit that referenced this pull request Sep 19, 2020
Revert "Revert " [201911]show interface counters for multi ASIC devices
(#1104)""
 Revert "Revert "Pfcstat (#1097)""
  [show] Fix 'show int neighbor expected' (#1106)
   Update argument for docker exec it->i (#1118)
     Update to make config load/reload backward compatible. (#1115)
     Handling deletion of Port Channel before deletion of its members
     (#1062)
    Skip default route present in ASIC-DB but not in APP-DB. (#1107)
     [CLI][PFCWD][Multi-ASIC] Added multi ASIC support to 'pfcwd' CLI
     (#1102)
       [201911]  Multi asic platform config interface portchannel, show
       transceiver  (#1087)
       [drop counters] Fix configuration for counters with lowercase
       names (#1103)

Signed-off-by: Abhishek Dosi <[email protected]>
stepanblyschak pushed a commit to stepanblyschak/sonic-buildimage that referenced this pull request May 10, 2021
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.

4 participants