From d13b61171b5b842dd0e50c1f62bc1d6b4a944e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Ganne?= Date: Thu, 1 Aug 2024 15:09:26 +0200 Subject: [PATCH] tests: fix ipv6 fragmented esp w/ scapy 2.4.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since scapy 2.4.4, scapy will not decode the next layer if the fragment offset is not 0 - IOW it will decode only for the 1st fragment. See https://github.com/secdev/scapy/commit/f1c26e77c535598f84b01035ac8ac465def30c72 Type: fix Change-Id: If738734f90b15b24c0d98fec4bce4ff48c6d5fea Signed-off-by: BenoƮt Ganne --- test/template_ipsec.py | 8 ++++---- test/test_ipsec_esp.py | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/test/template_ipsec.py b/test/template_ipsec.py index 6cc7a58403d..4e68d44013f 100644 --- a/test/template_ipsec.py +++ b/test/template_ipsec.py @@ -1938,7 +1938,7 @@ class IpsecTra6(object): Ether(src=sw_intf.remote_mac, dst=sw_intf.local_mac) / IPv6(src=src, dst=dst) / IPv6ExtHdrHopByHop() - / IPv6ExtHdrFragment(id=2, offset=200) + / IPv6ExtHdrFragment(id=2, offset=0) / Raw(b"\xff" * 200) for i in range(count) ] @@ -1985,7 +1985,7 @@ class IpsecTra6(object): tx = ( Ether(src=self.pg2.remote_mac, dst=self.pg2.local_mac) / IPv6(src=self.tra_if.local_ip6, dst=self.tra_if.remote_ip6) - / IPv6ExtHdrFragment(id=2, offset=200) + / IPv6ExtHdrFragment(id=2, offset=0) / Raw(b"\xff" * 200) ) @@ -2004,7 +2004,7 @@ class IpsecTra6(object): Ether(src=self.pg2.remote_mac, dst=self.pg2.local_mac) / IPv6(src=self.tra_if.local_ip6, dst=self.tra_if.remote_ip6) / IPv6ExtHdrHopByHop() - / IPv6ExtHdrFragment(id=2, offset=200) + / IPv6ExtHdrFragment(id=2, offset=0) / Raw(b"\xff" * 200) ) @@ -2021,7 +2021,7 @@ class IpsecTra6(object): Ether(src=self.pg2.remote_mac, dst=self.pg2.local_mac) / IPv6(src=self.tra_if.local_ip6, dst=self.tra_if.remote_ip6) / IPv6ExtHdrHopByHop() - / IPv6ExtHdrFragment(id=2, offset=200) + / IPv6ExtHdrFragment(id=2, offset=0) / IPv6ExtHdrDestOpt() / Raw(b"\xff" * 200) ) diff --git a/test/test_ipsec_esp.py b/test/test_ipsec_esp.py index 8cfe8b2eed1..bfdef2a78d7 100644 --- a/test/test_ipsec_esp.py +++ b/test/test_ipsec_esp.py @@ -421,7 +421,6 @@ class TemplateIpsecEsp(ConfigIpsecESP): super(TemplateIpsecEsp, self).tearDown() -@unittest.skipIf(True, "Temporarily skip test until Scapy-2.4.5 patch is available") class TestIpsecEsp1( TemplateIpsecEsp, IpsecTra46Tests, IpsecTun46Tests, IpsecTra6ExtTests ):