Loading adapter/src/PacketFilter/PacketDissector.cpp +2 −0 Original line number Original line Diff line number Diff line Loading @@ -45,6 +45,7 @@ PacketDissector::PacketDissector(const char* psPacket) m_ipv6Hdr(0), m_ipv6Hdr(0), m_tcpHdr(0), m_tcpHdr(0), m_udpHdr(0), m_udpHdr(0), m_gtpHdr(0), m_payload(0) { m_payload(0) { m_ethHdr = new EthernetHeader; m_ethHdr = new EthernetHeader; Loading Loading @@ -112,6 +113,7 @@ PacketDissector::~PacketDissector() { delete m_ipHdr; delete m_ipHdr; delete m_tcpHdr; delete m_tcpHdr; delete m_udpHdr; delete m_udpHdr; delete m_gtpHdr; delete m_payload; delete m_payload; } } Loading adapter/src/PacketFilter/PacketDissector.h +18 −1 Original line number Original line Diff line number Diff line Loading @@ -96,6 +96,21 @@ struct TcpHeader unsigned short urgentPointer; // urgent pointer unsigned short urgentPointer; // urgent pointer }; }; struct GtpHeader{ unsigned char pn_flag :1; unsigned char s_flag :1; unsigned char e_flag :1; unsigned char spare :1; unsigned char pt :1; unsigned char version :3; unsigned char messageType; unsigned char length[2]; unsigned char teid[4]; unsigned char seqNum[2]; //optional unsigned char npduNum; //optional unsigned char extensionHeader; //optional }; #define ETH_TYPE_IP 8 #define ETH_TYPE_IP 8 #define ETH_TYPE_IPv6 0xdd86 #define ETH_TYPE_IPv6 0xdd86 Loading @@ -107,7 +122,8 @@ enum HeaderId { e_Ethernet, e_Ethernet, e_Ip, e_Ip, e_Tcp, e_Tcp, e_Udp e_Udp, e_Gtp }; }; enum FieldId { enum FieldId { Loading @@ -134,6 +150,7 @@ class PacketDissector { IpV6Header *m_ipv6Hdr; IpV6Header *m_ipv6Hdr; UdpHeader *m_udpHdr; UdpHeader *m_udpHdr; TcpHeader *m_tcpHdr; TcpHeader *m_tcpHdr; GtpHeader *m_gtpHdr; char *m_payload; char *m_payload; }; }; Loading Loading
adapter/src/PacketFilter/PacketDissector.cpp +2 −0 Original line number Original line Diff line number Diff line Loading @@ -45,6 +45,7 @@ PacketDissector::PacketDissector(const char* psPacket) m_ipv6Hdr(0), m_ipv6Hdr(0), m_tcpHdr(0), m_tcpHdr(0), m_udpHdr(0), m_udpHdr(0), m_gtpHdr(0), m_payload(0) { m_payload(0) { m_ethHdr = new EthernetHeader; m_ethHdr = new EthernetHeader; Loading Loading @@ -112,6 +113,7 @@ PacketDissector::~PacketDissector() { delete m_ipHdr; delete m_ipHdr; delete m_tcpHdr; delete m_tcpHdr; delete m_udpHdr; delete m_udpHdr; delete m_gtpHdr; delete m_payload; delete m_payload; } } Loading
adapter/src/PacketFilter/PacketDissector.h +18 −1 Original line number Original line Diff line number Diff line Loading @@ -96,6 +96,21 @@ struct TcpHeader unsigned short urgentPointer; // urgent pointer unsigned short urgentPointer; // urgent pointer }; }; struct GtpHeader{ unsigned char pn_flag :1; unsigned char s_flag :1; unsigned char e_flag :1; unsigned char spare :1; unsigned char pt :1; unsigned char version :3; unsigned char messageType; unsigned char length[2]; unsigned char teid[4]; unsigned char seqNum[2]; //optional unsigned char npduNum; //optional unsigned char extensionHeader; //optional }; #define ETH_TYPE_IP 8 #define ETH_TYPE_IP 8 #define ETH_TYPE_IPv6 0xdd86 #define ETH_TYPE_IPv6 0xdd86 Loading @@ -107,7 +122,8 @@ enum HeaderId { e_Ethernet, e_Ethernet, e_Ip, e_Ip, e_Tcp, e_Tcp, e_Udp e_Udp, e_Gtp }; }; enum FieldId { enum FieldId { Loading @@ -134,6 +150,7 @@ class PacketDissector { IpV6Header *m_ipv6Hdr; IpV6Header *m_ipv6Hdr; UdpHeader *m_udpHdr; UdpHeader *m_udpHdr; TcpHeader *m_tcpHdr; TcpHeader *m_tcpHdr; GtpHeader *m_gtpHdr; char *m_payload; char *m_payload; }; }; Loading