refactor: rename struct raw_layer to struct layer_private
This commit is contained in:
@@ -304,7 +304,7 @@ static inline void ip_frag_key_zero(struct ip_frag_key *key)
|
|||||||
|
|
||||||
static inline void ip_frag_hdr_init(struct ip_frag_hdr *hdr, const struct packet *pkt)
|
static inline void ip_frag_hdr_init(struct ip_frag_hdr *hdr, const struct packet *pkt)
|
||||||
{
|
{
|
||||||
struct raw_layer *layer = pkt->frag_layer;
|
struct layer_private *layer = pkt->frag_layer;
|
||||||
|
|
||||||
if (layer->proto == LAYER_PROTO_IPV6)
|
if (layer->proto == LAYER_PROTO_IPV6)
|
||||||
{
|
{
|
||||||
@@ -874,7 +874,7 @@ struct packet *ip_reassembly_packet(struct ip_reassembly *assy, const struct pac
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct raw_layer *layer = pkt->frag_layer;
|
const struct layer_private *layer = pkt->frag_layer;
|
||||||
if (layer == NULL)
|
if (layer == NULL)
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -912,7 +912,7 @@ struct packet *ip_reassembly_packet(struct ip_reassembly *assy, const struct pac
|
|||||||
|
|
||||||
struct packet *ipv4_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now)
|
struct packet *ipv4_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now)
|
||||||
{
|
{
|
||||||
const struct raw_layer *layer = pkt->frag_layer;
|
const struct layer_private *layer = pkt->frag_layer;
|
||||||
const struct ip *hdr = (const struct ip *)layer->hdr_ptr;
|
const struct ip *hdr = (const struct ip *)layer->hdr_ptr;
|
||||||
uint16_t frag_len = ip4_hdr_get_total_len(hdr) - ip4_hdr_get_hdr_len(hdr);
|
uint16_t frag_len = ip4_hdr_get_total_len(hdr) - ip4_hdr_get_hdr_len(hdr);
|
||||||
if (frag_len > layer->pld_len)
|
if (frag_len > layer->pld_len)
|
||||||
@@ -994,7 +994,7 @@ struct packet *ipv4_reassembly_packet(struct ip_reassembly *assy, const struct p
|
|||||||
|
|
||||||
struct packet *ipv6_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now)
|
struct packet *ipv6_reassembly_packet(struct ip_reassembly *assy, const struct packet *pkt, uint64_t now)
|
||||||
{
|
{
|
||||||
const struct raw_layer *layer = pkt->frag_layer;
|
const struct layer_private *layer = pkt->frag_layer;
|
||||||
const struct ip6_hdr *hdr = (const struct ip6_hdr *)layer->hdr_ptr;
|
const struct ip6_hdr *hdr = (const struct ip6_hdr *)layer->hdr_ptr;
|
||||||
const struct ip6_frag *frag_hdr = ip6_hdr_get_frag_ext(hdr);
|
const struct ip6_frag *frag_hdr = ip6_hdr_get_frag_ext(hdr);
|
||||||
if (frag_hdr == NULL)
|
if (frag_hdr == NULL)
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
|
|||||||
{
|
{
|
||||||
struct packet pkt;
|
struct packet pkt;
|
||||||
struct packet *new_pkt;
|
struct packet *new_pkt;
|
||||||
const struct raw_layer *layer;
|
const struct layer_private *layer;
|
||||||
struct ip_reassembly *assy;
|
struct ip_reassembly *assy;
|
||||||
struct ip_reassembly_options opts = {
|
struct ip_reassembly_options opts = {
|
||||||
.enable = true,
|
.enable = true,
|
||||||
@@ -245,7 +245,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
|
|||||||
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
||||||
|
|
||||||
// check IPv4
|
// check IPv4
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
||||||
@@ -264,7 +264,7 @@ TEST(IPV4_REASSEMBLE, PADDING_ORDER)
|
|||||||
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
||||||
|
|
||||||
// check TCP
|
// check TCP
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
||||||
@@ -291,7 +291,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
|
|||||||
{
|
{
|
||||||
struct packet pkt;
|
struct packet pkt;
|
||||||
struct packet *new_pkt;
|
struct packet *new_pkt;
|
||||||
const struct raw_layer *layer;
|
const struct layer_private *layer;
|
||||||
struct ip_reassembly *assy;
|
struct ip_reassembly *assy;
|
||||||
struct ip_reassembly_options opts = {
|
struct ip_reassembly_options opts = {
|
||||||
.enable = true,
|
.enable = true,
|
||||||
@@ -340,7 +340,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
|
|||||||
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
||||||
|
|
||||||
// check IPv4
|
// check IPv4
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
||||||
@@ -359,7 +359,7 @@ TEST(IPV4_REASSEMBLE, PADDING_UNORDER)
|
|||||||
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
||||||
|
|
||||||
// check TCP
|
// check TCP
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
||||||
@@ -439,7 +439,7 @@ TEST(IPV4_REASSEMBLE, DUP_FIRST_FRAG)
|
|||||||
{
|
{
|
||||||
struct packet pkt;
|
struct packet pkt;
|
||||||
struct packet *new_pkt;
|
struct packet *new_pkt;
|
||||||
const struct raw_layer *layer;
|
const struct layer_private *layer;
|
||||||
struct ip_reassembly *assy;
|
struct ip_reassembly *assy;
|
||||||
struct ip_reassembly_options opts = {
|
struct ip_reassembly_options opts = {
|
||||||
.enable = true,
|
.enable = true,
|
||||||
@@ -500,7 +500,7 @@ TEST(IPV4_REASSEMBLE, DUP_FIRST_FRAG)
|
|||||||
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
||||||
|
|
||||||
// check IPv4
|
// check IPv4
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
||||||
@@ -519,7 +519,7 @@ TEST(IPV4_REASSEMBLE, DUP_FIRST_FRAG)
|
|||||||
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
||||||
|
|
||||||
// check TCP
|
// check TCP
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
||||||
@@ -546,7 +546,7 @@ TEST(IPV4_REASSEMBLE, DUP_LAST_FRAG)
|
|||||||
{
|
{
|
||||||
struct packet pkt;
|
struct packet pkt;
|
||||||
struct packet *new_pkt;
|
struct packet *new_pkt;
|
||||||
const struct raw_layer *layer;
|
const struct layer_private *layer;
|
||||||
struct ip_reassembly *assy;
|
struct ip_reassembly *assy;
|
||||||
struct ip_reassembly_options opts = {
|
struct ip_reassembly_options opts = {
|
||||||
.enable = true,
|
.enable = true,
|
||||||
@@ -607,7 +607,7 @@ TEST(IPV4_REASSEMBLE, DUP_LAST_FRAG)
|
|||||||
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
||||||
|
|
||||||
// check IPv4
|
// check IPv4
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV4);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
EXPECT_TRUE(ip4_hdr_get_version(hdr) == 4);
|
||||||
@@ -626,7 +626,7 @@ TEST(IPV4_REASSEMBLE, DUP_LAST_FRAG)
|
|||||||
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
EXPECT_TRUE(ip4_hdr_get_opt_data(hdr) == NULL);
|
||||||
|
|
||||||
// check TCP
|
// check TCP
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_TCP);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
struct tcphdr *tcp_hdr = (struct tcphdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
EXPECT_TRUE(tcp_hdr_get_src_port(tcp_hdr) == 62629);
|
||||||
|
|||||||
@@ -607,7 +607,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
|||||||
{
|
{
|
||||||
struct packet pkt;
|
struct packet pkt;
|
||||||
struct packet *new_pkt;
|
struct packet *new_pkt;
|
||||||
const struct raw_layer *layer;
|
const struct layer_private *layer;
|
||||||
struct ip_reassembly *assy;
|
struct ip_reassembly *assy;
|
||||||
struct ip_reassembly_options opts = {
|
struct ip_reassembly_options opts = {
|
||||||
.enable = true,
|
.enable = true,
|
||||||
@@ -680,7 +680,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
|||||||
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
||||||
|
|
||||||
// check IPv6
|
// check IPv6
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV6);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV6);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
|
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(ip6_hdr_get_version(hdr) == 6);
|
EXPECT_TRUE(ip6_hdr_get_version(hdr) == 6);
|
||||||
@@ -700,7 +700,7 @@ TEST(IPV6_REASSEMBLE, NORMAL)
|
|||||||
EXPECT_TRUE(ip6_hdr_get_frag_ext(hdr) == NULL);
|
EXPECT_TRUE(ip6_hdr_get_frag_ext(hdr) == NULL);
|
||||||
|
|
||||||
// check UDP
|
// check UDP
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_UDP);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_UDP);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
|
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
|
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
|
||||||
@@ -773,7 +773,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
|||||||
{
|
{
|
||||||
struct packet pkt;
|
struct packet pkt;
|
||||||
struct packet *new_pkt;
|
struct packet *new_pkt;
|
||||||
const struct raw_layer *layer;
|
const struct layer_private *layer;
|
||||||
struct ip_reassembly *assy;
|
struct ip_reassembly *assy;
|
||||||
struct ip_reassembly_options opts = {
|
struct ip_reassembly_options opts = {
|
||||||
.enable = true,
|
.enable = true,
|
||||||
@@ -858,7 +858,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
|||||||
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
||||||
|
|
||||||
// check IPv6
|
// check IPv6
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV6);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV6);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
|
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(ip6_hdr_get_version(hdr) == 6);
|
EXPECT_TRUE(ip6_hdr_get_version(hdr) == 6);
|
||||||
@@ -878,7 +878,7 @@ TEST(IPV6_REASSEMBLE, DUP_FIRST_FRAG)
|
|||||||
EXPECT_TRUE(ip6_hdr_get_frag_ext(hdr) == NULL);
|
EXPECT_TRUE(ip6_hdr_get_frag_ext(hdr) == NULL);
|
||||||
|
|
||||||
// check UDP
|
// check UDP
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_UDP);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_UDP);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
|
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
|
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
|
||||||
@@ -898,7 +898,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
|||||||
{
|
{
|
||||||
struct packet pkt;
|
struct packet pkt;
|
||||||
struct packet *new_pkt;
|
struct packet *new_pkt;
|
||||||
const struct raw_layer *layer;
|
const struct layer_private *layer;
|
||||||
struct ip_reassembly *assy;
|
struct ip_reassembly *assy;
|
||||||
struct ip_reassembly_options opts = {
|
struct ip_reassembly_options opts = {
|
||||||
.enable = true,
|
.enable = true,
|
||||||
@@ -983,7 +983,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
|||||||
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
EXPECT_TRUE(memcmp(new_pkt->data_ptr, expect, new_pkt->data_len) == 0);
|
||||||
|
|
||||||
// check IPv6
|
// check IPv6
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_IPV6);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_IPV6);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
|
struct ip6_hdr *hdr = (struct ip6_hdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(ip6_hdr_get_version(hdr) == 6);
|
EXPECT_TRUE(ip6_hdr_get_version(hdr) == 6);
|
||||||
@@ -1003,7 +1003,7 @@ TEST(IPV6_REASSEMBLE, DUP_LAST_FRAG)
|
|||||||
EXPECT_TRUE(ip6_hdr_get_frag_ext(hdr) == NULL);
|
EXPECT_TRUE(ip6_hdr_get_frag_ext(hdr) == NULL);
|
||||||
|
|
||||||
// check UDP
|
// check UDP
|
||||||
layer = packet_get_innermost_raw_layer(new_pkt, LAYER_PROTO_UDP);
|
layer = packet_get_innermost_layer(new_pkt, LAYER_PROTO_UDP);
|
||||||
EXPECT_TRUE(layer);
|
EXPECT_TRUE(layer);
|
||||||
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
|
struct udphdr *udp_hdr = (struct udphdr *)layer->hdr_ptr;
|
||||||
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
|
EXPECT_TRUE(udp_hdr_get_src_port(udp_hdr) == 6363);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ extern "C"
|
|||||||
|
|
||||||
static inline void packet_set_ipv4_src_addr(struct packet *pkt, uint32_t saddr)
|
static inline void packet_set_ipv4_src_addr(struct packet *pkt, uint32_t saddr)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
|
const struct layer_private *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(ipv4_layer);
|
EXPECT_TRUE(ipv4_layer);
|
||||||
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
||||||
ip4_hdr_set_src_addr(hdr, saddr);
|
ip4_hdr_set_src_addr(hdr, saddr);
|
||||||
@@ -23,7 +23,7 @@ static inline void packet_set_ipv4_src_addr(struct packet *pkt, uint32_t saddr)
|
|||||||
|
|
||||||
static inline void packet_set_ipv6_src_addr(struct packet *pkt, struct in6_addr saddr)
|
static inline void packet_set_ipv6_src_addr(struct packet *pkt, struct in6_addr saddr)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ipv6_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV6);
|
const struct layer_private *ipv6_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV6);
|
||||||
EXPECT_TRUE(ipv6_layer);
|
EXPECT_TRUE(ipv6_layer);
|
||||||
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
|
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
|
||||||
ip6_hdr_set_src_in6_addr(hdr, saddr);
|
ip6_hdr_set_src_in6_addr(hdr, saddr);
|
||||||
@@ -31,7 +31,7 @@ static inline void packet_set_ipv6_src_addr(struct packet *pkt, struct in6_addr
|
|||||||
|
|
||||||
static inline void packet_set_ipv6_frag_offset(struct packet *pkt, uint16_t offset)
|
static inline void packet_set_ipv6_frag_offset(struct packet *pkt, uint16_t offset)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ipv6_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV6);
|
const struct layer_private *ipv6_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV6);
|
||||||
EXPECT_TRUE(ipv6_layer);
|
EXPECT_TRUE(ipv6_layer);
|
||||||
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
|
struct ip6_hdr *hdr = (struct ip6_hdr *)ipv6_layer->hdr_ptr;
|
||||||
struct ip6_frag *frag_hdr = ip6_hdr_get_frag_ext(hdr);
|
struct ip6_frag *frag_hdr = ip6_hdr_get_frag_ext(hdr);
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ void *packet_get_user_data(struct packet *pkt)
|
|||||||
int packet_get_innermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
|
int packet_get_innermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
|
||||||
{
|
{
|
||||||
memset(tuple, 0, sizeof(struct tuple2));
|
memset(tuple, 0, sizeof(struct tuple2));
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@@ -174,7 +174,7 @@ int packet_get_innermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
|
|||||||
int packet_get_outermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
|
int packet_get_outermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
|
||||||
{
|
{
|
||||||
memset(tuple, 0, sizeof(struct tuple2));
|
memset(tuple, 0, sizeof(struct tuple2));
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = 0; i < pkt->layers_used; i++)
|
for (int8_t i = 0; i < pkt->layers_used; i++)
|
||||||
{
|
{
|
||||||
@@ -206,9 +206,9 @@ int packet_get_outermost_tuple2(const struct packet *pkt, struct tuple2 *tuple)
|
|||||||
int packet_get_innermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
|
int packet_get_innermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
|
||||||
{
|
{
|
||||||
memset(tuple, 0, sizeof(struct tuple4));
|
memset(tuple, 0, sizeof(struct tuple4));
|
||||||
const struct raw_layer *layer_l3 = NULL;
|
const struct layer_private *layer_l3 = NULL;
|
||||||
const struct raw_layer *layer_l4 = NULL;
|
const struct layer_private *layer_l4 = NULL;
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@@ -268,9 +268,9 @@ int packet_get_innermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
|
|||||||
int packet_get_outermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
|
int packet_get_outermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
|
||||||
{
|
{
|
||||||
memset(tuple, 0, sizeof(struct tuple4));
|
memset(tuple, 0, sizeof(struct tuple4));
|
||||||
const struct raw_layer *layer_l3 = NULL;
|
const struct layer_private *layer_l3 = NULL;
|
||||||
const struct raw_layer *layer_l4 = NULL;
|
const struct layer_private *layer_l4 = NULL;
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = 0; i < pkt->layers_used; i++)
|
for (int8_t i = 0; i < pkt->layers_used; i++)
|
||||||
{
|
{
|
||||||
@@ -330,9 +330,9 @@ int packet_get_outermost_tuple4(const struct packet *pkt, struct tuple4 *tuple)
|
|||||||
int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
|
int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
|
||||||
{
|
{
|
||||||
memset(tuple, 0, sizeof(struct tuple6));
|
memset(tuple, 0, sizeof(struct tuple6));
|
||||||
const struct raw_layer *layer_l3 = NULL;
|
const struct layer_private *layer_l3 = NULL;
|
||||||
const struct raw_layer *layer_l4 = NULL;
|
const struct layer_private *layer_l4 = NULL;
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@@ -395,9 +395,9 @@ int packet_get_innermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
|
|||||||
int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
|
int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple)
|
||||||
{
|
{
|
||||||
memset(tuple, 0, sizeof(struct tuple6));
|
memset(tuple, 0, sizeof(struct tuple6));
|
||||||
const struct raw_layer *layer_l3 = NULL;
|
const struct layer_private *layer_l3 = NULL;
|
||||||
const struct raw_layer *layer_l4 = NULL;
|
const struct layer_private *layer_l4 = NULL;
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = 0; i < pkt->layers_used; i++)
|
for (int8_t i = 0; i < pkt->layers_used; i++)
|
||||||
{
|
{
|
||||||
@@ -466,7 +466,7 @@ int packet_get_layer_count(const struct packet *pkt)
|
|||||||
|
|
||||||
int packet_get_layer_by_idx(const struct packet *pkt, int idx, struct layer *out)
|
int packet_get_layer_by_idx(const struct packet *pkt, int idx, struct layer *out)
|
||||||
{
|
{
|
||||||
const struct raw_layer *raw = packet_get_raw_layer(pkt, idx);
|
const struct layer_private *raw = packet_get_layer(pkt, idx);
|
||||||
if (raw == NULL)
|
if (raw == NULL)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
@@ -478,7 +478,7 @@ int packet_get_layer_by_idx(const struct packet *pkt, int idx, struct layer *out
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct raw_layer *packet_get_raw_layer(const struct packet *pkt, int idx)
|
const struct layer_private *packet_get_layer(const struct packet *pkt, int idx)
|
||||||
{
|
{
|
||||||
if (idx < 0 || idx >= pkt->layers_used)
|
if (idx < 0 || idx >= pkt->layers_used)
|
||||||
{
|
{
|
||||||
@@ -487,9 +487,9 @@ const struct raw_layer *packet_get_raw_layer(const struct packet *pkt, int idx)
|
|||||||
return &pkt->layers[idx];
|
return &pkt->layers[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct raw_layer *packet_get_innermost_raw_layer(const struct packet *pkt, enum layer_proto proto)
|
const struct layer_private *packet_get_innermost_layer(const struct packet *pkt, enum layer_proto proto)
|
||||||
{
|
{
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
for (int8_t i = pkt->layers_used - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@@ -503,9 +503,9 @@ const struct raw_layer *packet_get_innermost_raw_layer(const struct packet *pkt,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct raw_layer *packet_get_outermost_raw_layer(const struct packet *pkt, enum layer_proto proto)
|
const struct layer_private *packet_get_outermost_layer(const struct packet *pkt, enum layer_proto proto)
|
||||||
{
|
{
|
||||||
const struct raw_layer *layer = NULL;
|
const struct layer_private *layer = NULL;
|
||||||
|
|
||||||
for (int8_t i = 0; i < pkt->layers_used; i++)
|
for (int8_t i = 0; i < pkt->layers_used; i++)
|
||||||
{
|
{
|
||||||
@@ -527,10 +527,10 @@ struct tunnel_detector
|
|||||||
{
|
{
|
||||||
enum tunnel_type type;
|
enum tunnel_type type;
|
||||||
int contain_layers;
|
int contain_layers;
|
||||||
int (*identify_func)(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2);
|
int (*identify_func)(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2);
|
||||||
};
|
};
|
||||||
|
|
||||||
static int is_ipv4_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2 __attribute__((unused)))
|
static int is_ipv4_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2 __attribute__((unused)))
|
||||||
{
|
{
|
||||||
if (curr && curr->proto == LAYER_PROTO_IPV4 &&
|
if (curr && curr->proto == LAYER_PROTO_IPV4 &&
|
||||||
next1 && (next1->proto == LAYER_PROTO_IPV4 || next1->proto == LAYER_PROTO_IPV6))
|
next1 && (next1->proto == LAYER_PROTO_IPV4 || next1->proto == LAYER_PROTO_IPV6))
|
||||||
@@ -541,7 +541,7 @@ static int is_ipv4_tunnel(const struct raw_layer *curr, const struct raw_layer *
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_ipv6_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2 __attribute__((unused)))
|
static int is_ipv6_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2 __attribute__((unused)))
|
||||||
{
|
{
|
||||||
if (curr && curr->proto == LAYER_PROTO_IPV6 &&
|
if (curr && curr->proto == LAYER_PROTO_IPV6 &&
|
||||||
next1 && (next1->proto == LAYER_PROTO_IPV4 || next1->proto == LAYER_PROTO_IPV6))
|
next1 && (next1->proto == LAYER_PROTO_IPV4 || next1->proto == LAYER_PROTO_IPV6))
|
||||||
@@ -552,7 +552,7 @@ static int is_ipv6_tunnel(const struct raw_layer *curr, const struct raw_layer *
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_gre_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2 __attribute__((unused)))
|
static int is_gre_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2 __attribute__((unused)))
|
||||||
{
|
{
|
||||||
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
||||||
next1 && next1->proto == LAYER_PROTO_GRE)
|
next1 && next1->proto == LAYER_PROTO_GRE)
|
||||||
@@ -563,7 +563,7 @@ static int is_gre_tunnel(const struct raw_layer *curr, const struct raw_layer *n
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_gtp_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2)
|
static int is_gtp_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2)
|
||||||
{
|
{
|
||||||
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
||||||
next1 && next1->proto == LAYER_PROTO_UDP &&
|
next1 && next1->proto == LAYER_PROTO_UDP &&
|
||||||
@@ -575,7 +575,7 @@ static int is_gtp_tunnel(const struct raw_layer *curr, const struct raw_layer *n
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_vxlan_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2)
|
static int is_vxlan_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2)
|
||||||
{
|
{
|
||||||
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
||||||
next1 && next1->proto == LAYER_PROTO_UDP &&
|
next1 && next1->proto == LAYER_PROTO_UDP &&
|
||||||
@@ -587,7 +587,7 @@ static int is_vxlan_tunnel(const struct raw_layer *curr, const struct raw_layer
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_l2tp_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2)
|
static int is_l2tp_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2)
|
||||||
{
|
{
|
||||||
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
if (curr && (curr->proto == LAYER_PROTO_IPV4 || curr->proto == LAYER_PROTO_IPV6) &&
|
||||||
next1 && next1->proto == LAYER_PROTO_UDP &&
|
next1 && next1->proto == LAYER_PROTO_UDP &&
|
||||||
@@ -599,7 +599,7 @@ static int is_l2tp_tunnel(const struct raw_layer *curr, const struct raw_layer *
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int is_teredo_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2)
|
static int is_teredo_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2)
|
||||||
{
|
{
|
||||||
if (curr && curr->proto == LAYER_PROTO_IPV4 &&
|
if (curr && curr->proto == LAYER_PROTO_IPV4 &&
|
||||||
next1 && next1->proto == LAYER_PROTO_UDP &&
|
next1 && next1->proto == LAYER_PROTO_UDP &&
|
||||||
@@ -622,7 +622,7 @@ static struct tunnel_detector detectors[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// return index of detectors
|
// return index of detectors
|
||||||
static int detect_tunnel(const struct raw_layer *curr, const struct raw_layer *next1, const struct raw_layer *next2)
|
static int detect_tunnel(const struct layer_private *curr, const struct layer_private *next1, const struct layer_private *next2)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < (int)(sizeof(detectors) / sizeof(detectors[0])); i++)
|
for (int i = 0; i < (int)(sizeof(detectors) / sizeof(detectors[0])); i++)
|
||||||
{
|
{
|
||||||
@@ -639,15 +639,15 @@ int packet_get_tunnel_count(const struct packet *pkt)
|
|||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int used = packet_get_layer_count(pkt);
|
int used = packet_get_layer_count(pkt);
|
||||||
const struct raw_layer *curr = NULL;
|
const struct layer_private *curr = NULL;
|
||||||
const struct raw_layer *next1 = NULL;
|
const struct layer_private *next1 = NULL;
|
||||||
const struct raw_layer *next2 = NULL;
|
const struct layer_private *next2 = NULL;
|
||||||
|
|
||||||
for (int i = 0; i < used; i++)
|
for (int i = 0; i < used; i++)
|
||||||
{
|
{
|
||||||
curr = packet_get_raw_layer(pkt, i);
|
curr = packet_get_layer(pkt, i);
|
||||||
next1 = packet_get_raw_layer(pkt, i + 1);
|
next1 = packet_get_layer(pkt, i + 1);
|
||||||
next2 = packet_get_raw_layer(pkt, i + 2);
|
next2 = packet_get_layer(pkt, i + 2);
|
||||||
if (detect_tunnel(curr, next1, next2) >= 0)
|
if (detect_tunnel(curr, next1, next2) >= 0)
|
||||||
{
|
{
|
||||||
count++;
|
count++;
|
||||||
@@ -664,16 +664,16 @@ int packet_get_tunnel_by_idx(const struct packet *pkt, int idx, struct tunnel *o
|
|||||||
int ret = -1;
|
int ret = -1;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int used = packet_get_layer_count(pkt);
|
int used = packet_get_layer_count(pkt);
|
||||||
const struct raw_layer *curr = NULL;
|
const struct layer_private *curr = NULL;
|
||||||
const struct raw_layer *next1 = NULL;
|
const struct layer_private *next1 = NULL;
|
||||||
const struct raw_layer *next2 = NULL;
|
const struct layer_private *next2 = NULL;
|
||||||
memset(out, 0, sizeof(struct tunnel));
|
memset(out, 0, sizeof(struct tunnel));
|
||||||
|
|
||||||
for (int i = 0; i < used; i++)
|
for (int i = 0; i < used; i++)
|
||||||
{
|
{
|
||||||
curr = packet_get_raw_layer(pkt, i);
|
curr = packet_get_layer(pkt, i);
|
||||||
next1 = packet_get_raw_layer(pkt, i + 1);
|
next1 = packet_get_layer(pkt, i + 1);
|
||||||
next2 = packet_get_raw_layer(pkt, i + 2);
|
next2 = packet_get_layer(pkt, i + 2);
|
||||||
ret = detect_tunnel(curr, next1, next2);
|
ret = detect_tunnel(curr, next1, next2);
|
||||||
if (ret >= 0 && count++ == idx)
|
if (ret >= 0 && count++ == idx)
|
||||||
{
|
{
|
||||||
@@ -923,7 +923,7 @@ int packet_is_fragment(const struct packet *pkt)
|
|||||||
return (pkt->frag_layer) ? 1 : 0;
|
return (pkt->frag_layer) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void layer_convert(const struct raw_layer *in, struct layer *out)
|
void layer_convert(const struct layer_private *in, struct layer *out)
|
||||||
{
|
{
|
||||||
if (in == NULL || out == NULL)
|
if (in == NULL || out == NULL)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -142,14 +142,14 @@ static void calculate_length_and_checksum(const struct packet *origin_pkt, int l
|
|||||||
struct gtp2_hdr *gtp2 = NULL;
|
struct gtp2_hdr *gtp2 = NULL;
|
||||||
struct gre0_hdr *gre0 = NULL;
|
struct gre0_hdr *gre0 = NULL;
|
||||||
struct gre1_hdr *gre1 = NULL;
|
struct gre1_hdr *gre1 = NULL;
|
||||||
struct raw_layer *curr_layer = NULL;
|
struct layer_private *curr_layer = NULL;
|
||||||
struct raw_layer *last_layer = NULL;
|
struct layer_private *last_layer = NULL;
|
||||||
struct fingerprint finger = {};
|
struct fingerprint finger = {};
|
||||||
calc_packet_fingerprint(&finger);
|
calc_packet_fingerprint(&finger);
|
||||||
for (int i = layer_count - 1; i >= 0; i--)
|
for (int i = layer_count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
curr_layer = (struct raw_layer *)packet_get_raw_layer(origin_pkt, i);
|
curr_layer = (struct layer_private *)packet_get_layer(origin_pkt, i);
|
||||||
last_layer = (struct raw_layer *)packet_get_raw_layer(origin_pkt, i + 1);
|
last_layer = (struct layer_private *)packet_get_layer(origin_pkt, i + 1);
|
||||||
curr_hdr_ptr = new_pkt_data + curr_layer->hdr_offset;
|
curr_hdr_ptr = new_pkt_data + curr_layer->hdr_offset;
|
||||||
last_hdr_ptr = last_layer ? new_pkt_data + last_layer->hdr_offset : NULL;
|
last_hdr_ptr = last_layer ? new_pkt_data + last_layer->hdr_offset : NULL;
|
||||||
switch (curr_layer->proto)
|
switch (curr_layer->proto)
|
||||||
@@ -262,7 +262,7 @@ struct packet *packet_build_tcp(const struct packet *origin_pkt, uint32_t tcp_se
|
|||||||
|
|
||||||
// check the innermost layer of the original packet
|
// check the innermost layer of the original packet
|
||||||
int layer_count = packet_get_layer_count(origin_pkt);
|
int layer_count = packet_get_layer_count(origin_pkt);
|
||||||
const struct raw_layer *tcp_layer = packet_get_raw_layer(origin_pkt, layer_count - 1);
|
const struct layer_private *tcp_layer = packet_get_layer(origin_pkt, layer_count - 1);
|
||||||
if (tcp_layer == NULL || tcp_layer->proto != LAYER_PROTO_TCP)
|
if (tcp_layer == NULL || tcp_layer->proto != LAYER_PROTO_TCP)
|
||||||
{
|
{
|
||||||
PACKET_CRAFT_LOG_ERROR("craft TCP packet failed, the innermost layer of the original packet is not TCP");
|
PACKET_CRAFT_LOG_ERROR("craft TCP packet failed, the innermost layer of the original packet is not TCP");
|
||||||
@@ -313,7 +313,7 @@ struct packet *packet_build_udp(const struct packet *origin_pkt, const char *udp
|
|||||||
|
|
||||||
// check the innermost layer of the original packet
|
// check the innermost layer of the original packet
|
||||||
int layer_count = packet_get_layer_count(origin_pkt);
|
int layer_count = packet_get_layer_count(origin_pkt);
|
||||||
const struct raw_layer *udp_layer = packet_get_raw_layer(origin_pkt, layer_count - 1);
|
const struct layer_private *udp_layer = packet_get_layer(origin_pkt, layer_count - 1);
|
||||||
if (udp_layer == NULL || udp_layer->proto != LAYER_PROTO_UDP)
|
if (udp_layer == NULL || udp_layer->proto != LAYER_PROTO_UDP)
|
||||||
{
|
{
|
||||||
PACKET_CRAFT_LOG_ERROR("craft UDP packet failed, the innermost layer of the original packet is not UDP");
|
PACKET_CRAFT_LOG_ERROR("craft UDP packet failed, the innermost layer of the original packet is not UDP");
|
||||||
@@ -354,10 +354,10 @@ struct packet *packet_build_l3(const struct packet *origin_pkt, uint8_t ip_proto
|
|||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int layers = packet_get_layer_count(origin_pkt);
|
int layers = packet_get_layer_count(origin_pkt);
|
||||||
const struct raw_layer *l3_layer = NULL;
|
const struct layer_private *l3_layer = NULL;
|
||||||
for (i = layers - 1; i >= 0; i--)
|
for (i = layers - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
l3_layer = packet_get_raw_layer(origin_pkt, i);
|
l3_layer = packet_get_layer(origin_pkt, i);
|
||||||
if (l3_layer->proto == LAYER_PROTO_IPV4 || l3_layer->proto == LAYER_PROTO_IPV6)
|
if (l3_layer->proto == LAYER_PROTO_IPV4 || l3_layer->proto == LAYER_PROTO_IPV6)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ int packet_dump_str(const struct packet *pkt, char *buff, int size)
|
|||||||
pkt->layers_used, pkt->layers_size);
|
pkt->layers_used, pkt->layers_size);
|
||||||
for (uint8_t i = 0; i < pkt->layers_used; i++)
|
for (uint8_t i = 0; i < pkt->layers_used; i++)
|
||||||
{
|
{
|
||||||
const struct raw_layer *layer = &pkt->layers[i];
|
const struct layer_private *layer = &pkt->layers[i];
|
||||||
used += snprintf(buff + used, size - used, "layer[%u]: %p, proto: %s, header: {offset: %u, ptr: %p, len: %u}, payload: {ptr: %p, len: %u}\n",
|
used += snprintf(buff + used, size - used, "layer[%u]: %p, proto: %s, header: {offset: %u, ptr: %p, len: %u}, payload: {ptr: %p, len: %u}\n",
|
||||||
i, layer, layer_proto_to_str(layer->proto), layer->hdr_offset,
|
i, layer, layer_proto_to_str(layer->proto), layer->hdr_offset,
|
||||||
layer->hdr_ptr, layer->hdr_len, layer->pld_ptr, layer->pld_len);
|
layer->hdr_ptr, layer->hdr_len, layer->pld_ptr, layer->pld_len);
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ struct packet_filter
|
|||||||
// reutrn -1: error
|
// reutrn -1: error
|
||||||
static inline int packet_key_get(const struct packet *packet, struct packet_key *key)
|
static inline int packet_key_get(const struct packet *packet, struct packet_key *key)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ip_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_IPV4);
|
const struct layer_private *ip_layer = packet_get_innermost_layer(packet, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(packet, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *udp_layer = packet_get_innermost_raw_layer(packet, LAYER_PROTO_UDP);
|
const struct layer_private *udp_layer = packet_get_innermost_layer(packet, LAYER_PROTO_UDP);
|
||||||
if (ip_layer == NULL || (tcp_layer == NULL && udp_layer == NULL))
|
if (ip_layer == NULL || (tcp_layer == NULL && udp_layer == NULL))
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
* Static API
|
* Static API
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
static inline struct raw_layer *get_free_layer(struct packet *pkt);
|
static inline struct layer_private *get_free_layer(struct packet *pkt);
|
||||||
|
|
||||||
// 数据链路层
|
// 数据链路层
|
||||||
static inline const char *parse_ether(struct packet *pkt, const char *data, uint16_t len);
|
static inline const char *parse_ether(struct packet *pkt, const char *data, uint16_t len);
|
||||||
@@ -81,7 +81,7 @@ static inline const char *parse_l4(struct packet *pkt, uint8_t next_proto, const
|
|||||||
* Private API -- Utils
|
* Private API -- Utils
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
static inline struct raw_layer *get_free_layer(struct packet *pkt)
|
static inline struct layer_private *get_free_layer(struct packet *pkt)
|
||||||
{
|
{
|
||||||
if (pkt->layers_used >= pkt->layers_size)
|
if (pkt->layers_used >= pkt->layers_size)
|
||||||
{
|
{
|
||||||
@@ -118,7 +118,7 @@ static inline const char *parse_ether(struct packet *pkt, const char *data, uint
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -146,7 +146,7 @@ static inline const char *parse_pweth(struct packet *pkt, const char *data, uint
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -239,7 +239,7 @@ static inline const char *parse_ppp(struct packet *pkt, const char *data, uint16
|
|||||||
hdr_len = 4;
|
hdr_len = 4;
|
||||||
|
|
||||||
success:
|
success:
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -266,7 +266,7 @@ static inline const char *parse_l2tpv2_over_udp(struct packet *pkt, const char *
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -294,7 +294,7 @@ static inline const char *parse_l2tpv3_over_udp(struct packet *pkt, const char *
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -323,7 +323,7 @@ static inline const char *parse_l2tpv3_over_ip(struct packet *pkt, const char *d
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -351,7 +351,7 @@ static inline const char *parse_vlan(struct packet *pkt, const char *data, uint1
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -370,7 +370,7 @@ static inline const char *parse_pppoe_ses(struct packet *pkt, const char *data,
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -388,7 +388,7 @@ static inline const char *parse_mpls(struct packet *pkt, const char *data, uint1
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -437,7 +437,7 @@ static inline const char *parse_ipv4(struct packet *pkt, const char *data, uint1
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -511,7 +511,7 @@ static inline const char *parse_ipv6(struct packet *pkt, const char *data, uint1
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -623,7 +623,7 @@ static inline const char *parse_auth(struct packet *pkt, const char *data, uint1
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -642,7 +642,7 @@ static inline const char *parse_gre(struct packet *pkt, const char *data, uint16
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -661,7 +661,7 @@ static inline const char *parse_udp(struct packet *pkt, const char *data, uint16
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -735,7 +735,7 @@ static inline const char *parse_tcp(struct packet *pkt, const char *data, uint16
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -759,7 +759,7 @@ static inline const char *parse_icmp(struct packet *pkt, const char *data, uint1
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -777,7 +777,7 @@ static inline const char *parse_icmp6(struct packet *pkt, const char *data, uint
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -795,7 +795,7 @@ static inline const char *parse_vxlan(struct packet *pkt, const char *data, uint
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -828,7 +828,7 @@ static inline const char *parse_gtp_u(struct packet *pkt, const char *data, uint
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
@@ -857,7 +857,7 @@ static inline const char *parse_gtp_c(struct packet *pkt, const char *data, uint
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct raw_layer *layer = get_free_layer(pkt);
|
struct layer_private *layer = get_free_layer(pkt);
|
||||||
if (unlikely(layer == NULL))
|
if (unlikely(layer == NULL))
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ struct metadata
|
|||||||
const void *origin_ctx;
|
const void *origin_ctx;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct raw_layer
|
struct layer_private
|
||||||
{
|
{
|
||||||
enum layer_proto proto;
|
enum layer_proto proto;
|
||||||
const char *hdr_ptr; // header pointer
|
const char *hdr_ptr; // header pointer
|
||||||
@@ -46,8 +46,8 @@ struct raw_layer
|
|||||||
struct packet
|
struct packet
|
||||||
{
|
{
|
||||||
void *user_data;
|
void *user_data;
|
||||||
struct raw_layer layers[PACKET_MAX_LAYERS];
|
struct layer_private layers[PACKET_MAX_LAYERS];
|
||||||
struct raw_layer *frag_layer; // fragment layer
|
struct layer_private *frag_layer; // fragment layer
|
||||||
int8_t layers_used;
|
int8_t layers_used;
|
||||||
int8_t layers_size;
|
int8_t layers_size;
|
||||||
int8_t need_free;
|
int8_t need_free;
|
||||||
@@ -121,9 +121,9 @@ int packet_get_outermost_tuple6(const struct packet *pkt, struct tuple6 *tuple);
|
|||||||
* layer uitls
|
* layer uitls
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
const struct raw_layer *packet_get_raw_layer(const struct packet *pkt, int idx);
|
const struct layer_private *packet_get_layer(const struct packet *pkt, int idx);
|
||||||
const struct raw_layer *packet_get_innermost_raw_layer(const struct packet *pkt, enum layer_proto proto);
|
const struct layer_private *packet_get_innermost_layer(const struct packet *pkt, enum layer_proto proto);
|
||||||
const struct raw_layer *packet_get_outermost_raw_layer(const struct packet *pkt, enum layer_proto proto);
|
const struct layer_private *packet_get_outermost_layer(const struct packet *pkt, enum layer_proto proto);
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* load balance uitls
|
* load balance uitls
|
||||||
@@ -140,7 +140,7 @@ struct packet *packet_dup(const struct packet *pkt);
|
|||||||
void packet_free(struct packet *pkt);
|
void packet_free(struct packet *pkt);
|
||||||
|
|
||||||
int packet_is_fragment(const struct packet *pkt);
|
int packet_is_fragment(const struct packet *pkt);
|
||||||
void layer_convert(const struct raw_layer *in, struct layer *out);
|
void layer_convert(const struct layer_private *in, struct layer *out);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,8 +93,8 @@ TEST(PACKET_PARSE, ETH_VLAN_VLAN_IP4_IP4_UDP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -104,8 +104,8 @@ TEST(PACKET_PARSE, ETH_VLAN_VLAN_IP4_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 156);
|
EXPECT_TRUE(outer_eth_record->pld_len == 156);
|
||||||
|
|
||||||
// LAYER_PROTO_VLAN
|
// LAYER_PROTO_VLAN
|
||||||
const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VLAN);
|
const struct layer_private *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN);
|
||||||
const struct raw_layer *inner_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VLAN);
|
const struct layer_private *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_vlan_record != nullptr);
|
EXPECT_TRUE(outer_vlan_record != nullptr);
|
||||||
EXPECT_TRUE(inner_vlan_record != nullptr);
|
EXPECT_TRUE(inner_vlan_record != nullptr);
|
||||||
@@ -117,8 +117,8 @@ TEST(PACKET_PARSE, ETH_VLAN_VLAN_IP4_IP4_UDP)
|
|||||||
EXPECT_TRUE(inner_vlan_record->pld_len == 148);
|
EXPECT_TRUE(inner_vlan_record->pld_len == 148);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -130,8 +130,8 @@ TEST(PACKET_PARSE, ETH_VLAN_VLAN_IP4_IP4_UDP)
|
|||||||
EXPECT_TRUE(inner_ipv4_record->pld_len == 108);
|
EXPECT_TRUE(inner_ipv4_record->pld_len == 108);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
@@ -297,8 +297,8 @@ TEST(PACKET_PARSE, ETH_IP6_IP4_TCP_SSH)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -308,8 +308,8 @@ TEST(PACKET_PARSE, ETH_IP6_IP4_TCP_SSH)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 712);
|
EXPECT_TRUE(outer_eth_record->pld_len == 712);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
@@ -319,8 +319,8 @@ TEST(PACKET_PARSE, ETH_IP6_IP4_TCP_SSH)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 672);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 672);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -330,8 +330,8 @@ TEST(PACKET_PARSE, ETH_IP6_IP4_TCP_SSH)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 652);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 652);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -490,8 +490,8 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -501,8 +501,8 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 258);
|
EXPECT_TRUE(outer_eth_record->pld_len == 258);
|
||||||
|
|
||||||
// LAYER_PROTO_VLAN
|
// LAYER_PROTO_VLAN
|
||||||
const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VLAN);
|
const struct layer_private *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN);
|
||||||
const struct raw_layer *inner_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VLAN);
|
const struct layer_private *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_vlan_record != nullptr);
|
EXPECT_TRUE(outer_vlan_record != nullptr);
|
||||||
EXPECT_TRUE(inner_vlan_record != nullptr);
|
EXPECT_TRUE(inner_vlan_record != nullptr);
|
||||||
@@ -512,8 +512,8 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_vlan_record->pld_len == 254);
|
EXPECT_TRUE(outer_vlan_record->pld_len == 254);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
@@ -523,7 +523,7 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 214);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 214);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 58);
|
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 58);
|
||||||
@@ -531,8 +531,8 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 194);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 194);
|
||||||
|
|
||||||
// LAYER_PROTO_GRE
|
// LAYER_PROTO_GRE
|
||||||
const struct raw_layer *outer_gre_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_GRE);
|
const struct layer_private *outer_gre_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GRE);
|
||||||
const struct raw_layer *inner_ger_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_GRE);
|
const struct layer_private *inner_ger_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GRE);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_gre_record != nullptr);
|
EXPECT_TRUE(outer_gre_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ger_record != nullptr);
|
EXPECT_TRUE(inner_ger_record != nullptr);
|
||||||
@@ -542,8 +542,8 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_gre_record->pld_len == 178);
|
EXPECT_TRUE(outer_gre_record->pld_len == 178);
|
||||||
|
|
||||||
// LAYER_PROTO_PPP
|
// LAYER_PROTO_PPP
|
||||||
const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPP);
|
const struct layer_private *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP);
|
||||||
const struct raw_layer *inner_ppp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PPP);
|
const struct layer_private *inner_ppp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ppp_record != nullptr);
|
EXPECT_TRUE(outer_ppp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ppp_record != nullptr);
|
EXPECT_TRUE(inner_ppp_record != nullptr);
|
||||||
@@ -553,7 +553,7 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_ppp_record->pld_len == 174);
|
EXPECT_TRUE(outer_ppp_record->pld_len == 174);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 98);
|
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 98);
|
||||||
@@ -561,8 +561,8 @@ TEST(PACKET_PARSE, ETH_VLAN_IP6_IP4_GRE_PPP_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(inner_ipv4_record->pld_len == 154);
|
EXPECT_TRUE(inner_ipv4_record->pld_len == 154);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
@@ -697,8 +697,8 @@ TEST(PACKET_PARSE, ETH_IP4_IP6_TCP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -708,8 +708,8 @@ TEST(PACKET_PARSE, ETH_IP4_IP6_TCP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 92);
|
EXPECT_TRUE(outer_eth_record->pld_len == 92);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -719,8 +719,8 @@ TEST(PACKET_PARSE, ETH_IP4_IP6_TCP)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 72);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 72);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
@@ -730,8 +730,8 @@ TEST(PACKET_PARSE, ETH_IP4_IP6_TCP)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 32);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 32);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -852,8 +852,8 @@ TEST(PACKET_PARSE, ETH_IP6_IP6_UDP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -863,7 +863,7 @@ TEST(PACKET_PARSE, ETH_IP6_IP6_UDP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 92);
|
EXPECT_TRUE(outer_eth_record->pld_len == 92);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14);
|
EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14);
|
||||||
@@ -871,7 +871,7 @@ TEST(PACKET_PARSE, ETH_IP6_IP6_UDP)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 52);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 52);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record->hdr_offset == 54);
|
EXPECT_TRUE(inner_ipv6_record->hdr_offset == 54);
|
||||||
@@ -879,8 +879,8 @@ TEST(PACKET_PARSE, ETH_IP6_IP6_UDP)
|
|||||||
EXPECT_TRUE(inner_ipv6_record->pld_len == 12);
|
EXPECT_TRUE(inner_ipv6_record->pld_len == 12);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
@@ -1008,8 +1008,8 @@ TEST(PACKET_PARSE, ETH_MPLS_IP4_TCP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -1019,8 +1019,8 @@ TEST(PACKET_PARSE, ETH_MPLS_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 56);
|
EXPECT_TRUE(outer_eth_record->pld_len == 56);
|
||||||
|
|
||||||
// LAYER_PROTO_MPLS
|
// LAYER_PROTO_MPLS
|
||||||
const struct raw_layer *outer_mpls_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_MPLS);
|
const struct layer_private *outer_mpls_record = packet_get_outermost_layer(&handler, LAYER_PROTO_MPLS);
|
||||||
const struct raw_layer *inner_mpls_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_MPLS);
|
const struct layer_private *inner_mpls_record = packet_get_innermost_layer(&handler, LAYER_PROTO_MPLS);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_mpls_record != nullptr);
|
EXPECT_TRUE(outer_mpls_record != nullptr);
|
||||||
EXPECT_TRUE(inner_mpls_record != nullptr);
|
EXPECT_TRUE(inner_mpls_record != nullptr);
|
||||||
@@ -1030,8 +1030,8 @@ TEST(PACKET_PARSE, ETH_MPLS_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_mpls_record->pld_len == 52);
|
EXPECT_TRUE(outer_mpls_record->pld_len == 52);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -1041,8 +1041,8 @@ TEST(PACKET_PARSE, ETH_MPLS_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -1175,8 +1175,8 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_IP4_TCP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -1186,7 +1186,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 52);
|
EXPECT_TRUE(outer_eth_record->pld_len == 52);
|
||||||
|
|
||||||
// LAYER_PROTO_MPLS
|
// LAYER_PROTO_MPLS
|
||||||
const struct raw_layer *outer_mpls_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_MPLS);
|
const struct layer_private *outer_mpls_record = packet_get_outermost_layer(&handler, LAYER_PROTO_MPLS);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_mpls_record != nullptr);
|
EXPECT_TRUE(outer_mpls_record != nullptr);
|
||||||
EXPECT_TRUE(outer_mpls_record->hdr_offset == 14);
|
EXPECT_TRUE(outer_mpls_record->hdr_offset == 14);
|
||||||
@@ -1194,7 +1194,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_mpls_record->pld_len == 48);
|
EXPECT_TRUE(outer_mpls_record->pld_len == 48);
|
||||||
|
|
||||||
// LAYER_PROTO_MPLS
|
// LAYER_PROTO_MPLS
|
||||||
const struct raw_layer *inner_mpls_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_MPLS);
|
const struct layer_private *inner_mpls_record = packet_get_innermost_layer(&handler, LAYER_PROTO_MPLS);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_mpls_record != nullptr);
|
EXPECT_TRUE(inner_mpls_record != nullptr);
|
||||||
EXPECT_TRUE(inner_mpls_record->hdr_offset == 18);
|
EXPECT_TRUE(inner_mpls_record->hdr_offset == 18);
|
||||||
@@ -1202,8 +1202,8 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_IP4_TCP)
|
|||||||
EXPECT_TRUE(inner_mpls_record->pld_len == 44);
|
EXPECT_TRUE(inner_mpls_record->pld_len == 44);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -1213,8 +1213,8 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 24);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 24);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -1352,8 +1352,8 @@ TEST(PACKET_PARSE, ETH_VLAN_PPPOE_IP4_TCP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -1363,8 +1363,8 @@ TEST(PACKET_PARSE, ETH_VLAN_PPPOE_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 64);
|
EXPECT_TRUE(outer_eth_record->pld_len == 64);
|
||||||
|
|
||||||
// LAYER_PROTO_VLAN
|
// LAYER_PROTO_VLAN
|
||||||
const struct raw_layer *outer_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VLAN);
|
const struct layer_private *outer_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VLAN);
|
||||||
const struct raw_layer *inner_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VLAN);
|
const struct layer_private *inner_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VLAN);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_vlan_record != nullptr);
|
EXPECT_TRUE(outer_vlan_record != nullptr);
|
||||||
EXPECT_TRUE(inner_vlan_record != nullptr);
|
EXPECT_TRUE(inner_vlan_record != nullptr);
|
||||||
@@ -1374,8 +1374,8 @@ TEST(PACKET_PARSE, ETH_VLAN_PPPOE_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_vlan_record->pld_len == 60);
|
EXPECT_TRUE(outer_vlan_record->pld_len == 60);
|
||||||
|
|
||||||
// LAYER_PROTO_PPPOE
|
// LAYER_PROTO_PPPOE
|
||||||
const struct raw_layer *outer_pppoe_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPPOE);
|
const struct layer_private *outer_pppoe_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPPOE);
|
||||||
const struct raw_layer *inner_pppoe_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PPPOE);
|
const struct layer_private *inner_pppoe_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPPOE);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_pppoe_record != nullptr);
|
EXPECT_TRUE(outer_pppoe_record != nullptr);
|
||||||
EXPECT_TRUE(inner_pppoe_record != nullptr);
|
EXPECT_TRUE(inner_pppoe_record != nullptr);
|
||||||
@@ -1385,8 +1385,8 @@ TEST(PACKET_PARSE, ETH_VLAN_PPPOE_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_pppoe_record->pld_len == 54);
|
EXPECT_TRUE(outer_pppoe_record->pld_len == 54);
|
||||||
|
|
||||||
// LAYER_PROTO_PPP
|
// LAYER_PROTO_PPP
|
||||||
const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPP);
|
const struct layer_private *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP);
|
||||||
const struct raw_layer *inner_ppp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PPP);
|
const struct layer_private *inner_ppp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PPP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ppp_record != nullptr);
|
EXPECT_TRUE(outer_ppp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ppp_record != nullptr);
|
EXPECT_TRUE(inner_ppp_record != nullptr);
|
||||||
@@ -1396,8 +1396,8 @@ TEST(PACKET_PARSE, ETH_VLAN_PPPOE_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_ppp_record->pld_len == 52);
|
EXPECT_TRUE(outer_ppp_record->pld_len == 52);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -1408,8 +1408,8 @@ TEST(PACKET_PARSE, ETH_VLAN_PPPOE_IP4_TCP)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 32);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -1605,8 +1605,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -1616,7 +1616,7 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 1428);
|
EXPECT_TRUE(outer_eth_record->pld_len == 1428);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14);
|
EXPECT_TRUE(outer_ipv6_record->hdr_offset == 14);
|
||||||
@@ -1624,8 +1624,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 1388);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 1388);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
@@ -1635,8 +1635,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_udp_record->pld_len == 1380);
|
EXPECT_TRUE(outer_udp_record->pld_len == 1380);
|
||||||
|
|
||||||
// LAYER_PROTO_GTP_U
|
// LAYER_PROTO_GTP_U
|
||||||
const struct raw_layer *outer_gtp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_GTP_U);
|
const struct layer_private *outer_gtp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GTP_U);
|
||||||
const struct raw_layer *inner_gtp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_GTP_U);
|
const struct layer_private *inner_gtp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GTP_U);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_gtp_record != nullptr);
|
EXPECT_TRUE(outer_gtp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_gtp_record != nullptr);
|
EXPECT_TRUE(inner_gtp_record != nullptr);
|
||||||
@@ -1646,7 +1646,7 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_gtp_record->pld_len == 1372);
|
EXPECT_TRUE(outer_gtp_record->pld_len == 1372);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record->hdr_offset == 70);
|
EXPECT_TRUE(inner_ipv6_record->hdr_offset == 70);
|
||||||
@@ -1654,8 +1654,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP6_TCP_TLS)
|
|||||||
EXPECT_TRUE(inner_ipv6_record->pld_len == 1332);
|
EXPECT_TRUE(inner_ipv6_record->pld_len == 1332);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -1859,8 +1859,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -1870,8 +1870,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 1456);
|
EXPECT_TRUE(outer_eth_record->pld_len == 1456);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
@@ -1881,8 +1881,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 1416);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 1416);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
@@ -1892,8 +1892,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_udp_record->pld_len == 1408);
|
EXPECT_TRUE(outer_udp_record->pld_len == 1408);
|
||||||
|
|
||||||
// LAYER_PROTO_GTP_U
|
// LAYER_PROTO_GTP_U
|
||||||
const struct raw_layer *outer_gtp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_GTP_U);
|
const struct layer_private *outer_gtp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GTP_U);
|
||||||
const struct raw_layer *inner_gtp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_GTP_U);
|
const struct layer_private *inner_gtp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GTP_U);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_gtp_record != nullptr);
|
EXPECT_TRUE(outer_gtp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_gtp_record != nullptr);
|
EXPECT_TRUE(inner_gtp_record != nullptr);
|
||||||
@@ -1903,8 +1903,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_gtp_record->pld_len == 1400);
|
EXPECT_TRUE(outer_gtp_record->pld_len == 1400);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -1914,8 +1914,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_TCP_TLS)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 1380);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 1380);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -2061,7 +2061,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
|
EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
|
||||||
@@ -2069,7 +2069,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 110);
|
EXPECT_TRUE(outer_eth_record->pld_len == 110);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14);
|
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14);
|
||||||
@@ -2077,7 +2077,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 90);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 90);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(outer_udp_record->hdr_offset == 34);
|
EXPECT_TRUE(outer_udp_record->hdr_offset == 34);
|
||||||
@@ -2085,8 +2085,8 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_udp_record->pld_len == 82);
|
EXPECT_TRUE(outer_udp_record->pld_len == 82);
|
||||||
|
|
||||||
// LAYER_PROTO_VXLAN
|
// LAYER_PROTO_VXLAN
|
||||||
const struct raw_layer *outer_g_vlan_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_VXLAN);
|
const struct layer_private *outer_g_vlan_record = packet_get_outermost_layer(&handler, LAYER_PROTO_VXLAN);
|
||||||
const struct raw_layer *inner_g_vlan_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_VXLAN);
|
const struct layer_private *inner_g_vlan_record = packet_get_innermost_layer(&handler, LAYER_PROTO_VXLAN);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_g_vlan_record != nullptr);
|
EXPECT_TRUE(outer_g_vlan_record != nullptr);
|
||||||
EXPECT_TRUE(inner_g_vlan_record != nullptr);
|
EXPECT_TRUE(inner_g_vlan_record != nullptr);
|
||||||
@@ -2097,7 +2097,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(outer_g_vlan_record->pld_len == 74);
|
EXPECT_TRUE(outer_g_vlan_record->pld_len == 74);
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record->hdr_offset == 50);
|
EXPECT_TRUE(inner_eth_record->hdr_offset == 50);
|
||||||
@@ -2105,7 +2105,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(inner_eth_record->pld_len == 60);
|
EXPECT_TRUE(inner_eth_record->pld_len == 60);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 64);
|
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 64);
|
||||||
@@ -2113,7 +2113,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_VXLAN_ETH_IP4_UDP_DNS)
|
|||||||
EXPECT_TRUE(inner_ipv4_record->pld_len == 40);
|
EXPECT_TRUE(inner_ipv4_record->pld_len == 40);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record->hdr_offset == 84);
|
EXPECT_TRUE(inner_udp_record->hdr_offset == 84);
|
||||||
@@ -2218,7 +2218,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
|
EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
|
||||||
@@ -2226,7 +2226,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 76);
|
EXPECT_TRUE(outer_eth_record->pld_len == 76);
|
||||||
|
|
||||||
// LAYER_PROTO_MPLS
|
// LAYER_PROTO_MPLS
|
||||||
const struct raw_layer *outer_mpls_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_MPLS);
|
const struct layer_private *outer_mpls_record = packet_get_outermost_layer(&handler, LAYER_PROTO_MPLS);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_mpls_record != nullptr);
|
EXPECT_TRUE(outer_mpls_record != nullptr);
|
||||||
EXPECT_TRUE(outer_mpls_record->hdr_offset == 14);
|
EXPECT_TRUE(outer_mpls_record->hdr_offset == 14);
|
||||||
@@ -2234,7 +2234,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
|
|||||||
EXPECT_TRUE(outer_mpls_record->pld_len == 72);
|
EXPECT_TRUE(outer_mpls_record->pld_len == 72);
|
||||||
|
|
||||||
// LAYER_PROTO_MPLS
|
// LAYER_PROTO_MPLS
|
||||||
const struct raw_layer *inner_mpls_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_MPLS);
|
const struct layer_private *inner_mpls_record = packet_get_innermost_layer(&handler, LAYER_PROTO_MPLS);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_mpls_record != nullptr);
|
EXPECT_TRUE(inner_mpls_record != nullptr);
|
||||||
EXPECT_TRUE(inner_mpls_record->hdr_offset == 18);
|
EXPECT_TRUE(inner_mpls_record->hdr_offset == 18);
|
||||||
@@ -2242,7 +2242,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
|
|||||||
EXPECT_TRUE(inner_mpls_record->pld_len == 68);
|
EXPECT_TRUE(inner_mpls_record->pld_len == 68);
|
||||||
|
|
||||||
// LAYER_PROTO_PWETHCW
|
// LAYER_PROTO_PWETHCW
|
||||||
const struct raw_layer *inner_pweth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_PWETH);
|
const struct layer_private *inner_pweth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_PWETH);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_pweth_record != nullptr);
|
EXPECT_TRUE(inner_pweth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_pweth_record->hdr_offset == 22);
|
EXPECT_TRUE(inner_pweth_record->hdr_offset == 22);
|
||||||
@@ -2250,7 +2250,7 @@ TEST(PACKET_PARSE, ETH_MPLS_MPLS_PWETHCW_ETH_ARP)
|
|||||||
EXPECT_TRUE(inner_pweth_record->pld_len == 64);
|
EXPECT_TRUE(inner_pweth_record->pld_len == 64);
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record->hdr_offset == 26);
|
EXPECT_TRUE(inner_eth_record->hdr_offset == 26);
|
||||||
@@ -2355,8 +2355,8 @@ TEST(PACKET_PARSE, ETH_IP4_ICMP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -2366,8 +2366,8 @@ TEST(PACKET_PARSE, ETH_IP4_ICMP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 84);
|
EXPECT_TRUE(outer_eth_record->pld_len == 84);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -2377,8 +2377,8 @@ TEST(PACKET_PARSE, ETH_IP4_ICMP)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 64);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 64);
|
||||||
|
|
||||||
// LAYER_PROTO_ICMP
|
// LAYER_PROTO_ICMP
|
||||||
const struct raw_layer *outer_icmp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ICMP);
|
const struct layer_private *outer_icmp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ICMP);
|
||||||
const struct raw_layer *inner_icmp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ICMP);
|
const struct layer_private *inner_icmp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ICMP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_icmp_record != nullptr);
|
EXPECT_TRUE(outer_icmp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_icmp_record != nullptr);
|
EXPECT_TRUE(inner_icmp_record != nullptr);
|
||||||
@@ -2461,8 +2461,8 @@ TEST(PACKET_PARSE, ETH_IP6_ICMP6)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -2472,8 +2472,8 @@ TEST(PACKET_PARSE, ETH_IP6_ICMP6)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 100);
|
EXPECT_TRUE(outer_eth_record->pld_len == 100);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
@@ -2483,8 +2483,8 @@ TEST(PACKET_PARSE, ETH_IP6_ICMP6)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 60);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 60);
|
||||||
|
|
||||||
// LAYER_PROTO_ICMP6
|
// LAYER_PROTO_ICMP6
|
||||||
const struct raw_layer *outer_icmp6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ICMP6);
|
const struct layer_private *outer_icmp6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ICMP6);
|
||||||
const struct raw_layer *inner_icmp6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ICMP6);
|
const struct layer_private *inner_icmp6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ICMP6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_icmp6_record != nullptr);
|
EXPECT_TRUE(outer_icmp6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_icmp6_record != nullptr);
|
EXPECT_TRUE(inner_icmp6_record != nullptr);
|
||||||
@@ -2626,7 +2626,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
|
EXPECT_TRUE(outer_eth_record->hdr_offset == 0);
|
||||||
@@ -2634,7 +2634,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 136);
|
EXPECT_TRUE(outer_eth_record->pld_len == 136);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14);
|
EXPECT_TRUE(outer_ipv4_record->hdr_offset == 14);
|
||||||
@@ -2642,7 +2642,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 116);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 116);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(outer_udp_record->hdr_offset == 34);
|
EXPECT_TRUE(outer_udp_record->hdr_offset == 34);
|
||||||
@@ -2650,7 +2650,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_udp_record->pld_len == 108);
|
EXPECT_TRUE(outer_udp_record->pld_len == 108);
|
||||||
|
|
||||||
// LAYER_PROTO_L2TP
|
// LAYER_PROTO_L2TP
|
||||||
const struct raw_layer *outer_l2tpv2_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_L2TP);
|
const struct layer_private *outer_l2tpv2_record = packet_get_outermost_layer(&handler, LAYER_PROTO_L2TP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_l2tpv2_record != nullptr);
|
EXPECT_TRUE(outer_l2tpv2_record != nullptr);
|
||||||
EXPECT_TRUE(outer_l2tpv2_record->hdr_offset == 42);
|
EXPECT_TRUE(outer_l2tpv2_record->hdr_offset == 42);
|
||||||
@@ -2658,7 +2658,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_l2tpv2_record->pld_len == 100);
|
EXPECT_TRUE(outer_l2tpv2_record->pld_len == 100);
|
||||||
|
|
||||||
// LAYER_PROTO_PPP
|
// LAYER_PROTO_PPP
|
||||||
const struct raw_layer *outer_ppp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_PPP);
|
const struct layer_private *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_PPP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ppp_record != nullptr);
|
EXPECT_TRUE(outer_ppp_record != nullptr);
|
||||||
EXPECT_TRUE(outer_ppp_record->hdr_offset == 50);
|
EXPECT_TRUE(outer_ppp_record->hdr_offset == 50);
|
||||||
@@ -2666,7 +2666,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_ppp_record->pld_len == 96);
|
EXPECT_TRUE(outer_ppp_record->pld_len == 96);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 54);
|
EXPECT_TRUE(inner_ipv4_record->hdr_offset == 54);
|
||||||
@@ -2674,7 +2674,7 @@ TEST(PACKET_PARSE, ETH_IP4_UDP_L2TPV2_PPP_IP4_UDP)
|
|||||||
EXPECT_TRUE(inner_ipv4_record->pld_len == 76);
|
EXPECT_TRUE(inner_ipv4_record->pld_len == 76);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record->hdr_offset == 74);
|
EXPECT_TRUE(inner_udp_record->hdr_offset == 74);
|
||||||
@@ -2791,8 +2791,8 @@ TEST(PACKET_PARSE, ETH_IP4_TCP_PADDING)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -2802,8 +2802,8 @@ TEST(PACKET_PARSE, ETH_IP4_TCP_PADDING)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 46);
|
EXPECT_TRUE(outer_eth_record->pld_len == 46);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *outer_ipv4_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
@@ -2813,8 +2813,8 @@ TEST(PACKET_PARSE, ETH_IP4_TCP_PADDING)
|
|||||||
EXPECT_TRUE(outer_ipv4_record->pld_len == 20);
|
EXPECT_TRUE(outer_ipv4_record->pld_len == 20);
|
||||||
|
|
||||||
// LAYER_PROTO_TCP
|
// LAYER_PROTO_TCP
|
||||||
const struct raw_layer *outer_tcp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *outer_tcp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
const struct raw_layer *inner_tcp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_TCP);
|
const struct layer_private *inner_tcp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_TCP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_tcp_record != nullptr);
|
EXPECT_TRUE(outer_tcp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_tcp_record != nullptr);
|
EXPECT_TRUE(inner_tcp_record != nullptr);
|
||||||
@@ -2968,8 +2968,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_UDP)
|
|||||||
******************************************************/
|
******************************************************/
|
||||||
|
|
||||||
// LAYER_PROTO_ETHER
|
// LAYER_PROTO_ETHER
|
||||||
const struct raw_layer *outer_eth_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *outer_eth_record = packet_get_outermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
const struct raw_layer *inner_eth_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_ETHER);
|
const struct layer_private *inner_eth_record = packet_get_innermost_layer(&handler, LAYER_PROTO_ETHER);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_eth_record != nullptr);
|
EXPECT_TRUE(outer_eth_record != nullptr);
|
||||||
EXPECT_TRUE(inner_eth_record != nullptr);
|
EXPECT_TRUE(inner_eth_record != nullptr);
|
||||||
@@ -2979,8 +2979,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_eth_record->pld_len == 501);
|
EXPECT_TRUE(outer_eth_record->pld_len == 501);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV6
|
// LAYER_PROTO_IPV6
|
||||||
const struct raw_layer *outer_ipv6_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *outer_ipv6_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
const struct raw_layer *inner_ipv6_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV6);
|
const struct layer_private *inner_ipv6_record = packet_get_innermost_layer(&handler, LAYER_PROTO_IPV6);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
EXPECT_TRUE(outer_ipv6_record != nullptr);
|
||||||
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
EXPECT_TRUE(inner_ipv6_record != nullptr);
|
||||||
@@ -2990,7 +2990,7 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_ipv6_record->pld_len == 461);
|
EXPECT_TRUE(outer_ipv6_record->pld_len == 461);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *outer_udp_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *outer_udp_record = packet_get_outermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_udp_record != nullptr);
|
EXPECT_TRUE(outer_udp_record != nullptr);
|
||||||
EXPECT_TRUE(outer_udp_record->hdr_offset == 54);
|
EXPECT_TRUE(outer_udp_record->hdr_offset == 54);
|
||||||
@@ -2998,8 +2998,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_udp_record->pld_len == 453);
|
EXPECT_TRUE(outer_udp_record->pld_len == 453);
|
||||||
|
|
||||||
// LAYER_PROTO_GTP_U
|
// LAYER_PROTO_GTP_U
|
||||||
const struct raw_layer *outer_gtpu_record = packet_get_outermost_raw_layer(&handler, LAYER_PROTO_GTP_U);
|
const struct layer_private *outer_gtpu_record = packet_get_outermost_layer(&handler, LAYER_PROTO_GTP_U);
|
||||||
const struct raw_layer *inner_gtpu_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_GTP_U);
|
const struct layer_private *inner_gtpu_record = packet_get_innermost_layer(&handler, LAYER_PROTO_GTP_U);
|
||||||
|
|
||||||
EXPECT_TRUE(outer_gtpu_record != nullptr);
|
EXPECT_TRUE(outer_gtpu_record != nullptr);
|
||||||
EXPECT_TRUE(inner_gtpu_record != nullptr);
|
EXPECT_TRUE(inner_gtpu_record != nullptr);
|
||||||
@@ -3009,8 +3009,8 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_UDP)
|
|||||||
EXPECT_TRUE(outer_gtpu_record->pld_len == 437);
|
EXPECT_TRUE(outer_gtpu_record->pld_len == 437);
|
||||||
|
|
||||||
// LAYER_PROTO_IPV4
|
// LAYER_PROTO_IPV4
|
||||||
const struct raw_layer *inner_ipv4_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_IPV4);
|
const struct layer_private *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 layer_private *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_PROTO_IPV4);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
EXPECT_TRUE(inner_ipv4_record != nullptr);
|
||||||
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
EXPECT_TRUE(outer_ipv4_record != nullptr);
|
||||||
@@ -3020,7 +3020,7 @@ TEST(PACKET_PARSE, ETH_IP6_UDP_GTP_IP4_UDP)
|
|||||||
EXPECT_TRUE(inner_ipv4_record->pld_len == 417);
|
EXPECT_TRUE(inner_ipv4_record->pld_len == 417);
|
||||||
|
|
||||||
// LAYER_PROTO_UDP
|
// LAYER_PROTO_UDP
|
||||||
const struct raw_layer *inner_udp_record = packet_get_innermost_raw_layer(&handler, LAYER_PROTO_UDP);
|
const struct layer_private *inner_udp_record = packet_get_innermost_layer(&handler, LAYER_PROTO_UDP);
|
||||||
|
|
||||||
EXPECT_TRUE(inner_udp_record != nullptr);
|
EXPECT_TRUE(inner_udp_record != nullptr);
|
||||||
EXPECT_TRUE(inner_udp_record->hdr_offset == 98);
|
EXPECT_TRUE(inner_udp_record->hdr_offset == 98);
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ static int tcp_init(struct session_manager *mgr, struct session *sess)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tcp_update(struct session_manager *mgr, struct session *sess, enum flow_direction dir, const struct raw_layer *tcp_layer)
|
static void tcp_update(struct session_manager *mgr, struct session *sess, enum flow_direction dir, const struct layer_private *tcp_layer)
|
||||||
{
|
{
|
||||||
struct tcp_segment *seg;
|
struct tcp_segment *seg;
|
||||||
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
@@ -655,7 +655,7 @@ static struct session *session_manager_lookup_tcp_session(struct session_manager
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_TCP);
|
||||||
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
|
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
uint8_t flags = tcp_hdr_get_flags(hdr);
|
uint8_t flags = tcp_hdr_get_flags(hdr);
|
||||||
if ((flags & TH_SYN) == 0)
|
if ((flags & TH_SYN) == 0)
|
||||||
@@ -681,7 +681,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)
|
static struct session *session_manager_new_tcp_session(struct session_manager *mgr, const struct packet *pkt, const struct tuple6 *key)
|
||||||
{
|
{
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_TCP);
|
||||||
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
|
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
uint8_t flags = tcp_hdr_get_flags(hdr);
|
uint8_t flags = tcp_hdr_get_flags(hdr);
|
||||||
if (!(flags & TH_SYN))
|
if (!(flags & TH_SYN))
|
||||||
@@ -772,7 +772,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)
|
static int session_manager_update_tcp_session(struct session_manager *mgr, struct session *sess, const struct packet *pkt, const struct tuple6 *key)
|
||||||
{
|
{
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_TCP);
|
||||||
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
|
const struct tcphdr *hdr = (const struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
enum flow_direction dir = identify_direction_by_history(sess, key);
|
enum flow_direction dir = identify_direction_by_history(sess, key);
|
||||||
uint8_t flags = tcp_hdr_get_flags(hdr);
|
uint8_t flags = tcp_hdr_get_flags(hdr);
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ struct session_manager_options opts = {
|
|||||||
|
|
||||||
static void packet_set_ip_id(struct packet *pkt, uint16_t ip_id)
|
static void packet_set_ip_id(struct packet *pkt, uint16_t ip_id)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
|
const struct layer_private *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(ipv4_layer);
|
EXPECT_TRUE(ipv4_layer);
|
||||||
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
||||||
ip4_hdr_set_ipid(hdr, ip_id);
|
ip4_hdr_set_ipid(hdr, ip_id);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ struct session_manager_options opts = {
|
|||||||
|
|
||||||
static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr)
|
static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
|
const struct layer_private *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(ipv4_layer);
|
EXPECT_TRUE(ipv4_layer);
|
||||||
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
||||||
ip4_hdr_set_src_addr(hdr, addr);
|
ip4_hdr_set_src_addr(hdr, addr);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ struct session_manager_options opts = {
|
|||||||
|
|
||||||
static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr)
|
static void packet_set_ip_src_addr(struct packet *pkt, uint32_t addr)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
|
const struct layer_private *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(ipv4_layer);
|
EXPECT_TRUE(ipv4_layer);
|
||||||
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
||||||
ip4_hdr_set_src_addr(hdr, addr);
|
ip4_hdr_set_src_addr(hdr, addr);
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ struct session_manager_options opts = {
|
|||||||
|
|
||||||
static inline void packet_overwrite_src_addr(struct packet *pkt, struct in_addr addr)
|
static inline void packet_overwrite_src_addr(struct packet *pkt, struct in_addr addr)
|
||||||
{
|
{
|
||||||
const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(pkt, LAYER_PROTO_IPV4);
|
const struct layer_private *ipv4_layer = packet_get_innermost_layer(pkt, LAYER_PROTO_IPV4);
|
||||||
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
||||||
hdr->ip_src = addr;
|
hdr->ip_src = addr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_RST)
|
|||||||
memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin));
|
memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin));
|
||||||
memset(&pkt, 0, sizeof(pkt));
|
memset(&pkt, 0, sizeof(pkt));
|
||||||
packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin));
|
packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin));
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(tcp_layer);
|
EXPECT_TRUE(tcp_layer);
|
||||||
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
tcp_hdr_set_flags(hdr, 0);
|
tcp_hdr_set_flags(hdr, 0);
|
||||||
@@ -281,7 +281,7 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_RST)
|
|||||||
memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin));
|
memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin));
|
||||||
memset(&pkt, 0, sizeof(pkt));
|
memset(&pkt, 0, sizeof(pkt));
|
||||||
packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin));
|
packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin));
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(tcp_layer);
|
EXPECT_TRUE(tcp_layer);
|
||||||
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
tcp_hdr_set_flags(hdr, 0);
|
tcp_hdr_set_flags(hdr, 0);
|
||||||
|
|||||||
@@ -430,7 +430,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION)
|
|||||||
memcpy(syn_retransmission, tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn));
|
memcpy(syn_retransmission, tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn));
|
||||||
memset(&pkt, 0, sizeof(pkt));
|
memset(&pkt, 0, sizeof(pkt));
|
||||||
packet_parse(&pkt, (const char *)syn_retransmission, sizeof(tcp_pkt1_c2s_syn));
|
packet_parse(&pkt, (const char *)syn_retransmission, sizeof(tcp_pkt1_c2s_syn));
|
||||||
const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_IPV4);
|
const struct layer_private *ipv4_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_IPV4);
|
||||||
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
||||||
ip4_hdr_set_ipid(hdr, 0x1234);
|
ip4_hdr_set_ipid(hdr, 0x1234);
|
||||||
printf("<= Packet Parse: done\n\n");
|
printf("<= Packet Parse: done\n\n");
|
||||||
@@ -526,7 +526,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION)
|
|||||||
memcpy(tcp_pkt_s2c_synack_retransmission, tcp_pkt2_s2c_syn_ack, sizeof(tcp_pkt2_s2c_syn_ack));
|
memcpy(tcp_pkt_s2c_synack_retransmission, tcp_pkt2_s2c_syn_ack, sizeof(tcp_pkt2_s2c_syn_ack));
|
||||||
memset(&pkt, 0, sizeof(pkt));
|
memset(&pkt, 0, sizeof(pkt));
|
||||||
packet_parse(&pkt, (const char *)tcp_pkt_s2c_synack_retransmission, sizeof(tcp_pkt2_s2c_syn_ack));
|
packet_parse(&pkt, (const char *)tcp_pkt_s2c_synack_retransmission, sizeof(tcp_pkt2_s2c_syn_ack));
|
||||||
const struct raw_layer *ipv4_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_IPV4);
|
const struct layer_private *ipv4_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_IPV4);
|
||||||
EXPECT_TRUE(ipv4_layer);
|
EXPECT_TRUE(ipv4_layer);
|
||||||
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
struct ip *hdr = (struct ip *)ipv4_layer->hdr_ptr;
|
||||||
ip4_hdr_set_ipid(hdr, 0x1234);
|
ip4_hdr_set_ipid(hdr, 0x1234);
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST)
|
|||||||
memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin));
|
memcpy(tcp_pkt_c2s_rst, tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin));
|
||||||
memset(&pkt, 0, sizeof(pkt));
|
memset(&pkt, 0, sizeof(pkt));
|
||||||
packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin));
|
packet_parse(&pkt, (const char *)tcp_pkt_c2s_rst, sizeof(tcp_pkt9_c2s_fin));
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(tcp_layer);
|
EXPECT_TRUE(tcp_layer);
|
||||||
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
tcp_hdr_set_flags(hdr, 0);
|
tcp_hdr_set_flags(hdr, 0);
|
||||||
@@ -279,7 +279,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST)
|
|||||||
memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin));
|
memcpy(tcp_pkt_s2c_rst, tcp_pkt10_s2c_fin, sizeof(tcp_pkt10_s2c_fin));
|
||||||
memset(&pkt, 0, sizeof(pkt));
|
memset(&pkt, 0, sizeof(pkt));
|
||||||
packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin));
|
packet_parse(&pkt, (const char *)tcp_pkt_s2c_rst, sizeof(tcp_pkt10_s2c_fin));
|
||||||
const struct raw_layer *tcp_layer = packet_get_innermost_raw_layer(&pkt, LAYER_PROTO_TCP);
|
const struct layer_private *tcp_layer = packet_get_innermost_layer(&pkt, LAYER_PROTO_TCP);
|
||||||
EXPECT_TRUE(tcp_layer);
|
EXPECT_TRUE(tcp_layer);
|
||||||
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
struct tcphdr *hdr = (struct tcphdr *)tcp_layer->hdr_ptr;
|
||||||
tcp_hdr_set_flags(hdr, 0);
|
tcp_hdr_set_flags(hdr, 0);
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ static void tshark_format(const struct runtime *rte, const struct packet *pkt)
|
|||||||
{
|
{
|
||||||
memset(tmp_src_buff, 0, sizeof(tmp_src_buff));
|
memset(tmp_src_buff, 0, sizeof(tmp_src_buff));
|
||||||
memset(tmp_dst_buff, 0, sizeof(tmp_dst_buff));
|
memset(tmp_dst_buff, 0, sizeof(tmp_dst_buff));
|
||||||
const struct raw_layer *layer = packet_get_raw_layer(pkt, i);
|
const struct layer_private *layer = packet_get_layer(pkt, i);
|
||||||
switch (layer->proto)
|
switch (layer->proto)
|
||||||
{
|
{
|
||||||
case LAYER_PROTO_ETHER:
|
case LAYER_PROTO_ETHER:
|
||||||
|
|||||||
Reference in New Issue
Block a user