8 #ifndef FGTPUV1FRAME_H_
9 #define FGTPUV1FRAME_H_ 1
14 #include "../endian_conversion.h"
17 #include "../openflow/openflow.h"
18 #include "../fframe.h"
37 enum gtpu_udp_port_t {
42 GTPU_PT_FLAG = (1 << 4),
43 GTPU_E_FLAG = (1 << 2),
44 GTPU_S_FLAG = (1 << 1),
45 GTPU_PN_FLAG = (1 << 0),
94 uint8_t* gtphu_gtpu_hdr;
101 #define gtphu_hdr gtphu.gtphu_gtpu_hdr
102 #define gtphu_e_hdr gtphu.gtphu_gtpu_e_hdr
103 #define gtphu_pn_hdr gtphu.gtphu_gtpu_pn_hdr
104 #define gtphu_s_hdr gtphu.gtphu_gtpu_s_hdr
105 #define gtphu_short_hdr gtphu.gtphu_gtpu_short_hdr
124 size_t len =
sizeof(
struct gtpu_e_hdr_t));
182 uint8_t version = GTPU_VERS_1);
249 get_msg_type()
const;
324 get_ext_type()
const;
339 get_hdr_length()
const;
364 uint16_t total_len = 0)
const;
virtual uint8_t * sopdu() const
Returns pointer to begin of this PDU.
Definition: fgtpuframe.cc:51
virtual size_t payloadlen() const
Definition: fgtpuframe.cc:383
Definition: fgtpuframe.h:25
virtual void validate(uint16_t total_len=0) const
Definition: fgtpuframe.cc:339
virtual size_t pdulen() const
Returns length of this PDU.
Definition: fgtpuframe.cc:76
Definition: fgtpuframe.h:61
virtual void initialize()
Definition: fgtpuframe.cc:349
virtual void payload_insert(uint8_t *data, size_t datalen)
Definition: fgtpuframe.cc:357
virtual void reset(uint8_t *data, size_t datalen)
Definition: fgtpuframe.cc:40
virtual bool complete() const
Definition: fgtpuframe.cc:307
virtual uint8_t * sosdu() const
Returns pointer to begin of SDU encapsulated in this PDU (if any).
Definition: fgtpuframe.cc:59
virtual uint8_t * payload() const
Definition: fgtpuframe.cc:366
Definition: fgtpuframe.h:82
Definition: fgtpuframe.h:28
virtual size_t need_bytes() const
Definition: fgtpuframe.cc:323
Definition: fgtpuframe.h:72
Definition: fgtpuframe.h:49
Definition: fgtpuframe.h:24