Hello,
This is a patch to packet-gtp.c
It replaces the handling of PPP packets over GTPv1 and also establishes the handling of PPP packet over GTPv0.
Additionally IPv6 packets are handled in GTPv0 and GTPv1.
Explanation:
- old solution: examining the known PPP protocols is a tough task, because there might be more in the future -> the list must be extended more and more (the octet 0x00 has already been added for PPP network layer protocols, but for protocol field compression a lot of protocols must be inserted for IPv4(0x21), IPv6(0x57), maybe IPX (0x2b) or AppleTalk (0x29),...)
- new solution: It is easier the other way: the most significant nibble of the first octet must be 4 for IPv4 and 6 for IPv6. All other values are assumed to be PPP packets, including packets beginning with values 0x40-0x44 (header too short for IPv4 packet) and value 0x4f (PPP protocol type (IPv6 header compression protocol) taking precedence over IPv4 packets with header length of 60 octets).
I do not have access to the CVS system directly, so the first lines of the patch will have different information format.
<<packet-gtp.c.diff>>
Regards!
Andreas
Attachment:
packet-gtp.c.diff
Description: Binary data