rename struct packet_layer to struct raw_layer

This commit is contained in:
luwenpeng
2024-06-14 10:48:11 +08:00
parent 020c8303c6
commit 1f78881cbb
20 changed files with 251 additions and 251 deletions

View File

@@ -48,7 +48,7 @@ enum layer_proto
LAYER_PROTO_GTPV1_U = 62, LAYER_PROTO_GTPV1_U = 62,
}; };
struct packet_layer struct raw_layer
{ {
enum layer_proto type; enum layer_proto type;
const char *hdr_ptr; // header pointer const char *hdr_ptr; // header pointer
@@ -81,8 +81,8 @@ enum packet_direction packet_get_direction(const struct packet *pkt);
uint64_t packet_get_session_id(const struct packet *pkt); uint64_t packet_get_session_id(const struct packet *pkt);
void packet_prepend_sid_list(struct packet *pkt, const struct sid_list *list); void packet_prepend_sid_list(struct packet *pkt, const struct sid_list *list);
int8_t packet_get_layer_count(const struct packet *pkt); int packet_get_layer_count(const struct packet *pkt);
const struct packet_layer *packet_get_layer(const struct packet *pkt, int8_t idx); const struct raw_layer *packet_get_raw_layer(const struct packet *pkt, int idx);
const char *packet_get_data(const struct packet *pkt); const char *packet_get_data(const struct packet *pkt);
uint16_t packet_get_len(const struct packet *pkt); uint16_t packet_get_len(const struct packet *pkt);
@@ -107,11 +107,11 @@ static inline int packet_get_addr(const struct packet *pkt, struct address *src_
{ {
const struct ip *ip4_hdr = NULL; const struct ip *ip4_hdr = NULL;
const struct ip6_hdr *ip6_hdr = NULL; const struct ip6_hdr *ip6_hdr = NULL;
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
int8_t num = packet_get_layer_count(pkt); int num = packet_get_layer_count(pkt);
for (int8_t i = num - 1; i >= 0; i--) for (int i = num - 1; i >= 0; i--)
{ {
layer = packet_get_layer(pkt, i); layer = packet_get_raw_layer(pkt, i);
if (layer->type == LAYER_PROTO_IPV4) if (layer->type == LAYER_PROTO_IPV4)
{ {
ip4_hdr = (const struct ip *)layer->hdr_ptr; ip4_hdr = (const struct ip *)layer->hdr_ptr;
@@ -151,11 +151,11 @@ static inline int packet_get_port(const struct packet *pkt, uint16_t *src_port,
{ {
const struct tcphdr *tcp_hdr = NULL; const struct tcphdr *tcp_hdr = NULL;
const struct udphdr *udp_hdr = NULL; const struct udphdr *udp_hdr = NULL;
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
int8_t num = packet_get_layer_count(pkt); int num = packet_get_layer_count(pkt);
for (int8_t i = num - 1; i >= 0; i--) for (int i = num - 1; i >= 0; i--)
{ {
layer = packet_get_layer(pkt, i); layer = packet_get_raw_layer(pkt, i);
if (layer->type == LAYER_PROTO_TCP) if (layer->type == LAYER_PROTO_TCP)
{ {
tcp_hdr = (const struct tcphdr *)layer->hdr_ptr; tcp_hdr = (const struct tcphdr *)layer->hdr_ptr;

View File

@@ -34,9 +34,9 @@ struct duplicated_packet_filter
// reutrn -1: error // reutrn -1: error
static inline int duplicated_packet_key_get(const struct packet *packet, struct duplicated_packet_key *key) static inline int duplicated_packet_key_get(const struct packet *packet, struct duplicated_packet_key *key)
{ {
const struct packet_layer *ip_layer = packet_get_innermost_layer(packet, LAYER_PROTO_IPV4); const struct raw_layer *ip_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_IPV4);
const struct packet_layer *tcp_layer = packet_get_innermost_layer(packet, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_TCP);
const struct packet_layer *udp_layer = packet_get_innermost_layer(packet, LAYER_PROTO_UDP); const struct raw_layer *udp_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_UDP);
if (ip_layer == NULL || (tcp_layer == NULL && udp_layer == NULL)) if (ip_layer == NULL || (tcp_layer == NULL && udp_layer == NULL))
{ {
return -1; return -1;

View File

@@ -300,7 +300,7 @@ static inline void ip_flow_key_zero(struct ip_flow_key *key)
static inline void ip_frag_hdr_init(struct ip_frag_hdr *hdr, const struct packet *pkt) static inline void ip_frag_hdr_init(struct ip_frag_hdr *hdr, const struct packet *pkt)
{ {
struct packet_layer *layer = pkt->frag_layer; struct raw_layer *layer = pkt->frag_layer;
if (layer->type == LAYER_PROTO_IPV6) if (layer->type == LAYER_PROTO_IPV6)
{ {
@@ -859,7 +859,7 @@ struct packet *ip_reassembly_packet(struct ip_reassembly *assy, const struct pac
return NULL; return NULL;
} }
const struct packet_layer *layer = pkt->frag_layer; const struct raw_layer *layer = pkt->frag_layer;
if (layer == NULL) if (layer == NULL)
{ {
return NULL; return NULL;
@@ -897,7 +897,7 @@ struct packet *ip_reassembly_packet(struct ip_reassembly *assy, const struct pac
struct packet *ipv4_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now) struct packet *ipv4_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now)
{ {
const struct packet_layer *layer = pkt->frag_layer; const struct raw_layer *layer = pkt->frag_layer;
const struct ip *hdr = (const struct ip *)layer->hdr_ptr; const struct ip *hdr = (const struct ip *)layer->hdr_ptr;
uint16_t frag_len = ipv4_hdr_get_total_len(hdr) - ipv4_hdr_get_hdr_len(hdr); uint16_t frag_len = ipv4_hdr_get_total_len(hdr) - ipv4_hdr_get_hdr_len(hdr);
if (frag_len > layer->pld_len) if (frag_len > layer->pld_len)
@@ -983,7 +983,7 @@ struct packet *ipv4_reassembly_packet(struct ip_reassembly *assy, const struct p
struct packet *ipv6_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now) struct packet *ipv6_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now)
{ {
const struct packet_layer *layer = pkt->frag_layer; const struct raw_layer *layer = pkt->frag_layer;
const struct ip6_hdr *hdr = (const struct ip6_hdr *)layer->hdr_ptr; const struct ip6_hdr *hdr = (const struct ip6_hdr *)layer->hdr_ptr;
const struct ip6_frag *frag_hdr = ipv6_hdr_get_frag_ext(hdr); const struct ip6_frag *frag_hdr = ipv6_hdr_get_frag_ext(hdr);
if (frag_hdr == NULL) if (frag_hdr == NULL)

View File

@@ -196,7 +196,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
{ {
struct packet pkt; struct packet pkt;
struct packet *new_pkt; struct packet *new_pkt;
const struct packet_layer *layer; const struct raw_layer *layer;
struct ip_reassembly *assy; struct ip_reassembly *assy;
struct ip_reassembly_options opts = { struct ip_reassembly_options opts = {
.enable = true, .enable = true,
@@ -243,7 +243,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0); EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// check IPv4 // check IPv4
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct ip *hdr = (struct ip *)layer->hdr_ptr; struct ip *hdr = (struct ip *)layer->hdr_ptr;
EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4); EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4);
@@ -262,7 +262,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL); EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL);
// check TCP // check TCP
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr; struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629); EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
@@ -289,7 +289,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
{ {
struct packet pkt; struct packet pkt;
struct packet *new_pkt; struct packet *new_pkt;
const struct packet_layer *layer; const struct raw_layer *layer;
struct ip_reassembly *assy; struct ip_reassembly *assy;
struct ip_reassembly_options opts = { struct ip_reassembly_options opts = {
.enable = true, .enable = true,
@@ -336,7 +336,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0); EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// check IPv4 // check IPv4
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct ip *hdr = (struct ip *)layer->hdr_ptr; struct ip *hdr = (struct ip *)layer->hdr_ptr;
EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4); EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4);
@@ -355,7 +355,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL); EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL);
// check TCP // check TCP
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr; struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629); EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
@@ -433,7 +433,7 @@ TEST(IPV4_REASSEMBLE, DUP_FIRST_FRAG)
{ {
struct packet pkt; struct packet pkt;
struct packet *new_pkt; struct packet *new_pkt;
const struct packet_layer *layer; const struct raw_layer *layer;
struct ip_reassembly *assy; struct ip_reassembly *assy;
struct ip_reassembly_options opts = { struct ip_reassembly_options opts = {
.enable = true, .enable = true,
@@ -491,7 +491,7 @@ TEST(IPV4_REASSEMBLE, DUP_FIRST_FRAG)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0); EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// check IPv4 // check IPv4
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct ip *hdr = (struct ip *)layer->hdr_ptr; struct ip *hdr = (struct ip *)layer->hdr_ptr;
EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4); EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4);
@@ -510,7 +510,7 @@ TEST(IPV4_REASSEMBLE, DUP_FIRST_FRAG)
EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL); EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL);
// check TCP // check TCP
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr; struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629); EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
@@ -537,7 +537,7 @@ TEST(IPV4_REASSEMBLE, DUP_LAST_FRAG)
{ {
struct packet pkt; struct packet pkt;
struct packet *new_pkt; struct packet *new_pkt;
const struct packet_layer *layer; const struct raw_layer *layer;
struct ip_reassembly *assy; struct ip_reassembly *assy;
struct ip_reassembly_options opts = { struct ip_reassembly_options opts = {
.enable = true, .enable = true,
@@ -595,7 +595,7 @@ TEST(IPV4_REASSEMBLE, DUP_LAST_FRAG)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0); EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// check IPv4 // check IPv4
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct ip *hdr = (struct ip *)layer->hdr_ptr; struct ip *hdr = (struct ip *)layer->hdr_ptr;
EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4); EXPECT_TRUE(ipv4_hdr_get_version(hdr) == 4);
@@ -614,7 +614,7 @@ TEST(IPV4_REASSEMBLE, DUP_LAST_FRAG)
EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL); EXPECT_TRUE(ipv4_hdr_get_opt_data(hdr) == NULL);
// check TCP // check TCP
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr; struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629); EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);

View File

@@ -607,7 +607,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
{ {
struct packet pkt; struct packet pkt;
struct packet *new_pkt; struct packet *new_pkt;
const struct packet_layer *layer; const struct raw_layer *layer;
struct ip_reassembly *assy; struct ip_reassembly *assy;
struct ip_reassembly_options opts = { struct ip_reassembly_options opts = {
.enable = true, .enable = true,
@@ -676,7 +676,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0); EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// check IPv6 // check IPv6
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV6); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV6);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr; struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
EXPECT_TRUE(ipv6_hdr_get_version(hdr) == 6); EXPECT_TRUE(ipv6_hdr_get_version(hdr) == 6);
@@ -696,7 +696,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
EXPECT_TRUE(ipv6_hdr_get_frag_ext(hdr) == NULL); EXPECT_TRUE(ipv6_hdr_get_frag_ext(hdr) == NULL);
// check UDP // check UDP
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_UDP); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_UDP);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr; struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363); EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
@@ -767,7 +767,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
{ {
struct packet pkt; struct packet pkt;
struct packet *new_pkt; struct packet *new_pkt;
const struct packet_layer *layer; const struct raw_layer *layer;
struct ip_reassembly *assy; struct ip_reassembly *assy;
struct ip_reassembly_options opts = { struct ip_reassembly_options opts = {
.enable = true, .enable = true,
@@ -847,7 +847,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0); EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// check IPv6 // check IPv6
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV6); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV6);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr; struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
EXPECT_TRUE(ipv6_hdr_get_version(hdr) == 6); EXPECT_TRUE(ipv6_hdr_get_version(hdr) == 6);
@@ -867,7 +867,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
EXPECT_TRUE(ipv6_hdr_get_frag_ext(hdr) == NULL); EXPECT_TRUE(ipv6_hdr_get_frag_ext(hdr) == NULL);
// check UDP // check UDP
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_UDP); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_UDP);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr; struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363); EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
@@ -887,7 +887,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
{ {
struct packet pkt; struct packet pkt;
struct packet *new_pkt; struct packet *new_pkt;
const struct packet_layer *layer; const struct raw_layer *layer;
struct ip_reassembly *assy; struct ip_reassembly *assy;
struct ip_reassembly_options opts = { struct ip_reassembly_options opts = {
.enable = true, .enable = true,
@@ -967,7 +967,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0); EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// check IPv6 // check IPv6
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV6); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV6);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr; struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
EXPECT_TRUE(ipv6_hdr_get_version(hdr) == 6); EXPECT_TRUE(ipv6_hdr_get_version(hdr) == 6);
@@ -987,7 +987,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
EXPECT_TRUE(ipv6_hdr_get_frag_ext(hdr) == NULL); EXPECT_TRUE(ipv6_hdr_get_frag_ext(hdr) == NULL);
// check UDP // check UDP
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_UDP); layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_UDP);
EXPECT_TRUE(layer); EXPECT_TRUE(layer);
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr; struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363); EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);

View File

@@ -17,7 +17,7 @@ extern "C"
static inline void packet_set_ipv4_src_addr(struct packet *pkt, uint32_t saddr) static inline void packet_set_ipv4_src_addr(struct packet *pkt, uint32_t saddr)
{ {
const struct packet_layer *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4); const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(ipv4_layer); EXPECT_TRUE(ipv4_layer);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr; struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
ipv4_hdr_set_src_addr(hdr, saddr); ipv4_hdr_set_src_addr(hdr, saddr);
@@ -25,7 +25,7 @@ static inline void packet_set_ipv4_src_addr(struct packet *pkt, uint32_t saddr)
static inline void packet_set_ipv6_src_addr(struct packet *pkt, struct in6_addr saddr) static inline void packet_set_ipv6_src_addr(struct packet *pkt, struct in6_addr saddr)
{ {
const struct packet_layer *ipv6_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV6); const struct raw_layer *ipv6_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV6);
EXPECT_TRUE(ipv6_layer); EXPECT_TRUE(ipv6_layer);
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr; struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
ipv6_hdr_set_src_in6_addr(hdr, saddr); ipv6_hdr_set_src_in6_addr(hdr, saddr);
@@ -33,7 +33,7 @@ static inline void packet_set_ipv6_src_addr(struct packet *pkt, struct in6_addr
static inline void packet_set_ipv6_frag_offset(struct packet *pkt, uint16_t offset) static inline void packet_set_ipv6_frag_offset(struct packet *pkt, uint16_t offset)
{ {
const struct packet_layer *ipv6_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV6); const struct raw_layer *ipv6_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV6);
EXPECT_TRUE(ipv6_layer); EXPECT_TRUE(ipv6_layer);
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr; struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
struct ip6_frag *frag_hdr = ipv6_hdr_get_frag_ext(hdr); struct ip6_frag *frag_hdr = ipv6_hdr_get_frag_ext(hdr);

View File

@@ -55,7 +55,7 @@ static inline void set_tuple2(const char *data, enum layer_proto type, struct tu
static inline void set_tuple4(const char *data, enum layer_proto type, struct tuple4 *tuple); static inline void set_tuple4(const char *data, enum layer_proto type, struct tuple4 *tuple);
static inline void set_tuple6(const char *data, enum layer_proto type, struct tuple6 *tuple, uint64_t domain); static inline void set_tuple6(const char *data, enum layer_proto type, struct tuple6 *tuple, uint64_t domain);
static inline struct packet_layer *get_free_layer(struct packet *pkt); static inline struct raw_layer *get_free_layer(struct packet *pkt);
static inline uint16_t get_gtp_hdr_len(const char *data, uint16_t len); static inline uint16_t get_gtp_hdr_len(const char *data, uint16_t len);
@@ -255,7 +255,7 @@ static inline void set_tuple6(const char *data, enum layer_proto type, struct tu
} }
} }
static inline struct packet_layer *get_free_layer(struct packet *pkt) static inline struct raw_layer *get_free_layer(struct packet *pkt)
{ {
if (pkt->layers_used >= pkt->layers_size) if (pkt->layers_used >= pkt->layers_size)
{ {
@@ -360,7 +360,7 @@ static inline const char *parse_ether(struct packet *pkt, const char *data, uint
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -388,7 +388,7 @@ static inline const char *parse_pweth(struct packet *pkt, const char *data, uint
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -481,7 +481,7 @@ static inline const char *parse_ppp(struct packet *pkt, const char *data, uint16
hdr_len = 4; hdr_len = 4;
success: success:
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -508,7 +508,7 @@ static inline const char *parse_l2tpv2_over_udp(struct packet *pkt, const char *
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -536,7 +536,7 @@ static inline const char *parse_l2tpv3_over_udp(struct packet *pkt, const char *
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -565,7 +565,7 @@ static inline const char *parse_l2tpv3_over_ip(struct packet *pkt, const char *d
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -593,7 +593,7 @@ static inline const char *parse_vlan(struct packet *pkt, const char *data, uint1
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -612,7 +612,7 @@ static inline const char *parse_pppoe_ses(struct packet *pkt, const char *data,
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -630,7 +630,7 @@ static inline const char *parse_mpls(struct packet *pkt, const char *data, uint1
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -679,7 +679,7 @@ static inline const char *parse_ipv4(struct packet *pkt, const char *data, uint1
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -745,7 +745,7 @@ static inline const char *parse_ipv6(struct packet *pkt, const char *data, uint1
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -850,7 +850,7 @@ static inline const char *parse_auth(struct packet *pkt, const char *data, uint1
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -869,7 +869,7 @@ static inline const char *parse_gre(struct packet *pkt, const char *data, uint16
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -888,7 +888,7 @@ static inline const char *parse_udp(struct packet *pkt, const char *data, uint16
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -965,7 +965,7 @@ static inline const char *parse_tcp(struct packet *pkt, const char *data, uint16
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -989,7 +989,7 @@ static inline const char *parse_icmp(struct packet *pkt, const char *data, uint1
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -1007,7 +1007,7 @@ static inline const char *parse_icmp6(struct packet *pkt, const char *data, uint
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -1025,7 +1025,7 @@ static inline const char *parse_vxlan(struct packet *pkt, const char *data, uint
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -1044,7 +1044,7 @@ static inline const char *parse_gtpv1_u(struct packet *pkt, const char *data, ui
return data; return data;
} }
struct packet_layer *layer = get_free_layer(pkt); struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL)) if (unlikely(layer == NULL))
{ {
return data; return data;
@@ -1147,7 +1147,7 @@ void packet_print_str(const struct packet *pkt)
for (uint8_t i = 0; i < pkt->layers_used; i++) for (uint8_t i = 0; i < pkt->layers_used; i++)
{ {
int used = 0; int used = 0;
const struct packet_layer *layer = &pkt->layers[i]; const struct raw_layer *layer = &pkt->layers[i];
printf(" layer[%u]: %p, type: %s, hdr_offset: %u, hdr_ptr: %p, hdr_len: %u, pld_ptr: %p, pld_len: %u\n", printf(" layer[%u]: %p, type: %s, hdr_offset: %u, hdr_ptr: %p, hdr_len: %u, pld_ptr: %p, pld_len: %u\n",
i, layer, layer_proto_to_str(layer->type), layer->hdr_offset, i, layer, layer_proto_to_str(layer->type), layer->hdr_offset,
layer->hdr_ptr, layer->hdr_len, layer->pld_ptr, layer->pld_len); layer->hdr_ptr, layer->hdr_len, layer->pld_ptr, layer->pld_len);
@@ -1213,7 +1213,7 @@ void packet_print_str(const struct packet *pkt)
int packet_get_innermost_tuple2(const struct packet *pkt, struct tuple2 *tuple) int packet_get_innermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
{ {
memset(tuple, 0, sizeof(struct tuple2)); memset(tuple, 0, sizeof(struct tuple2));
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
for (int8_t i = pkt->layers_used - 1; i >= 0; i--) for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
{ {
@@ -1234,7 +1234,7 @@ int packet_get_innermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
int packet_get_outermost_tuple2(const struct packet *pkt, struct tuple2 *tuple) int packet_get_outermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
{ {
memset(tuple, 0, sizeof(struct tuple2)); memset(tuple, 0, sizeof(struct tuple2));
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
for (int8_t i = 0; i < pkt->layers_used; i++) for (int8_t i = 0; i < pkt->layers_used; i++)
{ {
@@ -1255,9 +1255,9 @@ int packet_get_outermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
int packet_get_innermost_tuple4(const struct packet *pkt, struct tuple4 *tuple) int packet_get_innermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
{ {
memset(tuple, 0, sizeof(struct tuple4)); memset(tuple, 0, sizeof(struct tuple4));
const struct packet_layer *layer_l3 = NULL; const struct raw_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL; const struct raw_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
for (int8_t i = pkt->layers_used - 1; i >= 0; i--) for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
{ {
@@ -1295,9 +1295,9 @@ int packet_get_innermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
int packet_get_outermost_tuple4(const struct packet *pkt, struct tuple4 *tuple) int packet_get_outermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
{ {
memset(tuple, 0, sizeof(struct tuple4)); memset(tuple, 0, sizeof(struct tuple4));
const struct packet_layer *layer_l3 = NULL; const struct raw_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL; const struct raw_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
for (int8_t i = 0; i < pkt->layers_used; i++) for (int8_t i = 0; i < pkt->layers_used; i++)
{ {
@@ -1335,9 +1335,9 @@ int packet_get_outermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple) int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
{ {
memset(tuple, 0, sizeof(struct tuple6)); memset(tuple, 0, sizeof(struct tuple6));
const struct packet_layer *layer_l3 = NULL; const struct raw_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL; const struct raw_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
uint64_t domain = packet_get_domain(pkt); uint64_t domain = packet_get_domain(pkt);
for (int8_t i = pkt->layers_used - 1; i >= 0; i--) for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
@@ -1376,9 +1376,9 @@ int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple) int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
{ {
memset(tuple, 0, sizeof(struct tuple6)); memset(tuple, 0, sizeof(struct tuple6));
const struct packet_layer *layer_l3 = NULL; const struct raw_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL; const struct raw_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
uint64_t domain = packet_get_domain(pkt); uint64_t domain = packet_get_domain(pkt);
for (int8_t i = 0; i < pkt->layers_used; i++) for (int8_t i = 0; i < pkt->layers_used; i++)
@@ -1412,9 +1412,9 @@ int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
} }
} }
const struct packet_layer *packet_get_innermost_layer(const struct packet *pkt, enum layer_proto type) const struct raw_layer *packet_get_innermost_raw_layer(const struct packet *pkt, enum layer_proto type)
{ {
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
for (int8_t i = pkt->layers_used - 1; i >= 0; i--) for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
{ {
@@ -1428,9 +1428,9 @@ const struct packet_layer *packet_get_innermost_layer(const struct packet *pkt,
return NULL; return NULL;
} }
const struct packet_layer *packet_get_outermost_layer(const struct packet *pkt, enum layer_proto type) const struct raw_layer *packet_get_outermost_raw_layer(const struct packet *pkt, enum layer_proto type)
{ {
const struct packet_layer *layer = NULL; const struct raw_layer *layer = NULL;
for (int8_t i = 0; i < pkt->layers_used; i++) for (int8_t i = 0; i < pkt->layers_used; i++)
{ {

View File

@@ -38,8 +38,8 @@ enum packet_origin
struct packet struct packet
{ {
struct packet_layer layers[PACKET_MAX_LAYERS]; struct raw_layer layers[PACKET_MAX_LAYERS];
struct packet_layer *frag_layer; // fragment layer struct raw_layer *frag_layer; // fragment layer
int8_t layers_used; int8_t layers_used;
int8_t layers_size; int8_t layers_size;
@@ -75,8 +75,8 @@ int packet_get_outermost_tuple4(const struct packet *pkt, struct tuple4 *tuple);
int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple); int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple);
int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple); int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple);
const struct packet_layer *packet_get_innermost_layer(const struct packet *pkt, enum layer_proto type); const struct raw_layer *packet_get_innermost_raw_layer(const struct packet *pkt, enum layer_proto type);
const struct packet_layer *packet_get_outermost_layer(const struct packet *pkt, enum layer_proto type); const struct raw_layer *packet_get_outermost_raw_layer(const struct packet *pkt, enum layer_proto type);
/****************************************************************************** /******************************************************************************
* Utils * Utils

View File

@@ -23,12 +23,12 @@ enum packet_origin packet_get_origin(const struct packet *pkt)
return pkt->origin; return pkt->origin;
} }
int8_t packet_get_layer_count(const struct packet *pkt) int packet_get_layer_count(const struct packet *pkt)
{ {
return pkt->layers_used; return pkt->layers_used;
} }
const struct packet_layer *packet_get_layer(const struct packet *pkt, int8_t idx) const struct raw_layer *packet_get_raw_layer(const struct packet *pkt, int idx)
{ {
if (idx < 0 || idx >= pkt->layers_used) if (idx < 0 || idx >= pkt->layers_used)
{ {

View File

@@ -89,8 +89,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -100,8 +100,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
EXPECT_TRUE(outer_eth_record->pld_len == 156); EXPECT_TRUE(outer_eth_record->pld_len == 156);
// LAYER_PROTO_VLAN // LAYER_PROTO_VLAN
const struct packet_layer *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN); const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VLAN);
const struct packet_layer *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN); const struct raw_layer *inner_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VLAN);
EXPECT_TRUE(outer_vlan_record != nullptr); EXPECT_TRUE(outer_vlan_record != nullptr);
EXPECT_TRUE(inner_vlan_record != nullptr); EXPECT_TRUE(inner_vlan_record != nullptr);
@@ -113,8 +113,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
EXPECT_TRUE(inner_vlan_record->pld_len == 148); EXPECT_TRUE(inner_vlan_record->pld_len == 148);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -126,8 +126,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
EXPECT_TRUE(inner_ipv4_record->pld_len == 108); EXPECT_TRUE(inner_ipv4_record->pld_len == 108);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(outer_udp_record != nullptr); EXPECT_TRUE(outer_udp_record != nullptr);
EXPECT_TRUE(inner_udp_record != nullptr); EXPECT_TRUE(inner_udp_record != nullptr);
@@ -292,8 +292,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -303,8 +303,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
EXPECT_TRUE(outer_eth_record->pld_len == 712); EXPECT_TRUE(outer_eth_record->pld_len == 712);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(outer_ipv6_record != nullptr); EXPECT_TRUE(outer_ipv6_record != nullptr);
EXPECT_TRUE(inner_ipv6_record != nullptr); EXPECT_TRUE(inner_ipv6_record != nullptr);
@@ -314,8 +314,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
EXPECT_TRUE(outer_ipv6_record->pld_len == 672); EXPECT_TRUE(outer_ipv6_record->pld_len == 672);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -325,8 +325,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
EXPECT_TRUE(outer_ipv4_record->pld_len == 652); EXPECT_TRUE(outer_ipv4_record->pld_len == 652);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);
@@ -484,8 +484,8 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -495,8 +495,8 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
EXPECT_TRUE(outer_eth_record->pld_len == 258); EXPECT_TRUE(outer_eth_record->pld_len == 258);
// LAYER_PROTO_VLAN // LAYER_PROTO_VLAN
const struct packet_layer *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN); const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VLAN);
const struct packet_layer *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN); const struct raw_layer *inner_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VLAN);
EXPECT_TRUE(outer_vlan_record != nullptr); EXPECT_TRUE(outer_vlan_record != nullptr);
EXPECT_TRUE(inner_vlan_record != nullptr); EXPECT_TRUE(inner_vlan_record != nullptr);
@@ -506,8 +506,8 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
EXPECT_TRUE(outer_vlan_record->pld_len == 254); EXPECT_TRUE(outer_vlan_record->pld_len == 254);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(outer_ipv6_record != nullptr); EXPECT_TRUE(outer_ipv6_record != nullptr);
EXPECT_TRUE(inner_ipv6_record != nullptr); EXPECT_TRUE(inner_ipv6_record != nullptr);
@@ -517,7 +517,7 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
EXPECT_TRUE(outer_ipv6_record->pld_len == 214); EXPECT_TRUE(outer_ipv6_record->pld_len == 214);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 58); EXPECT_TRUE(outer_ipv4_record->hdr_offset == 58);
@@ -525,8 +525,8 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
EXPECT_TRUE(outer_ipv4_record->pld_len == 194); EXPECT_TRUE(outer_ipv4_record->pld_len == 194);
// LAYER_PROTO_GRE // LAYER_PROTO_GRE
const struct packet_layer *outer_gre_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GRE); const struct raw_layer *outer_gre_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_GRE);
const struct packet_layer *inner_ger_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GRE); const struct raw_layer *inner_ger_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_GRE);
EXPECT_TRUE(outer_gre_record != nullptr); EXPECT_TRUE(outer_gre_record != nullptr);
EXPECT_TRUE(inner_ger_record != nullptr); EXPECT_TRUE(inner_ger_record != nullptr);
@@ -536,8 +536,8 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
EXPECT_TRUE(outer_gre_record->pld_len == 178); EXPECT_TRUE(outer_gre_record->pld_len == 178);
// LAYER_PROTO_PPP // LAYER_PROTO_PPP
const struct packet_layer *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP); const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPP);
const struct packet_layer *inner_ppp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPP); const struct raw_layer *inner_ppp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PPP);
EXPECT_TRUE(outer_ppp_record != nullptr); EXPECT_TRUE(outer_ppp_record != nullptr);
EXPECT_TRUE(inner_ppp_record != nullptr); EXPECT_TRUE(inner_ppp_record != nullptr);
@@ -547,7 +547,7 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
EXPECT_TRUE(outer_ppp_record->pld_len == 174); EXPECT_TRUE(outer_ppp_record->pld_len == 174);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 98); EXPECT_TRUE(inner_ipv4_record->hdr_offset == 98);
@@ -555,8 +555,8 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
EXPECT_TRUE(inner_ipv4_record->pld_len == 154); EXPECT_TRUE(inner_ipv4_record->pld_len == 154);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(outer_udp_record != nullptr); EXPECT_TRUE(outer_udp_record != nullptr);
EXPECT_TRUE(inner_udp_record != nullptr); EXPECT_TRUE(inner_udp_record != nullptr);
@@ -690,8 +690,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -701,8 +701,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 92); EXPECT_TRUE(outer_eth_record->pld_len == 92);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -712,8 +712,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 72); EXPECT_TRUE(outer_ipv4_record->pld_len == 72);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(outer_ipv6_record != nullptr); EXPECT_TRUE(outer_ipv6_record != nullptr);
EXPECT_TRUE(inner_ipv6_record != nullptr); EXPECT_TRUE(inner_ipv6_record != nullptr);
@@ -723,8 +723,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
EXPECT_TRUE(outer_ipv6_record->pld_len == 32); EXPECT_TRUE(outer_ipv6_record->pld_len == 32);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);
@@ -844,8 +844,8 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -855,7 +855,7 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
EXPECT_TRUE(outer_eth_record->pld_len == 92); EXPECT_TRUE(outer_eth_record->pld_len == 92);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(outer_ipv6_record != nullptr); EXPECT_TRUE(outer_ipv6_record != nullptr);
EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14); EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14);
@@ -863,7 +863,7 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
EXPECT_TRUE(outer_ipv6_record->pld_len == 52); EXPECT_TRUE(outer_ipv6_record->pld_len == 52);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(inner_ipv6_record != nullptr); EXPECT_TRUE(inner_ipv6_record != nullptr);
EXPECT_TRUE(inner_ipv6_record->hdr_offset == 54); EXPECT_TRUE(inner_ipv6_record->hdr_offset == 54);
@@ -871,8 +871,8 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
EXPECT_TRUE(inner_ipv6_record->pld_len == 12); EXPECT_TRUE(inner_ipv6_record->pld_len == 12);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(outer_udp_record != nullptr); EXPECT_TRUE(outer_udp_record != nullptr);
EXPECT_TRUE(inner_udp_record != nullptr); EXPECT_TRUE(inner_udp_record != nullptr);
@@ -999,8 +999,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -1010,8 +1010,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 56); EXPECT_TRUE(outer_eth_record->pld_len == 56);
// LAYER_PROTO_MPLS // LAYER_PROTO_MPLS
const struct packet_layer *outer_mpls_record = packet_get_outermost_layer(&handler, LAYER_PROTO_MPLS); const struct raw_layer *outer_mpls_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_MPLS);
const struct packet_layer *inner_mpls_record = packet_get_innermost_layer(&handler, LAYER_PROTO_MPLS); const struct raw_layer *inner_mpls_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_MPLS);
EXPECT_TRUE(outer_mpls_record != nullptr); EXPECT_TRUE(outer_mpls_record != nullptr);
EXPECT_TRUE(inner_mpls_record != nullptr); EXPECT_TRUE(inner_mpls_record != nullptr);
@@ -1021,8 +1021,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
EXPECT_TRUE(outer_mpls_record->pld_len == 52); EXPECT_TRUE(outer_mpls_record->pld_len == 52);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -1032,8 +1032,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 32); EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);
@@ -1165,8 +1165,8 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -1176,7 +1176,7 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 52); EXPECT_TRUE(outer_eth_record->pld_len == 52);
// LAYER_PROTO_MPLS // LAYER_PROTO_MPLS
const struct packet_layer *outer_mpls_record = packet_get_outermost_layer(&handler, LAYER_PROTO_MPLS); const struct raw_layer *outer_mpls_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_MPLS);
EXPECT_TRUE(outer_mpls_record != nullptr); EXPECT_TRUE(outer_mpls_record != nullptr);
EXPECT_TRUE(outer_mpls_record->hdr_offset == 14); EXPECT_TRUE(outer_mpls_record->hdr_offset == 14);
@@ -1184,7 +1184,7 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(outer_mpls_record->pld_len == 48); EXPECT_TRUE(outer_mpls_record->pld_len == 48);
// LAYER_PROTO_MPLS // LAYER_PROTO_MPLS
const struct packet_layer *inner_mpls_record = packet_get_innermost_layer(&handler, LAYER_PROTO_MPLS); const struct raw_layer *inner_mpls_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_MPLS);
EXPECT_TRUE(inner_mpls_record != nullptr); EXPECT_TRUE(inner_mpls_record != nullptr);
EXPECT_TRUE(inner_mpls_record->hdr_offset == 18); EXPECT_TRUE(inner_mpls_record->hdr_offset == 18);
@@ -1192,8 +1192,8 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(inner_mpls_record->pld_len == 44); EXPECT_TRUE(inner_mpls_record->pld_len == 44);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -1203,8 +1203,8 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 24); EXPECT_TRUE(outer_ipv4_record->pld_len == 24);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);
@@ -1341,8 +1341,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -1352,8 +1352,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 64); EXPECT_TRUE(outer_eth_record->pld_len == 64);
// LAYER_PROTO_VLAN // LAYER_PROTO_VLAN
const struct packet_layer *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN); const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VLAN);
const struct packet_layer *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN); const struct raw_layer *inner_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VLAN);
EXPECT_TRUE(outer_vlan_record != nullptr); EXPECT_TRUE(outer_vlan_record != nullptr);
EXPECT_TRUE(inner_vlan_record != nullptr); EXPECT_TRUE(inner_vlan_record != nullptr);
@@ -1363,8 +1363,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_vlan_record->pld_len == 60); EXPECT_TRUE(outer_vlan_record->pld_len == 60);
// LAYER_PROTO_PPPOE // LAYER_PROTO_PPPOE
const struct packet_layer *outer_pppoe_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPPOE); const struct raw_layer *outer_pppoe_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPPOE);
const struct packet_layer *inner_pppoe_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPPOE); const struct raw_layer *inner_pppoe_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PPPOE);
EXPECT_TRUE(outer_pppoe_record != nullptr); EXPECT_TRUE(outer_pppoe_record != nullptr);
EXPECT_TRUE(inner_pppoe_record != nullptr); EXPECT_TRUE(inner_pppoe_record != nullptr);
@@ -1374,8 +1374,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_pppoe_record->pld_len == 54); EXPECT_TRUE(outer_pppoe_record->pld_len == 54);
// LAYER_PROTO_PPP // LAYER_PROTO_PPP
const struct packet_layer *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP); const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPP);
const struct packet_layer *inner_ppp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPP); const struct raw_layer *inner_ppp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PPP);
EXPECT_TRUE(outer_ppp_record != nullptr); EXPECT_TRUE(outer_ppp_record != nullptr);
EXPECT_TRUE(inner_ppp_record != nullptr); EXPECT_TRUE(inner_ppp_record != nullptr);
@@ -1385,8 +1385,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_ppp_record->pld_len == 52); EXPECT_TRUE(outer_ppp_record->pld_len == 52);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -1397,8 +1397,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 32); EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);
@@ -1593,8 +1593,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -1604,7 +1604,7 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
EXPECT_TRUE(outer_eth_record->pld_len == 1428); EXPECT_TRUE(outer_eth_record->pld_len == 1428);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(outer_ipv6_record != nullptr); EXPECT_TRUE(outer_ipv6_record != nullptr);
EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14); EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14);
@@ -1612,8 +1612,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
EXPECT_TRUE(outer_ipv6_record->pld_len == 1388); EXPECT_TRUE(outer_ipv6_record->pld_len == 1388);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(outer_udp_record != nullptr); EXPECT_TRUE(outer_udp_record != nullptr);
EXPECT_TRUE(inner_udp_record != nullptr); EXPECT_TRUE(inner_udp_record != nullptr);
@@ -1623,8 +1623,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
EXPECT_TRUE(outer_udp_record->pld_len == 1380); EXPECT_TRUE(outer_udp_record->pld_len == 1380);
// LAYER_PROTO_GTPV1_U // LAYER_PROTO_GTPV1_U
const struct packet_layer *outer_gtp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GTPV1_U); const struct raw_layer *outer_gtp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_GTPV1_U);
const struct packet_layer *inner_gtp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GTPV1_U); const struct raw_layer *inner_gtp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_GTPV1_U);
EXPECT_TRUE(outer_gtp_record != nullptr); EXPECT_TRUE(outer_gtp_record != nullptr);
EXPECT_TRUE(inner_gtp_record != nullptr); EXPECT_TRUE(inner_gtp_record != nullptr);
@@ -1634,7 +1634,7 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
EXPECT_TRUE(outer_gtp_record->pld_len == 1372); EXPECT_TRUE(outer_gtp_record->pld_len == 1372);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(inner_ipv6_record != nullptr); EXPECT_TRUE(inner_ipv6_record != nullptr);
EXPECT_TRUE(inner_ipv6_record->hdr_offset == 70); EXPECT_TRUE(inner_ipv6_record->hdr_offset == 70);
@@ -1642,8 +1642,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
EXPECT_TRUE(inner_ipv6_record->pld_len == 1332); EXPECT_TRUE(inner_ipv6_record->pld_len == 1332);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);
@@ -1846,8 +1846,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -1857,8 +1857,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
EXPECT_TRUE(outer_eth_record->pld_len == 1456); EXPECT_TRUE(outer_eth_record->pld_len == 1456);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(outer_ipv6_record != nullptr); EXPECT_TRUE(outer_ipv6_record != nullptr);
EXPECT_TRUE(inner_ipv6_record != nullptr); EXPECT_TRUE(inner_ipv6_record != nullptr);
@@ -1868,8 +1868,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
EXPECT_TRUE(outer_ipv6_record->pld_len == 1416); EXPECT_TRUE(outer_ipv6_record->pld_len == 1416);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(outer_udp_record != nullptr); EXPECT_TRUE(outer_udp_record != nullptr);
EXPECT_TRUE(inner_udp_record != nullptr); EXPECT_TRUE(inner_udp_record != nullptr);
@@ -1879,8 +1879,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
EXPECT_TRUE(outer_udp_record->pld_len == 1408); EXPECT_TRUE(outer_udp_record->pld_len == 1408);
// LAYER_PROTO_GTPV1_U // LAYER_PROTO_GTPV1_U
const struct packet_layer *outer_gtp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GTPV1_U); const struct raw_layer *outer_gtp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_GTPV1_U);
const struct packet_layer *inner_gtp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GTPV1_U); const struct raw_layer *inner_gtp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_GTPV1_U);
EXPECT_TRUE(outer_gtp_record != nullptr); EXPECT_TRUE(outer_gtp_record != nullptr);
EXPECT_TRUE(inner_gtp_record != nullptr); EXPECT_TRUE(inner_gtp_record != nullptr);
@@ -1890,8 +1890,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
EXPECT_TRUE(outer_gtp_record->pld_len == 1400); EXPECT_TRUE(outer_gtp_record->pld_len == 1400);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -1901,8 +1901,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
EXPECT_TRUE(outer_ipv4_record->pld_len == 1380); EXPECT_TRUE(outer_ipv4_record->pld_len == 1380);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);
@@ -2047,7 +2047,7 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(outer_eth_record->hdr_offset == 0); EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
@@ -2055,7 +2055,7 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
EXPECT_TRUE(outer_eth_record->pld_len == 110); EXPECT_TRUE(outer_eth_record->pld_len == 110);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14); EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14);
@@ -2063,7 +2063,7 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
EXPECT_TRUE(outer_ipv4_record->pld_len == 90); EXPECT_TRUE(outer_ipv4_record->pld_len == 90);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(outer_udp_record != nullptr); EXPECT_TRUE(outer_udp_record != nullptr);
EXPECT_TRUE(outer_udp_record->hdr_offset == 34); EXPECT_TRUE(outer_udp_record->hdr_offset == 34);
@@ -2071,8 +2071,8 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
EXPECT_TRUE(outer_udp_record->pld_len == 82); EXPECT_TRUE(outer_udp_record->pld_len == 82);
// LAYER_PROTO_VXLAN // LAYER_PROTO_VXLAN
const struct packet_layer *outer_g_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VXLAN); const struct raw_layer *outer_g_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VXLAN);
const struct packet_layer *inner_g_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VXLAN); const struct raw_layer *inner_g_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VXLAN);
EXPECT_TRUE(outer_g_vlan_record != nullptr); EXPECT_TRUE(outer_g_vlan_record != nullptr);
EXPECT_TRUE(inner_g_vlan_record != nullptr); EXPECT_TRUE(inner_g_vlan_record != nullptr);
@@ -2083,7 +2083,7 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
EXPECT_TRUE(outer_g_vlan_record->pld_len == 74); EXPECT_TRUE(outer_g_vlan_record->pld_len == 74);
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record->hdr_offset == 50); EXPECT_TRUE(inner_eth_record->hdr_offset == 50);
@@ -2091,7 +2091,7 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
EXPECT_TRUE(inner_eth_record->pld_len == 60); EXPECT_TRUE(inner_eth_record->pld_len == 60);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 64); EXPECT_TRUE(inner_ipv4_record->hdr_offset == 64);
@@ -2099,7 +2099,7 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
EXPECT_TRUE(inner_ipv4_record->pld_len == 40); EXPECT_TRUE(inner_ipv4_record->pld_len == 40);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(inner_udp_record != nullptr); EXPECT_TRUE(inner_udp_record != nullptr);
EXPECT_TRUE(inner_udp_record->hdr_offset == 84); EXPECT_TRUE(inner_udp_record->hdr_offset == 84);
@@ -2203,7 +2203,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(outer_eth_record->hdr_offset == 0); EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
@@ -2211,7 +2211,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(outer_eth_record->pld_len == 76); EXPECT_TRUE(outer_eth_record->pld_len == 76);
// LAYER_PROTO_MPLS // LAYER_PROTO_MPLS
const struct packet_layer *outer_mpls_record = packet_get_outermost_layer(&handler, LAYER_PROTO_MPLS); const struct raw_layer *outer_mpls_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_MPLS);
EXPECT_TRUE(outer_mpls_record != nullptr); EXPECT_TRUE(outer_mpls_record != nullptr);
EXPECT_TRUE(outer_mpls_record->hdr_offset == 14); EXPECT_TRUE(outer_mpls_record->hdr_offset == 14);
@@ -2219,7 +2219,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(outer_mpls_record->pld_len == 72); EXPECT_TRUE(outer_mpls_record->pld_len == 72);
// LAYER_PROTO_MPLS // LAYER_PROTO_MPLS
const struct packet_layer *inner_mpls_record = packet_get_innermost_layer(&handler, LAYER_PROTO_MPLS); const struct raw_layer *inner_mpls_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_MPLS);
EXPECT_TRUE(inner_mpls_record != nullptr); EXPECT_TRUE(inner_mpls_record != nullptr);
EXPECT_TRUE(inner_mpls_record->hdr_offset == 18); EXPECT_TRUE(inner_mpls_record->hdr_offset == 18);
@@ -2227,7 +2227,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(inner_mpls_record->pld_len == 68); EXPECT_TRUE(inner_mpls_record->pld_len == 68);
// LAYER_PROTO_PWETHCW // LAYER_PROTO_PWETHCW
const struct packet_layer *inner_pweth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PWETH); const struct raw_layer *inner_pweth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PWETH);
EXPECT_TRUE(inner_pweth_record != nullptr); EXPECT_TRUE(inner_pweth_record != nullptr);
EXPECT_TRUE(inner_pweth_record->hdr_offset == 22); EXPECT_TRUE(inner_pweth_record->hdr_offset == 22);
@@ -2235,7 +2235,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(inner_pweth_record->pld_len == 64); EXPECT_TRUE(inner_pweth_record->pld_len == 64);
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record->hdr_offset == 26); EXPECT_TRUE(inner_eth_record->hdr_offset == 26);
@@ -2339,8 +2339,8 @@ TEST(PACKET, ETH_IP4_ICMP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -2350,8 +2350,8 @@ TEST(PACKET, ETH_IP4_ICMP)
EXPECT_TRUE(outer_eth_record->pld_len == 84); EXPECT_TRUE(outer_eth_record->pld_len == 84);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -2361,8 +2361,8 @@ TEST(PACKET, ETH_IP4_ICMP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 64); EXPECT_TRUE(outer_ipv4_record->pld_len == 64);
// LAYER_PROTO_ICMP // LAYER_PROTO_ICMP
const struct packet_layer *outer_icmp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ICMP); const struct raw_layer *outer_icmp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ICMP);
const struct packet_layer *inner_icmp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ICMP); const struct raw_layer *inner_icmp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ICMP);
EXPECT_TRUE(outer_icmp_record != nullptr); EXPECT_TRUE(outer_icmp_record != nullptr);
EXPECT_TRUE(inner_icmp_record != nullptr); EXPECT_TRUE(inner_icmp_record != nullptr);
@@ -2444,8 +2444,8 @@ TEST(PACKET, ETH_IP6_ICMP6)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -2455,8 +2455,8 @@ TEST(PACKET, ETH_IP6_ICMP6)
EXPECT_TRUE(outer_eth_record->pld_len == 100); EXPECT_TRUE(outer_eth_record->pld_len == 100);
// LAYER_PROTO_IPV6 // LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6); const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
EXPECT_TRUE(outer_ipv6_record != nullptr); EXPECT_TRUE(outer_ipv6_record != nullptr);
EXPECT_TRUE(inner_ipv6_record != nullptr); EXPECT_TRUE(inner_ipv6_record != nullptr);
@@ -2466,8 +2466,8 @@ TEST(PACKET, ETH_IP6_ICMP6)
EXPECT_TRUE(outer_ipv6_record->pld_len == 60); EXPECT_TRUE(outer_ipv6_record->pld_len == 60);
// LAYER_PROTO_ICMP6 // LAYER_PROTO_ICMP6
const struct packet_layer *outer_icmp6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ICMP6); const struct raw_layer *outer_icmp6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ICMP6);
const struct packet_layer *inner_icmp6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ICMP6); const struct raw_layer *inner_icmp6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ICMP6);
EXPECT_TRUE(outer_icmp6_record != nullptr); EXPECT_TRUE(outer_icmp6_record != nullptr);
EXPECT_TRUE(inner_icmp6_record != nullptr); EXPECT_TRUE(inner_icmp6_record != nullptr);
@@ -2608,7 +2608,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(outer_eth_record->hdr_offset == 0); EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
@@ -2616,7 +2616,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_eth_record->pld_len == 136); EXPECT_TRUE(outer_eth_record->pld_len == 136);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14); EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14);
@@ -2624,7 +2624,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 116); EXPECT_TRUE(outer_ipv4_record->pld_len == 116);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(outer_udp_record != nullptr); EXPECT_TRUE(outer_udp_record != nullptr);
EXPECT_TRUE(outer_udp_record->hdr_offset == 34); EXPECT_TRUE(outer_udp_record->hdr_offset == 34);
@@ -2632,7 +2632,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_udp_record->pld_len == 108); EXPECT_TRUE(outer_udp_record->pld_len == 108);
// LAYER_PROTO_L2TP // LAYER_PROTO_L2TP
const struct packet_layer *outer_l2tpv2_record = packet_get_outermost_layer(&handler, LAYER_PROTO_L2TP); const struct raw_layer *outer_l2tpv2_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_L2TP);
EXPECT_TRUE(outer_l2tpv2_record != nullptr); EXPECT_TRUE(outer_l2tpv2_record != nullptr);
EXPECT_TRUE(outer_l2tpv2_record->hdr_offset == 42); EXPECT_TRUE(outer_l2tpv2_record->hdr_offset == 42);
@@ -2640,7 +2640,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_l2tpv2_record->pld_len == 100); EXPECT_TRUE(outer_l2tpv2_record->pld_len == 100);
// LAYER_PROTO_PPP // LAYER_PROTO_PPP
const struct packet_layer *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP); const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPP);
EXPECT_TRUE(outer_ppp_record != nullptr); EXPECT_TRUE(outer_ppp_record != nullptr);
EXPECT_TRUE(outer_ppp_record->hdr_offset == 50); EXPECT_TRUE(outer_ppp_record->hdr_offset == 50);
@@ -2648,7 +2648,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_ppp_record->pld_len == 96); EXPECT_TRUE(outer_ppp_record->pld_len == 96);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 54); EXPECT_TRUE(inner_ipv4_record->hdr_offset == 54);
@@ -2656,7 +2656,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(inner_ipv4_record->pld_len == 76); EXPECT_TRUE(inner_ipv4_record->pld_len == 76);
// LAYER_PROTO_UDP // LAYER_PROTO_UDP
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP); const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
EXPECT_TRUE(inner_udp_record != nullptr); EXPECT_TRUE(inner_udp_record != nullptr);
EXPECT_TRUE(inner_udp_record->hdr_offset == 74); EXPECT_TRUE(inner_udp_record->hdr_offset == 74);
@@ -2772,8 +2772,8 @@ TEST(PACKET, ETH_IP4_TCP_PADDING)
******************************************************/ ******************************************************/
// LAYER_PROTO_ETHER // LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER); const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
EXPECT_TRUE(outer_eth_record != nullptr); EXPECT_TRUE(outer_eth_record != nullptr);
EXPECT_TRUE(inner_eth_record != nullptr); EXPECT_TRUE(inner_eth_record != nullptr);
@@ -2783,8 +2783,8 @@ TEST(PACKET, ETH_IP4_TCP_PADDING)
EXPECT_TRUE(outer_eth_record->pld_len == 46); EXPECT_TRUE(outer_eth_record->pld_len == 46);
// LAYER_PROTO_IPV4 // LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4); const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
EXPECT_TRUE(outer_ipv4_record != nullptr); EXPECT_TRUE(outer_ipv4_record != nullptr);
EXPECT_TRUE(inner_ipv4_record != nullptr); EXPECT_TRUE(inner_ipv4_record != nullptr);
@@ -2794,8 +2794,8 @@ TEST(PACKET, ETH_IP4_TCP_PADDING)
EXPECT_TRUE(outer_ipv4_record->pld_len == 20); EXPECT_TRUE(outer_ipv4_record->pld_len == 20);
// LAYER_PROTO_TCP // LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP); const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
EXPECT_TRUE(outer_tcp_record != nullptr); EXPECT_TRUE(outer_tcp_record != nullptr);
EXPECT_TRUE(inner_tcp_record != nullptr); EXPECT_TRUE(inner_tcp_record != nullptr);

View File

@@ -278,7 +278,7 @@ static int tcp_init(struct session_manager *mgr, struct session *sess)
return 0; return 0;
} }
static void tcp_update(struct session_manager *mgr, struct session *sess, enum flow_direction dir, const struct packet_layer *tcp_layer, uint64_t now) static void tcp_update(struct session_manager *mgr, struct session *sess, enum flow_direction dir, const struct raw_layer *tcp_layer, uint64_t now)
{ {
struct tcp_segment *seg; struct tcp_segment *seg;
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr; struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
@@ -650,7 +650,7 @@ static struct session *session_manager_lookup_tcp_session(struct session_manager
return NULL; return NULL;
} }
const struct packet_layer *tcp_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_TCP);
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr; const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
uint8_t flags = tcp_hdr_get_flags(hdr); uint8_t flags = tcp_hdr_get_flags(hdr);
if ((flags & TH_SYN) == 0) if ((flags & TH_SYN) == 0)
@@ -676,7 +676,7 @@ static struct session *session_manager_lookup_tcp_session(struct session_manager
static struct session *session_manager_new_tcp_session(struct session_manager *mgr, const struct packet *pkt, const struct tuple6 *key, uint64_t now) static struct session *session_manager_new_tcp_session(struct session_manager *mgr, const struct packet *pkt, const struct tuple6 *key, uint64_t now)
{ {
const struct packet_layer *tcp_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_TCP);
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr; const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
uint8_t flags = tcp_hdr_get_flags(hdr); uint8_t flags = tcp_hdr_get_flags(hdr);
if (!(flags & TH_SYN)) if (!(flags & TH_SYN))
@@ -767,7 +767,7 @@ static struct session *session_manager_new_udp_session(struct session_manager *m
static int session_manager_update_tcp_session(struct session_manager *mgr, struct session *sess, const struct packet *pkt, const struct tuple6 *key, uint64_t now) static int session_manager_update_tcp_session(struct session_manager *mgr, struct session *sess, const struct packet *pkt, const struct tuple6 *key, uint64_t now)
{ {
const struct packet_layer *tcp_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_TCP);
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr; const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
enum flow_direction dir = identify_direction_by_history(sess, key); enum flow_direction dir = identify_direction_by_history(sess, key);
uint8_t flags = tcp_hdr_get_flags(hdr); uint8_t flags = tcp_hdr_get_flags(hdr);

View File

@@ -47,7 +47,7 @@ struct session_manager_options opts = {
static void packet_set_ip_id(struct packet *pkt, uint16_t ip_id) static void packet_set_ip_id(struct packet *pkt, uint16_t ip_id)
{ {
const struct packet_layer *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4); const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(ipv4_layer); EXPECT_TRUE(ipv4_layer);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr; struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
ipv4_hdr_set_ipid(hdr, ip_id); ipv4_hdr_set_ipid(hdr, ip_id);

View File

@@ -49,7 +49,7 @@ struct session_manager_options opts = {
static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr) static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr)
{ {
const struct packet_layer *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4); const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(ipv4_layer); EXPECT_TRUE(ipv4_layer);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr; struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
ipv4_hdr_set_src_addr(hdr, addr); ipv4_hdr_set_src_addr(hdr, addr);

View File

@@ -49,7 +49,7 @@ struct session_manager_options opts = {
static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr) static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr)
{ {
const struct packet_layer *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4); const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(ipv4_layer); EXPECT_TRUE(ipv4_layer);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr; struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
ipv4_hdr_set_src_addr(hdr, addr); ipv4_hdr_set_src_addr(hdr, addr);

View File

@@ -190,7 +190,7 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_RST)
char tcp_pkt_c2s_rst[1500] = {0}; char tcp_pkt_c2s_rst[1500] = {0};
memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin)); memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin));
packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin)); packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin));
const struct packet_layer *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(tcp_layer); EXPECT_TRUE(tcp_layer);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr; struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
tcp_hdr_set_flags(hdr, 0); tcp_hdr_set_flags(hdr, 0);
@@ -277,7 +277,7 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_RST)
char tcp_pkt_s2c_rst[1500] = {0}; char tcp_pkt_s2c_rst[1500] = {0};
memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin)); memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin));
packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin)); packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin));
const struct packet_layer *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(tcp_layer); EXPECT_TRUE(tcp_layer);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr; struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
tcp_hdr_set_flags(hdr, 0); tcp_hdr_set_flags(hdr, 0);

View File

@@ -427,7 +427,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION)
char syn_retransmission[1500] = {0}; char syn_retransmission[1500] = {0};
memcpy(syn_retransmission, tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn)); memcpy(syn_retransmission, tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn));
packet_parse(&pkt, (const char *)syn_retransmission, sizeof(tcp_pkt1_c2s_syn)); packet_parse(&pkt, (const char *)syn_retransmission, sizeof(tcp_pkt1_c2s_syn));
const struct packet_layer *ipv4_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_IPV4); const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_IPV4);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr; struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
ipv4_hdr_set_ipid(hdr, 0x1234); ipv4_hdr_set_ipid(hdr, 0x1234);
printf("<= Packet Parse: done\n\n"); printf("<= Packet Parse: done\n\n");
@@ -523,7 +523,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION)
char tcp_pkt_s2c_synack_retransmission[1500] = {0}; char tcp_pkt_s2c_synack_retransmission[1500] = {0};
memcpy(tcp_pkt_s2c_synack_retransmission, tcp_pkt2_s2c_syn_ack, sizeof(tcp_pkt2_s2c_syn_ack)); memcpy(tcp_pkt_s2c_synack_retransmission, tcp_pkt2_s2c_syn_ack, sizeof(tcp_pkt2_s2c_syn_ack));
packet_parse(&pkt, (const char *)tcp_pkt_s2c_synack_retransmission, sizeof(tcp_pkt2_s2c_syn_ack)); packet_parse(&pkt, (const char *)tcp_pkt_s2c_synack_retransmission, sizeof(tcp_pkt2_s2c_syn_ack));
const struct packet_layer *ipv4_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_IPV4); const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_IPV4);
EXPECT_TRUE(ipv4_layer); EXPECT_TRUE(ipv4_layer);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr; struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
ipv4_hdr_set_ipid(hdr, 0x1234); ipv4_hdr_set_ipid(hdr, 0x1234);

View File

@@ -179,7 +179,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST)
char tcp_pkt_c2s_rst[1500] = {0}; char tcp_pkt_c2s_rst[1500] = {0};
memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin)); memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin));
packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin)); packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin));
const struct packet_layer *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(tcp_layer); EXPECT_TRUE(tcp_layer);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr; struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
tcp_hdr_set_flags(hdr, 0); tcp_hdr_set_flags(hdr, 0);
@@ -274,7 +274,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST)
char tcp_pkt_s2c_rst[1500] = {0}; char tcp_pkt_s2c_rst[1500] = {0};
memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin)); memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin));
packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin)); packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin));
const struct packet_layer *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP); const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
EXPECT_TRUE(tcp_layer); EXPECT_TRUE(tcp_layer);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr; struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
tcp_hdr_set_flags(hdr, 0); tcp_hdr_set_flags(hdr, 0);

View File

@@ -233,10 +233,10 @@ static int build_tcp_packet(const struct packet *first, uint16_t ip_id, uint8_t
struct udphdr *udphdr; struct udphdr *udphdr;
struct ip *iphdr; struct ip *iphdr;
struct ip6_hdr *ip6hdr; struct ip6_hdr *ip6hdr;
struct packet_layer *curr; struct raw_layer *curr;
struct packet_layer *last; struct raw_layer *last;
int len = packet_get_len(first); int len = packet_get_len(first);
int8_t layers = packet_get_layer_count(first); int layers = packet_get_layer_count(first);
if ((tcp_pld == NULL && pld_len > 0) || (tcp_pld != NULL && pld_len <= 0)) if ((tcp_pld == NULL && pld_len > 0) || (tcp_pld != NULL && pld_len <= 0))
{ {
@@ -249,9 +249,9 @@ static int build_tcp_packet(const struct packet *first, uint16_t ip_id, uint8_t
} }
memcpy(pkt_buff, packet_get_data(first), len); memcpy(pkt_buff, packet_get_data(first), len);
for (int8_t i = layers - 1; i >= 0; i--) for (int i = layers - 1; i >= 0; i--)
{ {
curr = (struct packet_layer *)packet_get_layer(first, i); curr = (struct raw_layer *)packet_get_raw_layer(first, i);
switch (curr->type) switch (curr->type)
{ {
case LAYER_PROTO_TCP: case LAYER_PROTO_TCP:
@@ -273,7 +273,7 @@ static int build_tcp_packet(const struct packet *first, uint16_t ip_id, uint8_t
break; break;
case LAYER_PROTO_IPV4: case LAYER_PROTO_IPV4:
iphdr = (struct ip *)(pkt_buff + curr->hdr_offset); iphdr = (struct ip *)(pkt_buff + curr->hdr_offset);
last = (struct packet_layer *)packet_get_layer(first, i + 1); last = (struct raw_layer *)packet_get_raw_layer(first, i + 1);
if (last->type == LAYER_PROTO_TCP) if (last->type == LAYER_PROTO_TCP)
{ {
tcphdr = (struct tcphdr *)(pkt_buff + last->hdr_offset); tcphdr = (struct tcphdr *)(pkt_buff + last->hdr_offset);
@@ -288,7 +288,7 @@ static int build_tcp_packet(const struct packet *first, uint16_t ip_id, uint8_t
break; break;
case LAYER_PROTO_IPV6: case LAYER_PROTO_IPV6:
ip6hdr = (struct ip6_hdr *)(pkt_buff + curr->hdr_offset); ip6hdr = (struct ip6_hdr *)(pkt_buff + curr->hdr_offset);
last = (struct packet_layer *)packet_get_layer(first, i + 1); last = (struct raw_layer *)packet_get_raw_layer(first, i + 1);
if (last->type == LAYER_PROTO_TCP) if (last->type == LAYER_PROTO_TCP)
{ {
tcphdr = (struct tcphdr *)(pkt_buff + last->hdr_offset); tcphdr = (struct tcphdr *)(pkt_buff + last->hdr_offset);
@@ -320,10 +320,10 @@ static int build_udp_packet(const struct packet *first, const char *udp_pld, int
struct udphdr *udphdr; struct udphdr *udphdr;
struct ip *iphdr; struct ip *iphdr;
struct ip6_hdr *ip6hdr; struct ip6_hdr *ip6hdr;
struct packet_layer *curr; struct raw_layer *curr;
struct packet_layer *last; struct raw_layer *last;
int len = packet_get_len(first); int len = packet_get_len(first);
int8_t layers = packet_get_layer_count(first); int layers = packet_get_layer_count(first);
if ((udp_pld == NULL && pld_len > 0) || (udp_pld != NULL && pld_len <= 0)) if ((udp_pld == NULL && pld_len > 0) || (udp_pld != NULL && pld_len <= 0))
{ {
@@ -336,9 +336,9 @@ static int build_udp_packet(const struct packet *first, const char *udp_pld, int
} }
memcpy(pkt_buff, packet_get_data(first), len); memcpy(pkt_buff, packet_get_data(first), len);
for (int8_t i = layers - 1; i >= 0; i--) for (int i = layers - 1; i >= 0; i--)
{ {
curr = (struct packet_layer *)packet_get_layer(first, i); curr = (struct raw_layer *)packet_get_raw_layer(first, i);
switch (curr->type) switch (curr->type)
{ {
case LAYER_PROTO_UDP: case LAYER_PROTO_UDP:
@@ -356,7 +356,7 @@ static int build_udp_packet(const struct packet *first, const char *udp_pld, int
break; break;
case LAYER_PROTO_IPV4: case LAYER_PROTO_IPV4:
iphdr = (struct ip *)(pkt_buff + curr->hdr_offset); iphdr = (struct ip *)(pkt_buff + curr->hdr_offset);
last = (struct packet_layer *)packet_get_layer(first, i + 1); last = (struct raw_layer *)packet_get_raw_layer(first, i + 1);
if (last->type == LAYER_PROTO_UDP) if (last->type == LAYER_PROTO_UDP)
{ {
udphdr = (struct udphdr *)(pkt_buff + last->hdr_offset); udphdr = (struct udphdr *)(pkt_buff + last->hdr_offset);
@@ -366,7 +366,7 @@ static int build_udp_packet(const struct packet *first, const char *udp_pld, int
break; break;
case LAYER_PROTO_IPV6: case LAYER_PROTO_IPV6:
ip6hdr = (struct ip6_hdr *)(pkt_buff + curr->hdr_offset); ip6hdr = (struct ip6_hdr *)(pkt_buff + curr->hdr_offset);
last = (struct packet_layer *)packet_get_layer(first, i + 1); last = (struct raw_layer *)packet_get_raw_layer(first, i + 1);
if (last->type == LAYER_PROTO_UDP) if (last->type == LAYER_PROTO_UDP)
{ {
udphdr = (struct udphdr *)(pkt_buff + last->hdr_offset); udphdr = (struct udphdr *)(pkt_buff + last->hdr_offset);

View File

@@ -4,7 +4,7 @@ global:
packet_get_session_id; packet_get_session_id;
packet_prepend_sid_list; packet_prepend_sid_list;
packet_get_layer_count; packet_get_layer_count;
packet_get_layer; packet_get_raw_layer;
packet_get_data; packet_get_data;
packet_get_len; packet_get_len;
packet_get_payload; packet_get_payload;

View File

@@ -89,12 +89,12 @@ static void packet_to_tshark_format(const struct packet *pkt, uint64_t idx)
char tmp_src_buff[256] = {0}; char tmp_src_buff[256] = {0};
char tmp_dst_buff[256] = {0}; char tmp_dst_buff[256] = {0};
int8_t num = packet_get_layer_count(pkt); int num = packet_get_layer_count(pkt);
for (int8_t i = 0; i < num; i++) for (int i = 0; i < num; i++)
{ {
memset(tmp_src_buff, 0, sizeof(tmp_src_buff)); memset(tmp_src_buff, 0, sizeof(tmp_src_buff));
memset(tmp_dst_buff, 0, sizeof(tmp_dst_buff)); memset(tmp_dst_buff, 0, sizeof(tmp_dst_buff));
const struct packet_layer *layer = packet_get_layer(pkt, i); const struct raw_layer *layer = packet_get_raw_layer(pkt, i);
switch (layer->type) switch (layer->type)
{ {
case LAYER_PROTO_ETHER: case LAYER_PROTO_ETHER: