sonic-buildimage/files/build_templates
anamehra e107549942 chassis-packet: resolve the missing static routes (#14593)
Why I did it
Fixes #14179
chassis-packet: missing arp entries for static routes causing high orchagent cpu usage

It is observed that some sonic-mgmt test case calls sonic-clear arp, which clears the static arp entries as well. Orchagent or arp_update process does not try to resolve the missing arp entries after clear.

How I did it
arp_update should resolve the missing arp/ndp static route
entries. Added code to check for missing entries and try ping if any
found to resolve it.

How to verify it
After boot or config reload, check ipv4 and ipv4 neigh entries to make sure all static route entries are present
manual validation:
Use sonic-clear arp and sonic-clear ndp to clear all neighbor entries
run arp_update
Check for neigh entries. All entries should be present.
Testing on T0 setup route/for test_static_route.py

The test set the STATIC_ROUTE entry in conifg db without ifname:
sonic-db-cli CONFIG_DB hmset 'STATIC_ROUTE|2.2.2.0/24' nexthop 192.168.0.18,192.168.0.25,192.168.0.23

"STATIC_ROUTE": {
    "2.2.2.0/24": {
        "nexthop": "192.168.0.18,192.168.0.25,192.168.0.23"
    }
},
Validate that the arp_update gets the proper ARP_UPDATE_VARDS using arp_update_vars.j2 template from config db and does not crash:

{ "switch_type": "", "interface": "", "pc_interface" : "PortChannel101 PortChannel102 PortChannel103 PortChannel104 ", "vlan_sub_interface": "", "vlan" : "Vlan1000", "static_route_nexthops": "192.168.0.18 192.168.0.25 192.168.0.23 ", "static_route_ifnames": "" }

validate route/test_static_route.py testcase pass.
2023-04-12 18:32:47 +08:00
..
per_namespace [swss/syncd] remove dependency on interfaces-config.service (#13084) (#14341) 2023-03-19 22:32:37 +08:00
share_image [hostcfgd] Configure service auto-restart in hostcfgd. (#5744) 2021-06-29 09:06:21 -07:00
arp_update_vars.j2 chassis-packet: resolve the missing static routes (#14593) 2023-04-12 18:32:47 +08:00
backend_acl.j2 Add backend acl template (#11220) 2022-07-06 10:24:16 -07:00
buffers_config.j2 [Buffer] Added cable length config to buffer config template for EdgeZoneAggregator (#14280) 2023-03-20 22:36:33 +08:00
build_docker_cache.j2 02.Version cache - docker cache build framework (#12001) 2023-02-11 06:33:57 +08:00
cbf_config.j2 [CBF] Added configuration templates to generate configs for CBF (#8689) 2021-10-29 17:18:57 -07:00
config-chassisdb.service.j2 [ChassisDB]: bring up ChassisDB service (#5283) 2020-10-14 15:15:24 -07:00
config-setup.service.j2 [config-setup]: create a SONiC configuration management service (#3227) 2019-12-04 07:15:58 -08:00
database.service.j2 Multi-ASIC implementation (#3888) 2020-03-31 10:06:19 -07:00
dhcp_relay.service.j2 [hostcfgd] Configure service auto-restart in hostcfgd. (#5744) 2021-06-29 09:06:21 -07:00
docker_image_ctl.j2 [Mellanox][sai_failure_dump]Added platform specific script to be invoked during SAI failure dump (#13533) 2023-02-18 06:34:29 +08:00
dockerd_regex.json Add Structured Events w/ YANG Models (#12270) 2022-10-09 20:23:31 -07:00
eventd.service.j2 Streaming structured events implementation (#11848) 2022-09-03 07:33:25 -07:00
events_info.json Add rsyslog plugin regex for select operation failure (#12659) 2022-11-13 21:41:33 -08:00
iccpd.service.j2 [services] introduce sonic.target (#5705) 2021-02-25 14:26:24 +02:00
init_cfg.json.j2 [Dual-ToR] add default value for ACL rule for mellanox platform (#13547) 2023-03-10 14:39:38 +08:00
kernel_regex.json Add Structured Events w/ YANG Models (#12270) 2022-10-09 20:23:31 -07:00
kube_cni.10-flannel.conflist First cut image update for kubernetes support. (#5421) 2020-12-22 08:01:33 -08:00
lldp.service.j2 Changes for LLDP docker to support multi-npu platforms (#4530) 2020-05-11 11:05:44 -07:00
lldp.timer.j2 [Fastboot] Delay LLDP service for better fastboot performance (#10568) 2022-04-28 10:35:14 +03:00
manifest.json.j2 [infra] Support syslog rate limit configuration (#12490) (#13535) 2023-01-30 20:11:44 +02:00
mgmt-framework.service.j2 [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
mgmt-framework.timer Grouping delayed services under a target for config reload checks (#7846) 2021-06-21 11:55:02 -07:00
monit_regex.json Add events to host and create rsyslog_plugin deb pkg (#12059) 2022-09-21 09:20:53 -07:00
mux.service.j2 [mux] Exit to write standby state to active-active ports (#11821) 2022-08-31 13:10:22 -07:00
nat.service.j2 [hostcfgd] Configure service auto-restart in hostcfgd. (#5744) 2021-06-29 09:06:21 -07:00
organization_extensions.sh Framework to plugin Organization specific scripts during ONIE Image build (#951) 2017-09-19 16:23:31 -07:00
p4rt.service.j2 [PINS] Build P4RT container for PINS (#9083) 2021-12-07 11:11:25 -08:00
packages.json.j2 [sonic_debian_extension] fix packages.json generation and make the build fail when packages.json is not generated (#8044) 2021-07-09 12:29:33 -07:00
pde.service.j2 [PDE]: introduce the SONiC Platform Development Env (#7510) 2021-07-24 16:24:43 -07:00
pmon.service.j2 [Fastboot] Delay PMON service for better fastboot performance (#10567) 2022-05-02 10:44:17 +03:00
pmon.timer [Fastboot] Delay PMON service for better fastboot performance (#10567) 2022-05-02 10:44:17 +03:00
qos_config.j2 Apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP to uplink ports on dualtor (#12730) 2022-12-10 10:33:21 +08:00
radv.service.j2 [hostcfgd] Configure service auto-restart in hostcfgd. (#5744) 2021-06-29 09:06:21 -07:00
restapi.service.j2 [hostcfgd] Configure service auto-restart in hostcfgd. (#5744) 2021-06-29 09:06:21 -07:00
rsyslog_plugin.conf.j2 Add events to host and create rsyslog_plugin deb pkg (#12059) 2022-09-21 09:20:53 -07:00
seu_regex.json Add Structured Events w/ YANG Models (#12270) 2022-10-09 20:23:31 -07:00
sflow.service.j2 [hostcfgd] Configure service auto-restart in hostcfgd. (#5744) 2021-06-29 09:06:21 -07:00
snmp.service.j2 [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
snmp.timer Grouping delayed services under a target for config reload checks (#7846) 2021-06-21 11:55:02 -07:00
sonic_debian_extension.j2 [storage_backend] Add backend acl service (#14229) 2023-03-19 22:32:22 +08:00
sonic_version.yml.j2 [Mellanox][asan] add address sanitizer support for syncd (#10266) 2022-04-14 15:00:32 -07:00
sonic-delayed.target Grouping delayed services under a target for config reload checks (#7846) 2021-06-21 11:55:02 -07:00
sonic.target [services] introduce sonic.target (#5705) 2021-02-25 14:26:24 +02:00
sshd_regex.json Add events to host and create rsyslog_plugin deb pkg (#12059) 2022-09-21 09:20:53 -07:00
swss_vars.j2 [Mellanox] Support DSCP remapping in dual ToR topo on T0 switch (#12605) (#13787) 2023-02-14 14:59:59 +08:00
syncd_regex.json Add rsyslog plugin regex for select operation failure (#12659) 2022-11-13 21:41:33 -08:00
systemd_regex.json Add Structured Events w/ YANG Models (#12270) 2022-10-09 20:23:31 -07:00
tacacs-config.service Add service to restore TACACS from old config (#7560) 2021-06-03 20:07:17 -07:00
tacacs-config.timer [services] Update "WantedBy=" section for tacacs-config.timer. (#11893) 2022-09-08 15:16:11 -07:00
telemetry.service.j2 [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
telemetry.timer Grouping delayed services under a target for config reload checks (#7846) 2021-06-21 11:55:02 -07:00
updategraph.service.j2 [config-setup]: create a SONiC configuration management service (#3227) 2019-12-04 07:15:58 -08:00