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

[radvd] Ensure at least one interface is specified in radvd.conf before starting radvd #1636

Merged
merged 2 commits into from
Apr 24, 2018
Merged

[radvd] Ensure at least one interface is specified in radvd.conf before starting radvd #1636

merged 2 commits into from
Apr 24, 2018

Conversation

jleveque
Copy link
Contributor

If radvd is started with no interfaces specified in radvd.conf, radvd will exit with code 1.

We now count the number of interfaces specified in the generated radvd.conf. If there are none, we exit without starting radvd.

@jleveque jleveque self-assigned this Apr 24, 2018
@@ -14,5 +14,12 @@ fi
# Generate /etc/radvd.conf config file
sonic-cfggen -d -t /usr/share/sonic/templates/radvd.conf.j2 > /etc/radvd.conf

# Enusre at least one interface is specified in radvd.conf
NUM_IFACES=$(grep -c "^interface" /etc/radvd.conf)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Instead of grep-ing a text file, you could first check by sonic-cfggen -d -v '...', if there are some interfaces:
then you could generate the conf file, and start job.

Copy link
Contributor Author

@jleveque jleveque Apr 24, 2018

Choose a reason for hiding this comment

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

Not only must there be VLANs, they must have IPv6 subnets. Checking all of the necessary conditions in a bash script with multiple calls to sonic-cfggen (and nested loops) is messy. Not to mention, I already wrote all of that logic into in radvd.conf.j2. Why duplicate the logic? If the template generates a conf file containing at least one interface, radvd should be started.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I see. One more comment: grep -c "^interface "
One more blank to make it more strict.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@lguohan
Copy link
Collaborator

lguohan commented Apr 24, 2018

retest this please

@jleveque jleveque merged commit f7151e8 into sonic-net:master Apr 24, 2018
@jleveque jleveque deleted the radvd_count_ifaces branch April 24, 2018 22:13
lguohan pushed a commit that referenced this pull request Apr 26, 2018
zhenggen-xu added a commit to zhenggen-xu/sonic-buildimage that referenced this pull request Oct 17, 2019
[installer]: Suppress tar xz warning about time stamp in the future, if date is not correctly set (sonic-net#1562)

\[sonic-platform-common\] Update submodule (sonic-net#1563)

\- Includes the following commits:
    \- \[bcmshell.py\] Match extra whitespace before prompt in regex (#3)
    \- add support for qsfp28 eeprom (#2)
\[baseimage\]: bring down eth0 before restart networking (sonic-net#1555)

cfggen generates new eth0 configuration. Need to first
clean existing configuration on eth0 before bring up
new configuration on eth0. Thus, we need to first bring
down eth0 before putting new configuration into /etc/network/
interfaces

\[mellanox\]: Update MLNX SAI pointer (sonic-net#1557)

\[minigraph.py\] Add support to parse tacacs server information (sonic-net#1549)

\* \[minigraph.py\] Add support to parse tacacs server information
\[router advertiser\] Only start radvd process if device role is 'ToRRouter' (sonic-net#1569)

\[submodules\]: update sonic-swss (sonic-net#1570)

\[submodules\]: update sonic-utilities (sonic-net#1571)

\[cfggen\]: ignore acl when its type is not defined (sonic-net#1568)

\[installer\]: Umount before delete partition (sonic-net#1575)

Use eth0 interface only to generate lldpd SystemId (sonic-net#1577)

Allow one Service ACL to bind to multiple services (sonic-net#1576)

\* \[caclmgrd\] Also ignore IP protocol if found in rule; we will only use our predefined protocols
\[snmp\]: Bind snmpd to all ip addresses (sonic-net#1587)

\[device\] Update Arista driver submodule (sonic-net#1585)

Watchdog timeout increased
\[devices\]: Fix type for qos.json in 7060 and S6100 (sonic-net#1582)

\[minigraph\]: ignore minigraph ports which are not in port_config.ini (sonic-net#1593)

\[minigraph\] Fix parser on PNG DeviceInterfaceLink Bandwidth (sonic-net#1592)

\* \[minigraph\] Fix parser on PNG DeviceInterfaceLink Bandwidth

\[Broadcom SAI\] upgrade Broadcom SAI to version 3.1.3.4-10 (sonic-net#1591)

\* \[Broadcom SAI\] upgrade Broadcom SAI to version 3.1.3.4-9

Includes configuration files for following devices:

\- Quanta 1X1B-32X
\- Dell Z9264F
\- Inventec D7054Q28B and D7032Q28B

\* \[bcm sai\] upgrade sai version to 3.1.3.4-10

include configuration change to 7060 T0.

50G support for Arista 7060 (sonic-net#1580)

\* 50G SKU for Arista 7060

Marvell's updates for SONiC 201803 over SAI v1.2 (sonic-net#1588)

\[Mellanox\] Add support for a new platform LS-SN2700

\[devices\]: Merge ingress service pools of lossless and lossy traffic for TD2 (sonic-net#1578)

\[sonic-utilities\] add pfcstat and queuestat tool (sonic-net#1606)

Add support for S6100 switchport LEDs (sonic-net#1610)

\[ip-in-ip\]: Fix config template to apply correct platform depended values (sonic-net#1619)

\[platform-common\]: Update sonic-platform-common submodule (sonic-net#1620)

\[sfputilbase\]: Add logic to parse the title of port_config.ini file

\[sonic-cfggen\] Be case insensitive to hostname in minigraph (sonic-net#1614)

\[bugfix\]: pass correct port name to led_control.py in ledd

\[cfggen\]: Fix build by fixing pyangbind version (sonic-net#1633)

\[swss\]: update sonic-swss submodule

\* ea34b92 2018-04-24 | Fix tables handling race condition in buffermgr (sonic-net#484) (HEAD -> 201803, origin/201803) \[Andriy Moroz\]
\* 53831be 2018-04-19 | \[pfcwd\]: create PFCWD acl instead of L3 ACL (sonic-net#479) \[sihuihan88\]

\[radvd\] Ensure at least one interface is specified in radvd.conf before starting radvd (sonic-net#1636)

\[updategraph\]: Keep updategraph service active after start (sonic-net#1651)

\[docker-lldpd\]: Various fixes (sonic-net#1650)

\* We don't need configure anything until we have interfaces created

\* Don't run lldpcli for a port, until a port is up and running

\* Remove lldpd socket before starting lldpd

\* Fix sample files for lldpd configuration

\* Another attempt to make the test working

\* Quick fix for lldpd paused after start bug

\[submodules\]: update swss and utilities modules

swss:

\* e34104e 2018-04-13 | \[pfcwd\]: support BIG_RED_SWITCH mode (sonic-net#467) (HEAD, origin/201803) \[sihuihan88\]
\* 1f857d5 2018-04-25 | \[buffermgr\]: remove the item from consumer queue if invalid (sonic-net#489) \[sihuihan88\]

utilities:

\* 0b9bb2b 2018-04-26 | Stop services before pushing new config during "load_minigraph" (sonic-net#247) (HEAD, origin/201803) \[Prince Sunny\]
\* dc119c9 2018-04-18 | \[show logging\] For following, change 'tail -f' to 'tail -F' in order to retry in the case log is rotated (sonic-net#240) \[Joe LeVeque\]
\* 08da428 2018-04-16 | \[pfcwd\]: add cli to enable/disable BIG_RED_SWITCH mode (sonic-net#237) \[sihuihan88\]

\[snmp\]: Fix a race between snmpd-config-updater and snmpd (sonic-net#1628)

There is a small window in which snmpd might not have registered a
callback for SIGHUP and which will result in its death if
snmpd-config-updater send this signal meant for a config reload.
\[snmpd\]: Fix typo in is_platform_arista (sonic-net#1634)

\[mellanox\]: Update SAI version to 1.11.4 and SDK to 4.2.7303 (sonic-net#1655)

\[docker-dhcp\]: Fix the sonic build issue (sonic-net#1659)

Install the built version of isc-dhcp-client in docker-dhcp-relay
\[swss\]: update swss

118b3f0 2018-05-01 | Populate existing interface cache, bring down before configDone

\[zebra.conf\] Fix template issue with multiple lo addresses (sonic-net#1662)

\* \[zebra.conf\] Fix template issue with multiple lo addresses

\* Add unitest for Loopback1

\[swss\]: Change the hash seed to 0 for ToR and 10 for Leaf routers (sonic-net#1667)

Due to some ASIC platform limitations, the hash seed range is from 0
to 15. Thus the switch.json.j2 template is updated so that ToRRouter
is using hash seed 0 and LeafRouter is using hash seed 10.

\[snmp\]: Stop spamming logs with statfs permission denied log message (sonic-net#1668)

\[broadcom\]: update broadcom SAI to 3.1.3.4-11 (sonic-net#1670)

Provide better ECMP load-balancing via hash seed

\[sonic-cfggen\]: fix bgpd and zebra template for sonic-cfggen test

I took the original patch (bebb7a0) into 201803 branch need to also
adapt the patch since we do not have commit (d423841) in 201803 branch.

\[swss\]: update sonic-swss module

\[201803 d57f9a1\] \[lua\]: use not to check whether the field exists (sonic-net#492)

\[device\] Update arista driver submodule (sonic-net#1674)

\[submodule\]: Update submodule sonic-snmpagent (sonic-net#1642)

sonic-cfggen supports hwsku parameter (sonic-net#1631) \*Note\*: tuned test data during cherry-pick

\[device\] Add PSU utility for platform ly1200 of MiTAC (sonic-net#1673)

\[platform/broadcom/sonic-platform-modules-mitac\] Install acpi package for daemon and adjust i2c sequence
\[mellanox\]: Update MLNX SAI pointer (sonic-net#1684)

40G profile for Arista 7060 (sonic-net#1677)

Update buffers config for Mellanox 27xx devices (sonic-net#1649)

\* Update buffers config for Mellanox 27xx devices

\* Remove buffers template test for msn27xx

\[submodule\]: Update submodule sonic-snmpagent: Improve mib fundamental classes (sonic-net#1689)

\[sonic-utilities\]: update sonic utilities submodule

\* 951633b 2018-05-04 |  \[generate_dump\]: fix a saidump file copy bug (sonic-net#248) (HEAD, origin/201803) \[Kebo Liu\]
\* 69baff7 2018-05-03 | \[acl_loader\]: Missing one colon (sonic-net#252) \[Shuotian Cheng\]
\* 557248d 2018-05-02 | \[acl-loader\]: Add --table_name option to update full operation (sonic-net#249) \[Shuotian Cheng\]
\* a8aadee 2018-04-30 | \[acl-loader\]: Change the header from Rule ID to Table (sonic-net#250) \[Shuotian Cheng\]

\[swss\]: update sonic-swss

\* b57c376 2018-05-10 | \[teamsyncd\]: Add team_ifindex2ifname return value check (sonic-net#500) (HEAD, origin/201803) \[Shuotian Cheng\]
\* 236843f 2018-05-07 | Fix Crm Acl used counter update (sonic-net#496) \[Nadiya\]

\[swss\]: update sonic-swss

c374357 2018-04-23 | Fix ZeroBufferProfile parameters (sonic-net#485) (HEAD -> 201803) \[Andriy Moroz\]

\[platform\]: Fixed Cavium platform modules build. (sonic-net#1694)

\[submodule\]: Update submodule sonic-snmpagent: Improve mib fundamental classes: retry after reinit_data() throws (sonic-net#1700)

Merge branch 'github-1803'

 Conflicts:
	dockers/docker-router-advertiser/start.sh
	platform/broadcom/sai.mk
	platform/mellanox/mlnx-sai.mk
	src/sonic-config-engine/sonic-cfggen
	src/sonic-config-engine/tests/sample_output/ports.json
	src/sonic-config-engine/tests/test_cfggen.py
	src/sonic-platform-daemons
	src/sonic-snmpagent
	src/sonic-swss
	src/sonic-utilities

\[baseimage\]: Disable DAD for eth0 explicitly (sonic-net#1701)

\[quagga\]: update quagga submodule (sonic-net#1698)

\* \[quagga\]: update quagga submodule

0bc6bd6 2018-05-11 | ignore nexthop attribute when NLRI is present (#18) (HEAD, origin/debian/0.99.24.1, origin/HEAD) \[lguohan\]

\* add vs bgp test

Fix the build error

Revert "\[sonic-cfggen\]: fix bgpd and zebra template for sonic-cfggen test"

This reverts commit b29d835.

Fix the build issue for sonic-cfggen test

Merge branch 'github-1803' --5/12

 Conflicts:
	src/sonic-quagga
	src/sonic-snmpagent

    RB=1312391
    G=lnos-reviewers
    R=pchaudha,pmao,rmolina,zxu
    A=
stephenxs added a commit to stephenxs/sonic-buildimage that referenced this pull request Jun 9, 2021
5a7c06a0 [config]][tacacs+] Change tacacs+ minimum timeout value base on spec (sonic-net#1631)
080a689c [202012] [db_migrator] fix old 1911 feature config migration to a new one. (sonic-net#1636)
43fff88c Change to use rvtysh when calling the show commands (sonic-net#1646)
88a823f0 [db_migrator][Mellanox] Update Mellanox buffer migrator with 2km-cable supported (sonic-net#1564)
d096ff78 [config]Static routes to config_db (sonic-net#1534)
a68d8d09 route_check: Updates  (sonic-net#1645)

Signed-off-by: Stephen Sun <stephens@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants