4426f7715f
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>
28 lines
869 B
Diff
28 lines
869 B
Diff
From 988c808af6065b740006aef0e94496821d41fb98 Mon Sep 17 00:00:00 2001
|
|
From: Stepan Blyschak <stepanb@nvidia.com>
|
|
Date: Mon, 4 Apr 2022 09:57:39 +0000
|
|
Subject: [PATCH] Fix version string generation when scapy is a submodule
|
|
|
|
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
|
|
---
|
|
scapy/__init__.py | 3 ---
|
|
1 file changed, 3 deletions(-)
|
|
|
|
diff --git a/scapy/__init__.py b/scapy/__init__.py
|
|
index f920151e..2adbea19 100644
|
|
--- a/scapy/__init__.py
|
|
+++ b/scapy/__init__.py
|
|
@@ -42,9 +42,6 @@ def _version_from_git_describe():
|
|
:raises CalledProcessError: if git is unavailable
|
|
:return: Scapy's latest tag
|
|
"""
|
|
- if not os.path.isdir(os.path.join(os.path.dirname(_SCAPY_PKG_DIR), '.git')): # noqa: E501
|
|
- raise ValueError('not in scapy git repo')
|
|
-
|
|
def _git(cmd):
|
|
# type: (str) -> str
|
|
process = subprocess.Popen(
|
|
--
|
|
2.14.1
|
|
|