PcapPlusPlus
|
#include <IPv6Extensions.h>
Classes | |
struct | ipv6_authentication_header |
Public Member Functions | |
IPv6AuthenticationHeader (uint32_t securityParametersIndex, uint32_t sequenceNumber, const uint8_t *integrityCheckValue, size_t integrityCheckValueLen) | |
ipv6_authentication_header * | getAuthHeader () |
uint8_t * | getIntegrityCheckValue () |
size_t | getIntegrityCheckValueLength () |
size_t | getExtensionLen () const |
Public Member Functions inherited from pcpp::IPv6Extension | |
IPv6ExtensionType | getExtensionType () |
virtual | ~IPv6Extension () |
IPv6Extension * | getNextHeader () |
Additional Inherited Members | |
Public Types inherited from pcpp::IPv6Extension | |
enum | IPv6ExtensionType { IPv6HopByHop = 0, IPv6Routing = 43, IPv6Fragmentation = 44, IPv6AuthenticationHdr = 51, IPv6Destination = 60, IPv6ExtensionUnknown = 255 } |
Represents IPv6 authentication header extension (used in IPSec protocol) and allows easy access to all of its data
pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader | ( | uint32_t | securityParametersIndex, |
uint32_t | sequenceNumber, | ||
const uint8_t * | integrityCheckValue, | ||
size_t | integrityCheckValueLen | ||
) |
A c'tor for creating a new IPv6 authentication header extension object not bounded to a packet. Useful for adding new extensions to an IPv6 layer with IPv6Layer::addExtension()
[in] | securityParametersIndex | Security Parameters Index (SPI) value (will be written to ipv6_authentication_header::securityParametersIndex field) |
[in] | sequenceNumber | Sequence number value (will be written to ipv6_authentication_header::sequenceNumber field) |
[in] | integrityCheckValue | A pointer to a buffer containing the integrity check value (ICV) data for this extension. Notice this pointer is read-only and its content isn't modified in any way |
[in] | integrityCheckValueLen | The length of the integrity check value (ICV) buffer |
|
inline |
Get a pointer to the fixed part of the authentication header. Notice the return pointer points directly to the data, so every change will modify the actual packet data
|
inlinevirtual |
In the authentication header the extension length is calculated in a different way than other extensions. The calculation is: [ 4 * (ipv6_authentication_header::headerLen + 2) ]
Reimplemented from pcpp::IPv6Extension.
uint8_t* pcpp::IPv6AuthenticationHeader::getIntegrityCheckValue | ( | ) |
size_t pcpp::IPv6AuthenticationHeader::getIntegrityCheckValueLength | ( | ) |