-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[DHCP relay]: Wait for all interfaces to be assigned IPv4 addresses before starting relay agent(s) #1173
Conversation
…efore starting relay agent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a proper way of doing this is to let the intfmgrd to post ok to the state db and let the dhcprelay startup script to listen to that message before listening on the interfaces.
Once we flesh out intfmgrd to handle more than just VLANs, as it is currently limited to, this sounds exactly like the solution I proposed above. We will consider this PR a temporary workaround until then. |
4628a5a [vs tests] Refactor fdb_update tests to be consistent with vs test suite (#1185) 9594de0 Enable MIRRORv6 for BFN platform (#1177) a35afac [portsorch] use ingress/egress disable for LAG member enable/disable (#1166) faab3e1 remove the obsoleted platforms build links (#1169) 97abec5 [restore_neighbors.py] build arp packet with correct hwsrc and psrc (#1158) 97a22ca [vs tests] Mark VLAN and warm reboot tests as xfail (#1183) b453797 [Teamdmgrd]Fix "teamd cannot start when port channel was down before warm reboot" issue (#1171) 3732e74 [cfgmgr] clear loopback and vrf in kernel if not warmstart (#1141) 51315c1 [debugcounterorch] Add checks for supported counter types and drop reasons (#1173) 10f091d [vs tests] Disable NAT tests to unblock Jenkins (#1179) 698ca2a [portsorch] Refactor portsorch to use FlexCounterManager to setup port and queue stats (#1170) ea8b1da Merge pull request #1125 from AkhileshSamineni/natorch_changes_in_sonic bbd77fc Merge pull request #1126 from AkhileshSamineni/natsyncd_changes_in_sonic 419d9d2 Fix bug: shellquote the inner string (#1168) d507a93 [aclorch] Validate that provided IN/OUT_PORTS are physical interfaces (#1156) f24081b [AclOrch] add validation for check CRM (#1082) 85036df Merge pull request #1059 from AkhileshSamineni/nat_changes_in_sonic 1eac91e [portsorch] process PortsOrch tables in specific order (#1108) 80e01c0 Teamd :: fix for cleaning up the teamd processes correctly on teamd docker stop (#1159) 77fa5a4 Move away sairedis logrotate from signal handler (#1153) 5ad47af Merge branch 'master' into natorch_changes_in_sonic 982abd6 Fixed compilation issue after forced push. 286ca21 Fixed compilation issue. 3350b85 Added pytest testcases for NAT. 63ebb3a Added platform changes to avoid nexthop traching in OA. f9a8302 Addressed review comments. 946e53d Fixed compilation issue. 3d2b900 Addressed review comments and added 'nat miss' traps in copp json. ff2c78c Added changes to verify the NAT is supported before setting nat zone. 346f59a Addressed review comments. 8246acb Removed debug framework change to avoid compilation error f59ec87 Fixed compilation issue. e8b9dab Added aclorch changes for "do_not_nat" action. 88fe411 Orchagent changes in sonic-swss submodule to support NAT feature. 3ca530c Addressed review comments e4b7724 Addressed Review comments 72750ac Natsyncd changes in sonic-swss submodule to support NAT feature. 2086ad2 Fixed compilation issue after forced push. 3fcfea3 Fix in cleanup. 4028803 Added missed check ed405bf Addressed review comments ae6eb80 Compilation fix to pick proper ACL Table name - CFG_ACL_TABLE_TABLE_NAME d750132 Fix for string compilation issue 904e80b Corrected Makefile.am change. 5b09c41 Removed pytest related files and added those to PR #1125 fd733b8 Removed the Orchagent and Natsyncd related files as those are covered as part of PRs #1125 and #1126 b53c888 Loopback related changes for NAT. 29bb539 Added neighsync changes to support warm reboot for NAT. 4e0d0a1 Changes in sonic-swss submodule to support NAT feature. Signed-off-by: Stepan Blyschak <[email protected]>
…asons (sonic-net#1173) - Refactor drop reason capability query to trim SAI prefixes - Store device capabilities in orchagent to perform safety checks Fixes sonic-net#1136 - Rather than depending on each ASIC vendor to follow the same error handling doctrine, this PR validates HW support in orchagent, which should be more reliable. Related to sonic-net/sonic-utilities#785 - In order to validate user input, we need to remove the SAI prefixes before we store the results. This removes the need for the CLI to perform these checks. Signed-off-by: Danny Allen <[email protected]>
Add a switch to route_check to control whether write log to syslog (#1215) [consutil] Store console port state in STATE_DB (#1208) [sfputil] Display 'N/A' for non-SFP ports (#1078) Show FG_NHG CLI Commands Added (#1056) [show] remove 'device2interface_dict' in show interface neighbor expected (#1188) Add license file, remove third-party licenses file (#1192) [fwutil]: Set min log priority to INFO. (#1191) [CLI][show][platform] Added ASIC count in the output. (#1185) fdbshow and nbrshow use SonicV2Connector with decode_responses=True, and remove all the decode() (#1187) Remove stdeb.cfg; no longer used now that we build as wheel (#1182) [counterpoll] Disable Counter Poll When Entering Fast Reboot (#1174) Fixes the issue with show interface counters and for pfc and queue counters. (#1180) [config/show] Add CLI support for proxy arp (#1168) [consutil] Add brief option to show line command (#1176) Modify fast-reboot script to use BGP service script to stop bgp service (#1177) [config/console] Support update console configuration related commands (#1166) [consutil] Fix issue where the show line command crash if no ttyUSB exists (#1173) [watermarkstat] Add unit tests for watermarkstat show commands (#1157) Fix exception for ipaddress in python2 (#1164) [celestica] consutil to support customize tty device name (#1155) Signed-off-by: Danny Allen <[email protected]>
…asons (sonic-net#1173) - Refactor drop reason capability query to trim SAI prefixes - Store device capabilities in orchagent to perform safety checks Fixes sonic-net#1136 - Rather than depending on each ASIC vendor to follow the same error handling doctrine, this PR validates HW support in orchagent, which should be more reliable. Related to sonic-net/sonic-utilities#785 - In order to validate user input, we need to remove the SAI prefixes before we store the results. This removes the need for the CLI to perform these checks. Signed-off-by: Danny Allen <[email protected]>
Add a switch to route_check to control whether write log to syslog (sonic-net#1215) [consutil] Store console port state in STATE_DB (sonic-net#1208) [sfputil] Display 'N/A' for non-SFP ports (sonic-net#1078) Show FG_NHG CLI Commands Added (sonic-net#1056) [show] remove 'device2interface_dict' in show interface neighbor expected (sonic-net#1188) Add license file, remove third-party licenses file (sonic-net#1192) [fwutil]: Set min log priority to INFO. (sonic-net#1191) [CLI][show][platform] Added ASIC count in the output. (sonic-net#1185) fdbshow and nbrshow use SonicV2Connector with decode_responses=True, and remove all the decode() (sonic-net#1187) Remove stdeb.cfg; no longer used now that we build as wheel (sonic-net#1182) [counterpoll] Disable Counter Poll When Entering Fast Reboot (sonic-net#1174) Fixes the issue with show interface counters and for pfc and queue counters. (sonic-net#1180) [config/show] Add CLI support for proxy arp (sonic-net#1168) [consutil] Add brief option to show line command (sonic-net#1176) Modify fast-reboot script to use BGP service script to stop bgp service (sonic-net#1177) [config/console] Support update console configuration related commands (sonic-net#1166) [consutil] Fix issue where the show line command crash if no ttyUSB exists (sonic-net#1173) [watermarkstat] Add unit tests for watermarkstat show commands (sonic-net#1157) Fix exception for ipaddress in python2 (sonic-net#1164) [celestica] consutil to support customize tty device name (sonic-net#1155) Signed-off-by: Danny Allen <[email protected]>
…xists (sonic-net#1173) Signed-off-by: Jing Kan [email protected]
What I did: Moved the SAI header to v1.8.1. 7cd3a7ed84db3fc9cec13496a5339b6fe1888bb7 (HEAD, tag: v1.8.1, origin/v1.8) Update SAI version to V1.8.1 (sonic-net#1218) 5913e4cdd0c9c7ae859baa2e18086327b39a94da Fix error when compiling Broadcom SAI with v1.8.0 (sonic-net#1216) 5a98bc3c7e86c01f3cf702054f9af7c7c5ca6daf (HEAD, tag: v1.8.0, origin/master, origin/HEAD, master) Update version to 1.8.0 (sonic-net#1207) b3244ceceb45184ffe37da55bb9a98ef126050ce saineighbor.h: Updated SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_INDEX and deprecated SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_IMPOSE_INDEX (sonic-net#1202) 8731ca6e09c7ba99b0b009e5821d80598e216756 Add source/dest/double NAPT entry available attributes (sonic-net#1194) f053d899feb9517f2db43ee462589a30572b5ed1 Add switch attributes for hash offset configuration. (sonic-net#1195) 13e5cd6940f9a0da1878d00f08e5941e09f16e7f PRBS RX State Data Type (sonic-net#1179) 9755845a06525a3c17f03e7b936a70783e8ef068 Packet header based VRF classification (sonic-net#1185) 2369ecb59fff1a5cae948d41eea06bf8b71330b2 SAI versioning (sonic-net#1183) 744279839c176e68b19734657975e3f5ec6f1a32 Replaced SAI_SWITCH_ATTR_MACSEC_OBJECT_ID with SAI_SWITCH_ATTR_MACSEC_OBJECT_LIST (sonic-net#1199) 584c724864fe565357e82d097ddcc7363bddefac [CI] Set up CI&PR with Azure Pipelines (sonic-net#1200) 08192237963174cc60edae9b4812a39c43b291fd Add attribute to query available packet DMA pool size (sonic-net#1198) f092ef1e3ce695fc3f9552721025695312b961a2 Add IPv6 flow label hash attribute. (sonic-net#1192) cbc9562bb7a8f2c3a79702b99be55f3b3afa6957 Override VRF (sonic-net#1186) 1eb35afdb2146baf40e6c2b8f2f8bfe99075eaee Add SAI_SWITCH_ATTR_SWITCH_HARDWARE_INFO format for GB MDIO sysfs access (sonic-net#1171) b2d4c9a57c7f00b2632c35ca5eb3dd6480f7916a Switch scoped tunnel attributes (sonic-net#1173) 96adc95bf8316e1905143d9ecd21f32a43e80d7f Enhancements for MPLS support (sonic-net#1181) 3dcf1f2028da4060b345ad78e8a0c87d225bf5d0 Support for ACL extensions in metadata (sonic-net#1178) 24076be95b871e8f82ecaeb908cad951dc68896c [meta] Add support for allow empty list tag (sonic-net#1190) a2b3344cdde0bf5a4f8e98e1c676a658c0c615b0 spell check fixes (sonic-net#1189) bf4271bab6e8884bd96050bcba44e3134adaaec3 Do not call sai_metadata_sai get APIs before checking if they are allocated (sonic-net#1182) 5d5784dc3dbfc713c92ae7d2c472680b837bb002 [macsec]: Separate XPN configuration attribute from read-only attribute (sonic-net#1169) 6d5a9bf5ad17cb82621cabbe2449524320930606 [macsec]: add SAI_MACSEC_ATTR_SUPPORTED_CIPHER_SUITE_LIST (sonic-net#1172) e72c8f3a0cc543cb228554be82c97a63db917740 [meta] Print each tool version in Makefile (sonic-net#1177) 8f19677da88c7494d563ef7c5acb0529ecbd0b6e [meta] Add check for START, END and RANBE_BASE enums (sonic-net#1175) 24ad7906f145930b2e25682b6248909289d39e72 [meta] Create sai_switch_pointers_t struct (sonic-net#1174) 4f5f84df3fcd0e146707df41d3e2837c48f7c760 Tunnel loopback packet action as resource (sonic-net#1163) 8a0e82c57aa0e22e696158735516904e7dc14052 [meta] Add create only oid attribute check on switch object (sonic-net#1170) 14cf50772e478551920963ecf11f4fd019a0c106 Remove obsolete stub folder (sonic-net#1168) f14f406340e4f5f1b1d674f6fdd5fd861a54c877 [meta] Use safer calloc for integer overflow check (sonic-net#1166) Also this PR include changes of this sonic-net#815 SAI commit b2d4c9a57c7f00b2632c35ca5eb3dd6480f7916a Switch scoped tunnel attributes (sonic-net#1173) needed change in sai_redis_switch.cpp and sai_vs_switch.cpp for compilation. How I verify: Verify Build is fine of libsairedis*.deb, syncd*.deb, swss*.deb Co-authored-by: Ann Pokora <[email protected]>
…] advance submodule head utilities: * 7979b9b 2022-12-05 | Transceiver eeprom dom CLI modification to show output from TRANSCEIVER_DOM_THRESHOLD table (sonic-net#2535) [mihirpat1] swss: * 4ad82c5 2023-01-13 | Changed the BFD default detect multiplier to 10x (sonic-net#2614) (HEAD -> 202205) [siqbal1986] * 4fe7138 2023-01-12 | [MuxOrch] Enabling neighbor when adding in active state (sonic-net#2601) [Nikola Dancejic] sairedis: * 2f6cbd3 2023-01-19 | Fix for [EVPN] When MAC moves from remote end point to local, ASIC DB fields are not updated properly for the mac sonic-net#11503 (sonic-net#1173) (github/202205) [anilkpan] platform-common: * 2995989 2022-12-06 | Add get_transceiver_status and get_transceiver_pm to API interface (sonic-net#315) (HEAD -> 202205) [longhuan-cisco] platform-daemons: * d756e1a 2023-01-18 | [Xcvrd]: Fix optics insertion/removal not detected (sonic-net#333) (HEAD -> 202205) [Prince George] * 153ea47 2023-01-18 | Xcvrd should restart if any child thread crashes (sonic-net#326) [mihirpat1] * 2d546b4 2022-12-06 | Add new fields to status/dom_sensor/pm tables in STATE_DB for CMIS/C-CMIS (sonic-net#304) [longhuan-cisco] * 620a2b1 2022-12-05 | Create TRANSCEIVER_DOM_THRESHOLD table in state DB (sonic-net#320) [mihirpat1] * dcad1d6 2022-11-08 | Fix typo in xcvrd (sonic-net#313) [Junchao-Mellanox] Signed-off-by: Ying Xie <[email protected]>
… advance submodule head (#13440) utilities: * 3ebe948 2023-01-14 | [show] Add bgpraw to show run all (#2537) (HEAD -> 202205) [jingwenxie] * 7979b9b 2022-12-05 | Transceiver eeprom dom CLI modification to show output from TRANSCEIVER_DOM_THRESHOLD table (#2535) [mihirpat1] swss: * 4ad82c5 2023-01-13 | Changed the BFD default detect multiplier to 10x (#2614) (HEAD -> 202205) [siqbal1986] * 4fe7138 2023-01-12 | [MuxOrch] Enabling neighbor when adding in active state (#2601) [Nikola Dancejic] sairedis: * 2f6cbd3 2023-01-19 | Fix for [EVPN] When MAC moves from remote end point to local, ASIC DB fields are not updated properly for the mac #11503 (#1173) (github/202205) [anilkpan] platform-daemon: * 2851d86 2023-01-17 | Chassisd do an explicit stop of the config_manager (#328) (HEAD -> 202205) [judyjoseph] platform-common: * 2995989 2022-12-06 | Add get_transceiver_status and get_transceiver_pm to API interface (#315) (HEAD -> 202205) [longhuan-cisco] Signed-off-by: Ying Xie <[email protected]> Signed-off-by: Ying Xie <[email protected]>
The introduction of vlanmgrd and intfmgrd daemons introduced a longer delay between the time interfaces are brought up and when they are assigned IP addresses. This exaggerated a possible race condition, as we were previously only checking for the interfaces to be up before starting the relay agents. It was possible for a relay agent to bind to an interface which did not have an IP address assigned, which would cause the relay agent to fail to listen or send on that interface for the remainder of the process's lifetime.
We should probably look into a universal solution to this in the future, possibly utilizing a database, and maybe implement a service that blocks until all interfaces are up and configured properly. That way, all services that rely on the interfaces being up and configured can simply depend on it.