VBVX 0.1.0
Header-only C++23 library for safe, zero-copy parsing of packet buffers.
Loading...
Searching...
No Matches
test_ip4_header.cxx File Reference
#include <gtest/gtest.h>
#include "header_view.hxx"
#include "utils.hxx"
#include "vbvx/ip4_header.hxx"
#include <array>
#include <bit>
#include <cstring>
#include <type_traits>
#include <utility>
#include "buffer_view.hxx"
#include "vbvx/ether.hxx"
#include "vbvx/udp_header.hxx"
#include "vbvx/tcp_header.hxx"
#include <vector>

Functions

 TEST (IPv4FragmentTest, FlagsParsedFromWire)
 TEST (IPv4FragmentTest, SettersRoundTripBits)
 TEST (IPv4FragmentTest, FragmentationDetection)
 TEST (IPv4HeaderTest, VersionAndIhlParsing)
 TEST (IPv4HeaderTest, DscpAndEcnParsing)
 TEST (IPv4HeaderTest, TotalLengthAndIdParsing)
 TEST (IPv4HeaderTest, FragFlagsSetterAndRoundtrip)
 TEST (IPv4HeaderTest, SetFragOffsetBytes)
 TEST (IPv4HeaderTest, L4ProtocolParsing)
 TEST (IPv4HeaderTest, ChecksumSetAndGet)
 TEST (IPv4HeaderTest, SrcAndDstSetters)
 TEST (IPv4HeaderTest, ValidMinSizeBehavior)
 TEST (IPv4HeaderEdgeCases, IhlMaxAndVersion)
 TEST (IPv4HeaderEdgeCases, FragOffsetMaskingAndBytes)
 TEST (IPv4HeaderEdgeCases, FragFlagsMaskingAndPreserveOffset)
 TEST (BufferViewIPv4MalformedTest, Ipv4HeaderTooShort)
 TEST (BufferViewIPv4MalformedTest, Ipv4HeaderPresentAndL4Offset)
 TEST (BufferViewIPv4MalformedTest, TcpHeaderTooShortWhenProtoIsTcp)
 TEST (BufferViewIPv4MalformedTest, TcpOptionsTruncated)
 TEST (BufferViewIPv4MalformedTest, TcpDataOffsetTooSmall)
 TEST (BufferViewIPv4MalformedTest, UdpLengthTooSmallAndTooLarge)
 TEST (BufferViewIPv4MalformedTest, VlanIpv4Offset)
 TEST (BufferViewIPv4MalformedTest, IpProtocolNullOnNonIpFrames)
 TEST (BufferViewIPv4MalformedTest, Ipv4HeaderIhlTooSmall)

Function Documentation

◆ TEST() [1/24]

TEST ( BufferViewIPv4MalformedTest ,
IpProtocolNullOnNonIpFrames  )

◆ TEST() [2/24]

TEST ( BufferViewIPv4MalformedTest ,
Ipv4HeaderIhlTooSmall  )

◆ TEST() [3/24]

TEST ( BufferViewIPv4MalformedTest ,
Ipv4HeaderPresentAndL4Offset  )

◆ TEST() [4/24]

TEST ( BufferViewIPv4MalformedTest ,
Ipv4HeaderTooShort  )

◆ TEST() [5/24]

TEST ( BufferViewIPv4MalformedTest ,
TcpDataOffsetTooSmall  )

◆ TEST() [6/24]

TEST ( BufferViewIPv4MalformedTest ,
TcpHeaderTooShortWhenProtoIsTcp  )

◆ TEST() [7/24]

TEST ( BufferViewIPv4MalformedTest ,
TcpOptionsTruncated  )

◆ TEST() [8/24]

TEST ( BufferViewIPv4MalformedTest ,
UdpLengthTooSmallAndTooLarge  )

◆ TEST() [9/24]

TEST ( BufferViewIPv4MalformedTest ,
VlanIpv4Offset  )

◆ TEST() [10/24]

TEST ( IPv4FragmentTest ,
FlagsParsedFromWire  )

◆ TEST() [11/24]

TEST ( IPv4FragmentTest ,
FragmentationDetection  )

◆ TEST() [12/24]

TEST ( IPv4FragmentTest ,
SettersRoundTripBits  )

◆ TEST() [13/24]

TEST ( IPv4HeaderEdgeCases ,
FragFlagsMaskingAndPreserveOffset  )

◆ TEST() [14/24]

TEST ( IPv4HeaderEdgeCases ,
FragOffsetMaskingAndBytes  )

◆ TEST() [15/24]

TEST ( IPv4HeaderEdgeCases ,
IhlMaxAndVersion  )

◆ TEST() [16/24]

TEST ( IPv4HeaderTest ,
ChecksumSetAndGet  )

◆ TEST() [17/24]

TEST ( IPv4HeaderTest ,
DscpAndEcnParsing  )

◆ TEST() [18/24]

TEST ( IPv4HeaderTest ,
FragFlagsSetterAndRoundtrip  )

◆ TEST() [19/24]

TEST ( IPv4HeaderTest ,
L4ProtocolParsing  )

◆ TEST() [20/24]

TEST ( IPv4HeaderTest ,
SetFragOffsetBytes  )

◆ TEST() [21/24]

TEST ( IPv4HeaderTest ,
SrcAndDstSetters  )

◆ TEST() [22/24]

TEST ( IPv4HeaderTest ,
TotalLengthAndIdParsing  )

◆ TEST() [23/24]

TEST ( IPv4HeaderTest ,
ValidMinSizeBehavior  )

◆ TEST() [24/24]

TEST ( IPv4HeaderTest ,
VersionAndIhlParsing  )