rename struct packet_layer to struct raw_layer
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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++)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user