43 lines
968 B
C++
43 lines
968 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include "packet_helper.h"
|
|
|
|
/*
|
|
* IEEE 802.1ad, ID: 1
|
|
* 000. .... .... .... = Priority: 0
|
|
* ...0 .... .... .... = DEI: 0
|
|
* .... 0000 0000 0001 = ID: 1
|
|
* Type: 802.1Q Virtual LAN (0x8100)
|
|
*/
|
|
|
|
unsigned char data[] = {
|
|
0x00, 0x01, 0x81, 0x00};
|
|
|
|
TEST(VLAN_UTILS, GET)
|
|
{
|
|
const struct vlan_hdr *hdr = (struct vlan_hdr *)data;
|
|
|
|
EXPECT_TRUE(vlan_hdr_get_priority(hdr) == 0);
|
|
EXPECT_TRUE(vlan_hdr_get_dei(hdr) == 0);
|
|
EXPECT_TRUE(vlan_hdr_get_vid(hdr) == 1);
|
|
EXPECT_TRUE(vlan_hdr_get_ethertype(hdr) == 0x8100);
|
|
}
|
|
|
|
TEST(VLAN_UTILS, SET)
|
|
{
|
|
char buff[4] = {0};
|
|
struct vlan_hdr *hdr = (struct vlan_hdr *)buff;
|
|
|
|
vlan_hdr_set_priority(hdr, 0);
|
|
vlan_hdr_set_dei(hdr, 0);
|
|
vlan_hdr_set_vid(hdr, 1);
|
|
vlan_hdr_set_ethertype(hdr, 0x8100);
|
|
EXPECT_TRUE(memcmp(buff, data, 4) == 0);
|
|
}
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
::testing::InitGoogleTest(&argc, argv);
|
|
return RUN_ALL_TESTS();
|
|
}
|