2019-04-19 20:49:21 -05:00
|
|
|
# docker image for orchagent
|
|
|
|
|
|
|
|
DOCKER_ORCHAGENT_STEM = docker-orchagent
|
|
|
|
DOCKER_ORCHAGENT = $(DOCKER_ORCHAGENT_STEM).gz
|
|
|
|
DOCKER_ORCHAGENT_DBG = $(DOCKER_ORCHAGENT_STEM)-$(DBG_IMAGE_MARK).gz
|
|
|
|
|
2022-11-13 23:41:33 -06:00
|
|
|
$(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS) $(SONIC_RSYSLOG_PLUGIN)
|
2019-04-19 20:49:21 -05:00
|
|
|
|
2022-05-31 01:24:18 -05:00
|
|
|
ifeq ($(ENABLE_ASAN), y)
|
|
|
|
$(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS_DBG)
|
|
|
|
endif
|
|
|
|
|
2022-05-17 15:55:59 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_DBG_DEPENDS = $($(DOCKER_SWSS_LAYER_BULLSEYE)_DBG_DEPENDS)
|
2019-04-19 20:49:21 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_DBG_DEPENDS += $(SWSS_DBG) \
|
|
|
|
$(LIBSWSSCOMMON_DBG) \
|
2022-11-13 23:41:33 -06:00
|
|
|
$(LIBSAIREDIS_DBG) \
|
|
|
|
$(SONIC_RSYSLOG_PLUGIN)
|
[scapy] update scapy to 2.4.5 and patch it (#10457)
Why I did it
Running warm-reboot in a loop for 500 times leads to this error on 318-th iteration:
Apr 2 15:56:27.346747 sonic INFO swss#/supervisord: restore_neighbors Traceback (most recent call last):
Apr 2 15:56:27.346747 sonic INFO swss#/supervisord: restore_neighbors File "/usr/bin/restore_neighbors.py", line 24, in <module>
Apr 2 15:56:27.346747 sonic INFO swss#/supervisord: restore_neighbors from scapy.all import conf, in6_getnsma, inet_pton, inet_ntop, in6_getnsmac, get_if_hwaddr, Ether, ARP, IPv6, ICMPv6ND_NS, ICMPv6NDOptSrcLLAddr
Apr 2 15:56:27.346795 sonic INFO swss#/supervisord: restore_neighbors File "/usr/local/lib/python3.7/dist-packages/scapy/all.py", line 25, in <module>
Apr 2 15:56:27.346956 sonic INFO swss#/supervisord: restore_neighbors from scapy.route import *
Apr 2 15:56:27.346995 sonic INFO swss#/supervisord: restore_neighbors File "/usr/local/lib/python3.7/dist-packages/scapy/route.py", line 205, in <module>
Apr 2 15:56:27.347089 sonic INFO swss#/supervisord: restore_neighbors conf.iface = get_working_if()
Apr 2 15:56:27.347129 sonic INFO swss#/supervisord: restore_neighbors File "/usr/local/lib/python3.7/dist-packages/scapy/arch/linux.py", line 128, in get_working_if
Apr 2 15:56:27.347213 sonic INFO swss#/supervisord: restore_neighbors ifflags = struct.unpack("16xH14x", get_if(i, SIOCGIFFLAGS))[0]
Apr 2 15:56:27.347250 sonic INFO swss#/supervisord: restore_neighbors File "/usr/local/lib/python3.7/dist-packages/scapy/arch/common.py", line 31, in get_if
Apr 2 15:56:27.347345 sonic INFO swss#/supervisord: restore_neighbors return ioctl(sck, cmd, struct.pack("16s16x", iff.encode("utf8")))
Apr 2 15:56:27.347365 sonic INFO swss#/supervisord: restore_neighbors OSError: [Errno 19] No such device
The issue was reported to scapy devs secdev/scapy#3369, the fix is secdev/scapy#3371, however there is no released scapy version with this fix right now, thus decided to build scapy v2.4.5 from sources and apply the fix in a form of a patch.
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2022-04-07 06:23:35 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_PYTHON_WHEELS += $(SCAPY)
|
2019-04-19 20:49:21 -05:00
|
|
|
|
2022-05-17 15:55:59 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_DBG_IMAGE_PACKAGES = $($(DOCKER_SWSS_LAYER_BULLSEYE)_DBG_IMAGE_PACKAGES)
|
2019-04-19 20:49:21 -05:00
|
|
|
|
|
|
|
$(DOCKER_ORCHAGENT)_PATH = $(DOCKERS_PATH)/$(DOCKER_ORCHAGENT_STEM)
|
|
|
|
|
2022-05-17 15:55:59 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_LOAD_DOCKERS += $(DOCKER_SWSS_LAYER_BULLSEYE)
|
2019-04-19 20:49:21 -05:00
|
|
|
|
2021-04-26 15:51:50 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_VERSION = 1.0.0
|
|
|
|
$(DOCKER_ORCHAGENT)_PACKAGE_NAME = swss
|
2021-07-11 08:58:05 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_WARM_SHUTDOWN_BEFORE = syncd
|
|
|
|
$(DOCKER_ORCHAGENT)_FAST_SHUTDOWN_BEFORE = syncd
|
2021-04-26 15:51:50 -05:00
|
|
|
|
2019-04-19 20:49:21 -05:00
|
|
|
SONIC_DOCKER_IMAGES += $(DOCKER_ORCHAGENT)
|
|
|
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ORCHAGENT)
|
|
|
|
|
|
|
|
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_ORCHAGENT_DBG)
|
|
|
|
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_ORCHAGENT_DBG)
|
|
|
|
|
|
|
|
$(DOCKER_ORCHAGENT)_CONTAINER_NAME = swss
|
2020-01-26 15:56:42 -06:00
|
|
|
$(DOCKER_ORCHAGENT)_RUN_OPT += --privileged -t
|
2019-04-19 20:49:21 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_RUN_OPT += -v /etc/network/interfaces:/etc/network/interfaces:ro
|
2023-06-25 18:36:09 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_RUN_OPT += -v /etc/timezone:/etc/timezone:ro
|
2019-04-19 20:49:21 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_RUN_OPT += -v /etc/network/interfaces.d/:/etc/network/interfaces.d/:ro
|
|
|
|
$(DOCKER_ORCHAGENT)_RUN_OPT += -v /host/machine.conf:/host/machine.conf:ro
|
|
|
|
$(DOCKER_ORCHAGENT)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
|
|
|
$(DOCKER_ORCHAGENT)_RUN_OPT += -v /var/log/swss:/var/log/swss:rw
|
|
|
|
|
2019-04-25 02:34:34 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_BASE_IMAGE_FILES += swssloglevel:/usr/bin/swssloglevel
|
2020-09-18 20:44:23 -05:00
|
|
|
$(DOCKER_ORCHAGENT)_FILES += $(ARP_UPDATE_SCRIPT) $(ARP_UPDATE_VARS_TEMPLATE) $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)
|