Add support for parsing PPP headers with variable lengths
This commit is contained in:
@@ -1602,11 +1602,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
|
||||
|
||||
// LAYER_TYPE_L2
|
||||
const struct packet_layer *outer_l2_record = packet_get_outermost_layer(&handler, LAYER_TYPE_L2);
|
||||
const struct packet_layer *inner_l2_record = packet_get_innermost_layer(&handler, LAYER_TYPE_L2);
|
||||
|
||||
EXPECT_TRUE(outer_l2_record != nullptr);
|
||||
EXPECT_TRUE(inner_l2_record != nullptr);
|
||||
EXPECT_TRUE(outer_l2_record == inner_l2_record);
|
||||
EXPECT_TRUE(outer_l2_record == outer_eth_record);
|
||||
|
||||
// LAYER_TYPE_VLAN
|
||||
@@ -1634,8 +1631,8 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
|
||||
EXPECT_TRUE(inner_pppoe_record != nullptr);
|
||||
EXPECT_TRUE(outer_pppoe_record == inner_pppoe_record);
|
||||
EXPECT_TRUE(outer_pppoe_record->hdr_offset == 18);
|
||||
EXPECT_TRUE(outer_pppoe_record->hdr_len == 8);
|
||||
EXPECT_TRUE(outer_pppoe_record->pld_len == 52);
|
||||
EXPECT_TRUE(outer_pppoe_record->hdr_len == 6);
|
||||
EXPECT_TRUE(outer_pppoe_record->pld_len == 54);
|
||||
|
||||
// LAYER_TYPE_L2_TUN
|
||||
const struct packet_layer *inner_l2_tun_record = packet_get_innermost_layer(&handler, LAYER_TYPE_L2_TUN);
|
||||
@@ -1643,6 +1640,23 @@ TEST(PACKET, ETH_VLAN_PPPOE_IP4_TCP)
|
||||
EXPECT_TRUE(inner_l2_tun_record != nullptr);
|
||||
EXPECT_TRUE(inner_l2_tun_record == outer_pppoe_record);
|
||||
|
||||
// LAYER_TYPE_PPP
|
||||
const struct packet_layer *outer_ppp_record = packet_get_outermost_layer(&handler, LAYER_TYPE_PPP);
|
||||
const struct packet_layer *inner_ppp_record = packet_get_innermost_layer(&handler, LAYER_TYPE_PPP);
|
||||
|
||||
EXPECT_TRUE(outer_ppp_record != nullptr);
|
||||
EXPECT_TRUE(inner_ppp_record != nullptr);
|
||||
EXPECT_TRUE(outer_ppp_record == inner_ppp_record);
|
||||
EXPECT_TRUE(outer_ppp_record->hdr_offset == 24);
|
||||
EXPECT_TRUE(outer_ppp_record->hdr_len == 2);
|
||||
EXPECT_TRUE(outer_ppp_record->pld_len == 52);
|
||||
|
||||
// LAYER_TYPE_L2
|
||||
const struct packet_layer *inner_l2_record = packet_get_innermost_layer(&handler, LAYER_TYPE_L2);
|
||||
|
||||
EXPECT_TRUE(inner_l2_record != nullptr);
|
||||
EXPECT_TRUE(inner_l2_record == outer_ppp_record);
|
||||
|
||||
// LAYER_TYPE_IPV4
|
||||
const struct packet_layer *outer_ipv4_record = packet_get_outermost_layer(&handler, LAYER_TYPE_IPV4);
|
||||
const struct packet_layer *inner_ipv4_record = packet_get_innermost_layer(&handler, LAYER_TYPE_IPV4);
|
||||
|
||||
Reference in New Issue
Block a user