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,
};
struct packet_layer
struct raw_layer
{
enum layer_proto type;
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);
void packet_prepend_sid_list(struct packet *pkt, const struct sid_list *list);
int8_t packet_get_layer_count(const struct packet *pkt);
const struct packet_layer *packet_get_layer(const struct packet *pkt, int8_t idx);
int packet_get_layer_count(const struct packet *pkt);
const struct raw_layer *packet_get_raw_layer(const struct packet *pkt, int idx);
const char *packet_get_data(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 ip6_hdr *ip6_hdr = NULL;
const struct packet_layer *layer = NULL;
int8_t num = packet_get_layer_count(pkt);
for (int8_t i = num - 1; i >= 0; i--)
const struct raw_layer *layer = NULL;
int num = packet_get_layer_count(pkt);
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)
{
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 udphdr *udp_hdr = NULL;
const struct packet_layer *layer = NULL;
int8_t num = packet_get_layer_count(pkt);
for (int8_t i = num - 1; i >= 0; i--)
const struct raw_layer *layer = NULL;
int num = packet_get_layer_count(pkt);
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)
{
tcp_hdr = (const struct tcphdr *)layer->hdr_ptr;

View File

@@ -34,9 +34,9 @@ struct duplicated_packet_filter
// reutrn -1: error
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 packet_layer *tcp_layer = packet_get_innermost_layer(packet, LAYER_PROTO_TCP);
const struct packet_layer *udp_layer = packet_get_innermost_layer(packet, LAYER_PROTO_UDP);
const struct raw_layer *ip_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_IPV4);
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_TCP);
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))
{
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)
{
struct packet_layer *layer = pkt->frag_layer;
struct raw_layer *layer = pkt->frag_layer;
if (layer->type == LAYER_PROTO_IPV6)
{
@@ -859,7 +859,7 @@ struct packet *ip_reassembly_packet(struct ip_reassembly *assy, const struct pac
return NULL;
}
const struct packet_layer *layer = pkt->frag_layer;
const struct raw_layer *layer = pkt->frag_layer;
if (layer == 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)
{
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;
uint16_t frag_len = ipv4_hdr_get_total_len(hdr) - ipv4_hdr_get_hdr_len(hdr);
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)
{
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_frag *frag_hdr = ipv6_hdr_get_frag_ext(hdr);
if (frag_hdr == NULL)

View File

@@ -196,7 +196,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
{
struct packet pkt;
struct packet *new_pkt;
const struct packet_layer *layer;
const struct raw_layer *layer;
struct ip_reassembly *assy;
struct ip_reassembly_options opts = {
.enable = true,
@@ -243,7 +243,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// 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);
struct ip *hdr = (struct ip *)layer->hdr_ptr;
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);
// 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);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
@@ -289,7 +289,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
{
struct packet pkt;
struct packet *new_pkt;
const struct packet_layer *layer;
const struct raw_layer *layer;
struct ip_reassembly *assy;
struct ip_reassembly_options opts = {
.enable = true,
@@ -336,7 +336,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// 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);
struct ip *hdr = (struct ip *)layer->hdr_ptr;
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);
// 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);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
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 *new_pkt;
const struct packet_layer *layer;
const struct raw_layer *layer;
struct ip_reassembly *assy;
struct ip_reassembly_options opts = {
.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);
// 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);
struct ip *hdr = (struct ip *)layer->hdr_ptr;
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);
// 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);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
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 *new_pkt;
const struct packet_layer *layer;
const struct raw_layer *layer;
struct ip_reassembly *assy;
struct ip_reassembly_options opts = {
.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);
// 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);
struct ip *hdr = (struct ip *)layer->hdr_ptr;
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);
// 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);
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
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 *new_pkt;
const struct packet_layer *layer;
const struct raw_layer *layer;
struct ip_reassembly *assy;
struct ip_reassembly_options opts = {
.enable = true,
@@ -676,7 +676,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
// 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);
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
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);
// 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);
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
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 *new_pkt;
const struct packet_layer *layer;
const struct raw_layer *layer;
struct ip_reassembly *assy;
struct ip_reassembly_options opts = {
.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);
// 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);
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
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);
// 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);
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
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 *new_pkt;
const struct packet_layer *layer;
const struct raw_layer *layer;
struct ip_reassembly *assy;
struct ip_reassembly_options opts = {
.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);
// 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);
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
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);
// 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);
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
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)
{
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);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
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)
{
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);
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
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)
{
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);
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
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_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);
@@ -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)
{
@@ -360,7 +360,7 @@ static inline const char *parse_ether(struct packet *pkt, const char *data, uint
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -388,7 +388,7 @@ static inline const char *parse_pweth(struct packet *pkt, const char *data, uint
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -481,7 +481,7 @@ static inline const char *parse_ppp(struct packet *pkt, const char *data, uint16
hdr_len = 4;
success:
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -508,7 +508,7 @@ static inline const char *parse_l2tpv2_over_udp(struct packet *pkt, const char *
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -536,7 +536,7 @@ static inline const char *parse_l2tpv3_over_udp(struct packet *pkt, const char *
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -565,7 +565,7 @@ static inline const char *parse_l2tpv3_over_ip(struct packet *pkt, const char *d
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -593,7 +593,7 @@ static inline const char *parse_vlan(struct packet *pkt, const char *data, uint1
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -612,7 +612,7 @@ static inline const char *parse_pppoe_ses(struct packet *pkt, const char *data,
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -630,7 +630,7 @@ static inline const char *parse_mpls(struct packet *pkt, const char *data, uint1
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -679,7 +679,7 @@ static inline const char *parse_ipv4(struct packet *pkt, const char *data, uint1
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -745,7 +745,7 @@ static inline const char *parse_ipv6(struct packet *pkt, const char *data, uint1
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -850,7 +850,7 @@ static inline const char *parse_auth(struct packet *pkt, const char *data, uint1
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -869,7 +869,7 @@ static inline const char *parse_gre(struct packet *pkt, const char *data, uint16
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -888,7 +888,7 @@ static inline const char *parse_udp(struct packet *pkt, const char *data, uint16
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -965,7 +965,7 @@ static inline const char *parse_tcp(struct packet *pkt, const char *data, uint16
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -989,7 +989,7 @@ static inline const char *parse_icmp(struct packet *pkt, const char *data, uint1
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -1007,7 +1007,7 @@ static inline const char *parse_icmp6(struct packet *pkt, const char *data, uint
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -1025,7 +1025,7 @@ static inline const char *parse_vxlan(struct packet *pkt, const char *data, uint
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -1044,7 +1044,7 @@ static inline const char *parse_gtpv1_u(struct packet *pkt, const char *data, ui
return data;
}
struct packet_layer *layer = get_free_layer(pkt);
struct raw_layer *layer = get_free_layer(pkt);
if (unlikely(layer == NULL))
{
return data;
@@ -1147,7 +1147,7 @@ void packet_print_str(const struct packet *pkt)
for (uint8_t i = 0; i < pkt->layers_used; i++)
{
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",
i, layer, layer_proto_to_str(layer->type), layer->hdr_offset,
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)
{
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--)
{
@@ -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)
{
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++)
{
@@ -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)
{
memset(tuple, 0, sizeof(struct tuple4));
const struct packet_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL;
const struct raw_layer *layer_l3 = NULL;
const struct raw_layer *layer_l4 = NULL;
const struct raw_layer *layer = NULL;
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)
{
memset(tuple, 0, sizeof(struct tuple4));
const struct packet_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL;
const struct raw_layer *layer_l3 = NULL;
const struct raw_layer *layer_l4 = NULL;
const struct raw_layer *layer = NULL;
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)
{
memset(tuple, 0, sizeof(struct tuple6));
const struct packet_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL;
const struct raw_layer *layer_l3 = NULL;
const struct raw_layer *layer_l4 = NULL;
const struct raw_layer *layer = NULL;
uint64_t domain = packet_get_domain(pkt);
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)
{
memset(tuple, 0, sizeof(struct tuple6));
const struct packet_layer *layer_l3 = NULL;
const struct packet_layer *layer_l4 = NULL;
const struct packet_layer *layer = NULL;
const struct raw_layer *layer_l3 = NULL;
const struct raw_layer *layer_l4 = NULL;
const struct raw_layer *layer = NULL;
uint64_t domain = packet_get_domain(pkt);
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--)
{
@@ -1428,9 +1428,9 @@ const struct packet_layer *packet_get_innermost_layer(const struct packet *pkt,
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++)
{

View File

@@ -38,8 +38,8 @@ enum packet_origin
struct packet
{
struct packet_layer layers[PACKET_MAX_LAYERS];
struct packet_layer *frag_layer; // fragment layer
struct raw_layer layers[PACKET_MAX_LAYERS];
struct raw_layer *frag_layer; // fragment layer
int8_t layers_used;
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_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 packet_layer *packet_get_outermost_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 raw_layer *packet_get_outermost_raw_layer(const struct packet *pkt, enum layer_proto type);
/******************************************************************************
* Utils

View File

@@ -23,12 +23,12 @@ enum packet_origin packet_get_origin(const struct packet *pkt)
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;
}
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)
{

View File

@@ -89,8 +89,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -100,8 +100,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
EXPECT_TRUE(outer_eth_record->pld_len == 156);
// LAYER_PROTO_VLAN
const struct packet_layer *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN);
const struct packet_layer *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN);
const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_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(inner_vlan_record != nullptr);
@@ -113,8 +113,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
EXPECT_TRUE(inner_vlan_record->pld_len == 148);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -126,8 +126,8 @@ TEST(PACKET, ETH_VLAN_VLAN_IP4_IP4_UDP)
EXPECT_TRUE(inner_ipv4_record->pld_len == 108);
// LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_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(inner_udp_record != nullptr);
@@ -292,8 +292,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -303,8 +303,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
EXPECT_TRUE(outer_eth_record->pld_len == 712);
// LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_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(inner_ipv6_record != nullptr);
@@ -314,8 +314,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
EXPECT_TRUE(outer_ipv6_record->pld_len == 672);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -325,8 +325,8 @@ TEST(PACKET, ETH_IP6_IP4_TCP_SSH)
EXPECT_TRUE(outer_ipv4_record->pld_len == 652);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);
@@ -484,8 +484,8 @@ TEST(PACKET, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_VLAN
const struct packet_layer *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN);
const struct packet_layer *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN);
const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_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(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);
// 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->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);
// LAYER_PROTO_GRE
const struct packet_layer *outer_gre_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GRE);
const struct packet_layer *inner_ger_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GRE);
const struct raw_layer *outer_gre_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_PPP
const struct packet_layer *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP);
const struct packet_layer *inner_ppp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPP);
const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_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(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);
// 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->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);
// LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_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(inner_udp_record != nullptr);
@@ -690,8 +690,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -701,8 +701,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 92);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -712,8 +712,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 72);
// LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_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(inner_ipv6_record != nullptr);
@@ -723,8 +723,8 @@ TEST(PACKET, ETH_IP4_IP6_TCP)
EXPECT_TRUE(outer_ipv6_record->pld_len == 32);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);
@@ -844,8 +844,8 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -855,7 +855,7 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
EXPECT_TRUE(outer_eth_record->pld_len == 92);
// 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->hdr_offset == 14);
@@ -863,7 +863,7 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
EXPECT_TRUE(outer_ipv6_record->pld_len == 52);
// 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->hdr_offset == 54);
@@ -871,8 +871,8 @@ TEST(PACKET, ETH_IP6_IP6_UDP)
EXPECT_TRUE(inner_ipv6_record->pld_len == 12);
// LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_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(inner_udp_record != nullptr);
@@ -999,8 +999,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -1010,8 +1010,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 56);
// LAYER_PROTO_MPLS
const struct packet_layer *outer_mpls_record = packet_get_outermost_layer(&handler, LAYER_PROTO_MPLS);
const struct packet_layer *inner_mpls_record = packet_get_innermost_layer(&handler, LAYER_PROTO_MPLS);
const struct raw_layer *outer_mpls_record = packet_get_outermost_raw_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(inner_mpls_record != nullptr);
@@ -1021,8 +1021,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
EXPECT_TRUE(outer_mpls_record->pld_len == 52);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -1032,8 +1032,8 @@ TEST(PACKET, ETH_MPLS_IP4_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);
@@ -1165,8 +1165,8 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -1176,7 +1176,7 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 52);
// 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->hdr_offset == 14);
@@ -1184,7 +1184,7 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(outer_mpls_record->pld_len == 48);
// 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->hdr_offset == 18);
@@ -1192,8 +1192,8 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(inner_mpls_record->pld_len == 44);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -1203,8 +1203,8 @@ TEST(PACKET, ETH_MPLS_MPLS_IP4_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 24);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);
@@ -1341,8 +1341,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -1352,8 +1352,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_eth_record->pld_len == 64);
// LAYER_PROTO_VLAN
const struct packet_layer *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN);
const struct packet_layer *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN);
const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_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(inner_vlan_record != nullptr);
@@ -1363,8 +1363,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_vlan_record->pld_len == 60);
// LAYER_PROTO_PPPOE
const struct packet_layer *outer_pppoe_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPPOE);
const struct packet_layer *inner_pppoe_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPPOE);
const struct raw_layer *outer_pppoe_record = packet_get_outermost_raw_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(inner_pppoe_record != nullptr);
@@ -1374,8 +1374,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_pppoe_record->pld_len == 54);
// LAYER_PROTO_PPP
const struct packet_layer *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP);
const struct packet_layer *inner_ppp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPP);
const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_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(inner_ppp_record != nullptr);
@@ -1385,8 +1385,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_ppp_record->pld_len == 52);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -1397,8 +1397,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);
@@ -1593,8 +1593,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(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);
// 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->hdr_offset == 14);
@@ -1612,8 +1612,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
EXPECT_TRUE(outer_ipv6_record->pld_len == 1388);
// LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_GTPV1_U
const struct packet_layer *outer_gtp_record = packet_get_outermost_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 *outer_gtp_record = packet_get_outermost_raw_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(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);
// 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->hdr_offset == 70);
@@ -1642,8 +1642,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
EXPECT_TRUE(inner_ipv6_record->pld_len == 1332);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);
@@ -1846,8 +1846,8 @@ TEST(PACKET, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_UDP
const struct packet_layer *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
const struct packet_layer *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_GTPV1_U
const struct packet_layer *outer_gtp_record = packet_get_outermost_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 *outer_gtp_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(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);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);
@@ -2047,7 +2047,7 @@ TEST(PACKET, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
******************************************************/
// 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->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);
// 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->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);
// 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->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);
// LAYER_PROTO_VXLAN
const struct packet_layer *outer_g_vlan_record = packet_get_outermost_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 *outer_g_vlan_record = packet_get_outermost_raw_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(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);
// 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->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);
// 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->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);
// 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->hdr_offset == 84);
@@ -2203,7 +2203,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
******************************************************/
// 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->hdr_offset == 0);
@@ -2211,7 +2211,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(outer_eth_record->pld_len == 76);
// 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->hdr_offset == 14);
@@ -2219,7 +2219,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(outer_mpls_record->pld_len == 72);
// 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->hdr_offset == 18);
@@ -2227,7 +2227,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(inner_mpls_record->pld_len == 68);
// 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->hdr_offset == 22);
@@ -2235,7 +2235,7 @@ TEST(PACKET, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
EXPECT_TRUE(inner_pweth_record->pld_len == 64);
// 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->hdr_offset == 26);
@@ -2339,8 +2339,8 @@ TEST(PACKET, ETH_IP4_ICMP)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -2350,8 +2350,8 @@ TEST(PACKET, ETH_IP4_ICMP)
EXPECT_TRUE(outer_eth_record->pld_len == 84);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -2361,8 +2361,8 @@ TEST(PACKET, ETH_IP4_ICMP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 64);
// LAYER_PROTO_ICMP
const struct packet_layer *outer_icmp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ICMP);
const struct packet_layer *inner_icmp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ICMP);
const struct raw_layer *outer_icmp_record = packet_get_outermost_raw_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(inner_icmp_record != nullptr);
@@ -2444,8 +2444,8 @@ TEST(PACKET, ETH_IP6_ICMP6)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -2455,8 +2455,8 @@ TEST(PACKET, ETH_IP6_ICMP6)
EXPECT_TRUE(outer_eth_record->pld_len == 100);
// LAYER_PROTO_IPV6
const struct packet_layer *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
const struct packet_layer *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_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(inner_ipv6_record != nullptr);
@@ -2466,8 +2466,8 @@ TEST(PACKET, ETH_IP6_ICMP6)
EXPECT_TRUE(outer_ipv6_record->pld_len == 60);
// LAYER_PROTO_ICMP6
const struct packet_layer *outer_icmp6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ICMP6);
const struct packet_layer *inner_icmp6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ICMP6);
const struct raw_layer *outer_icmp6_record = packet_get_outermost_raw_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(inner_icmp6_record != nullptr);
@@ -2608,7 +2608,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
******************************************************/
// 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->hdr_offset == 0);
@@ -2616,7 +2616,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_eth_record->pld_len == 136);
// 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->hdr_offset == 14);
@@ -2624,7 +2624,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_ipv4_record->pld_len == 116);
// 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->hdr_offset == 34);
@@ -2632,7 +2632,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_udp_record->pld_len == 108);
// 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->hdr_offset == 42);
@@ -2640,7 +2640,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_l2tpv2_record->pld_len == 100);
// 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->hdr_offset == 50);
@@ -2648,7 +2648,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(outer_ppp_record->pld_len == 96);
// 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->hdr_offset == 54);
@@ -2656,7 +2656,7 @@ TEST(PACKET, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
EXPECT_TRUE(inner_ipv4_record->pld_len == 76);
// 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->hdr_offset == 74);
@@ -2772,8 +2772,8 @@ TEST(PACKET, ETH_IP4_TCP_PADDING)
******************************************************/
// LAYER_PROTO_ETHER
const struct packet_layer *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
const struct packet_layer *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_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(inner_eth_record != nullptr);
@@ -2783,8 +2783,8 @@ TEST(PACKET, ETH_IP4_TCP_PADDING)
EXPECT_TRUE(outer_eth_record->pld_len == 46);
// LAYER_PROTO_IPV4
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_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(inner_ipv4_record != nullptr);
@@ -2794,8 +2794,8 @@ TEST(PACKET, ETH_IP4_TCP_PADDING)
EXPECT_TRUE(outer_ipv4_record->pld_len == 20);
// LAYER_PROTO_TCP
const struct packet_layer *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
const struct packet_layer *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_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(inner_tcp_record != nullptr);

View File

@@ -278,7 +278,7 @@ static int tcp_init(struct session_manager *mgr, struct session *sess)
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 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;
}
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;
uint8_t flags = tcp_hdr_get_flags(hdr);
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)
{
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;
uint8_t flags = tcp_hdr_get_flags(hdr);
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)
{
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;
enum flow_direction dir = identify_direction_by_history(sess, key);
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)
{
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);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
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)
{
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);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
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)
{
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);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
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};
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));
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);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
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};
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));
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);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
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};
memcpy(syn_retransmission, tcp_pkt1_c2s_syn, 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;
ipv4_hdr_set_ipid(hdr, 0x1234);
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};
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));
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);
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
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};
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));
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);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
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};
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));
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);
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
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 ip *iphdr;
struct ip6_hdr *ip6hdr;
struct packet_layer *curr;
struct packet_layer *last;
struct raw_layer *curr;
struct raw_layer *last;
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))
{
@@ -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);
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)
{
case LAYER_PROTO_TCP:
@@ -273,7 +273,7 @@ static int build_tcp_packet(const struct packet *first, uint16_t ip_id, uint8_t
break;
case LAYER_PROTO_IPV4:
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)
{
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;
case LAYER_PROTO_IPV6:
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)
{
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 ip *iphdr;
struct ip6_hdr *ip6hdr;
struct packet_layer *curr;
struct packet_layer *last;
struct raw_layer *curr;
struct raw_layer *last;
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))
{
@@ -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);
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)
{
case LAYER_PROTO_UDP:
@@ -356,7 +356,7 @@ static int build_udp_packet(const struct packet *first, const char *udp_pld, int
break;
case LAYER_PROTO_IPV4:
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)
{
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;
case LAYER_PROTO_IPV6:
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)
{
udphdr = (struct udphdr *)(pkt_buff + last->hdr_offset);

View File

@@ -4,7 +4,7 @@ global:
packet_get_session_id;
packet_prepend_sid_list;
packet_get_layer_count;
packet_get_layer;
packet_get_raw_layer;
packet_get_data;
packet_get_len;
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_dst_buff[256] = {0};
int8_t num = packet_get_layer_count(pkt);
for (int8_t i = 0; i < num; i++)
int num = packet_get_layer_count(pkt);
for (int i = 0; i < num; i++)
{
memset(tmp_src_buff, 0, sizeof(tmp_src_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)
{
case LAYER_PROTO_ETHER: