aboutsummaryrefslogtreecommitdiffstats
path: root/test/patches/scapy-2.3.3/mpls.py.patch
blob: f63a70a3cd72ea1b6d1a9fd3e9c5c1ca6e77d78c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff --git a/scapy/contrib/mpls.py b/scapy/contrib/mpls.py
index 640a0c5..6af1d4a 100644
--- a/scapy/contrib/mpls.py
+++ b/scapy/contrib/mpls.py
@@ -18,6 +18,8 @@ class MPLS(Packet):
 
    def guess_payload_class(self, payload):
        if len(payload) >= 1:
+           if not self.s:
+              return MPLS
            ip_version = (ord(payload[0]) >> 4) & 0xF
            if ip_version == 4:
                return IP
@@ -27,3 +29,4 @@ class MPLS(Packet):
 
 bind_layers(Ether, MPLS, type=0x8847)
 bind_layers(GRE, MPLS, proto=0x8847)
+bind_layers(MPLS, MPLS, s=0)