refactor: update packet get layer/tunnel API

This commit is contained in:
luwenpeng
2024-08-21 11:55:06 +08:00
parent 1aece166cd
commit a0fb57e843
7 changed files with 151 additions and 171 deletions

View File

@@ -555,8 +555,8 @@ TEST(TUNNEL, IPV4)
EXPECT_TRUE(out.type == TUNNEL_IPV4);
EXPECT_TRUE(out.layer_count == 1);
EXPECT_TRUE(out.layers[0].proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0].hdr_len == 20);
EXPECT_TRUE(out.layers[0]->proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0]->hdr_len == 20);
// No tunnel
EXPECT_TRUE(packet_get_tunnel_by_idx(&pkt, 1, &out) == -1);
@@ -583,19 +583,19 @@ TEST(TUNNEL, GRE)
EXPECT_TRUE(out.type == TUNNEL_IPV6);
EXPECT_TRUE(out.layer_count == 1);
EXPECT_TRUE(out.layers[0].proto == LAYER_PROTO_IPV6);
EXPECT_TRUE(out.layers[0].hdr_len == 40);
EXPECT_TRUE(out.layers[0]->proto == LAYER_PROTO_IPV6);
EXPECT_TRUE(out.layers[0]->hdr_len == 40);
// GRE tunnel
EXPECT_TRUE(packet_get_tunnel_by_idx(&pkt, 1, &out) == 0);
EXPECT_TRUE(out.type == TUNNEL_GRE);
EXPECT_TRUE(out.layer_count == 2);
EXPECT_TRUE(out.layers[0].proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0].hdr_len == 20);
EXPECT_TRUE(out.layers[0]->proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0]->hdr_len == 20);
EXPECT_TRUE(out.layers[1].proto == LAYER_PROTO_GRE);
EXPECT_TRUE(out.layers[1].hdr_len == 16);
EXPECT_TRUE(out.layers[1]->proto == LAYER_PROTO_GRE);
EXPECT_TRUE(out.layers[1]->hdr_len == 16);
// No tunnel
EXPECT_TRUE(packet_get_tunnel_by_idx(&pkt, 2, &out) == -1);
@@ -617,14 +617,14 @@ TEST(TUNNEL, GTP)
EXPECT_TRUE(out.type == TUNNEL_GTP);
EXPECT_TRUE(out.layer_count == 3);
EXPECT_TRUE(out.layers[0].proto == LAYER_PROTO_IPV6);
EXPECT_TRUE(out.layers[0].hdr_len == 40);
EXPECT_TRUE(out.layers[0]->proto == LAYER_PROTO_IPV6);
EXPECT_TRUE(out.layers[0]->hdr_len == 40);
EXPECT_TRUE(out.layers[1].proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1].hdr_len == 8);
EXPECT_TRUE(out.layers[1]->proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1]->hdr_len == 8);
EXPECT_TRUE(out.layers[2].proto == LAYER_PROTO_GTP_U);
EXPECT_TRUE(out.layers[2].hdr_len == 8);
EXPECT_TRUE(out.layers[2]->proto == LAYER_PROTO_GTP_U);
EXPECT_TRUE(out.layers[2]->hdr_len == 8);
// No tunnel
EXPECT_TRUE(packet_get_tunnel_by_idx(&pkt, 1, &out) == -1);
@@ -646,14 +646,14 @@ TEST(TUNNEL, VXLAN)
EXPECT_TRUE(out.type == TUNNEL_VXLAN);
EXPECT_TRUE(out.layer_count == 3);
EXPECT_TRUE(out.layers[0].proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0].hdr_len == 20);
EXPECT_TRUE(out.layers[0]->proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0]->hdr_len == 20);
EXPECT_TRUE(out.layers[1].proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1].hdr_len == 8);
EXPECT_TRUE(out.layers[1]->proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1]->hdr_len == 8);
EXPECT_TRUE(out.layers[2].proto == LAYER_PROTO_VXLAN);
EXPECT_TRUE(out.layers[2].hdr_len == 8);
EXPECT_TRUE(out.layers[2]->proto == LAYER_PROTO_VXLAN);
EXPECT_TRUE(out.layers[2]->hdr_len == 8);
// No tunnel
EXPECT_TRUE(packet_get_tunnel_by_idx(&pkt, 1, &out) == -1);
@@ -675,14 +675,14 @@ TEST(TUNNEL, L2TP)
EXPECT_TRUE(out.type == TUNNEL_L2TP);
EXPECT_TRUE(out.layer_count == 3);
EXPECT_TRUE(out.layers[0].proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0].hdr_len == 20);
EXPECT_TRUE(out.layers[0]->proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0]->hdr_len == 20);
EXPECT_TRUE(out.layers[1].proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1].hdr_len == 8);
EXPECT_TRUE(out.layers[1]->proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1]->hdr_len == 8);
EXPECT_TRUE(out.layers[2].proto == LAYER_PROTO_L2TP);
EXPECT_TRUE(out.layers[2].hdr_len == 8);
EXPECT_TRUE(out.layers[2]->proto == LAYER_PROTO_L2TP);
EXPECT_TRUE(out.layers[2]->hdr_len == 8);
// No tunnel
EXPECT_TRUE(packet_get_tunnel_by_idx(&pkt, 1, &out) == -1);
@@ -704,11 +704,11 @@ TEST(TUNNEL, TEREDO)
EXPECT_TRUE(out.type == TUNNEL_TEREDO);
EXPECT_TRUE(out.layer_count == 2);
EXPECT_TRUE(out.layers[0].proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0].hdr_len == 20);
EXPECT_TRUE(out.layers[0]->proto == LAYER_PROTO_IPV4);
EXPECT_TRUE(out.layers[0]->hdr_len == 20);
EXPECT_TRUE(out.layers[1].proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1].hdr_len == 8);
EXPECT_TRUE(out.layers[1]->proto == LAYER_PROTO_UDP);
EXPECT_TRUE(out.layers[1]->hdr_len == 8);
// No tunnel
EXPECT_TRUE(packet_get_tunnel_by_idx(&pkt, 1, &out) == -1);