This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
stellar-stellar/infra/packet_manager/test/gtest_vxlan_utils.cpp

44 lines
1.1 KiB
C++

#include <gtest/gtest.h>
#include "packet_helper.h"
/*
* Virtual eXtensible Local Area Network
* Flags: 0x0800, VXLAN Network ID (VNI)
* 0... .... .... .... = GBP Extension: Not defined
* .... 1... .... .... = VXLAN Network ID (VNI): True
* .... .... .0.. .... = Don't Learn: False
* .... .... .... 0... = Policy Applied: False
* .000 .000 0.00 .000 = Reserved(R): 0x0000
* Group Policy ID: 0
* VXLAN Network Identifier (VNI): 461829
* Reserved: 0
*/
unsigned char data[] = {
0x08, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x05, 0x00};
TEST(VXLAN_UTILS, GET)
{
const struct vxlan_hdr *hdr = (struct vxlan_hdr *)data;
EXPECT_TRUE(vxlan_hdr_get_flags(hdr) == 0x08);
EXPECT_TRUE(vxlan_hdr_get_vni(hdr) == 461829);
}
TEST(VXLAN_UTILS, SET)
{
char buff[8] = {0};
struct vxlan_hdr *hdr = (struct vxlan_hdr *)buff;
vxlan_hdr_set_flags(hdr, 0x08);
vxlan_hdr_set_vni(hdr, 461829);
EXPECT_TRUE(memcmp(buff, data, 8) == 0);
}
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}