NF_IP_PACKET_OPTIONSΒΆ

IP packet options.

typedef enum _NF_IP_FLAG
{
        NFIF_NONE = 0,          // No flags
        NFIF_READONLY = 1,      // The packet was not blocked and indicated only for monitoring in read-only mode
                                                // (see NF_READONLY flags from NF_FILTERING_FLAG).
} NF_IP_FLAG;

typedef struct _NF_IP_PACKET_OPTIONS
{
        unsigned short  ip_family;                      // AF_INET for IPv4 and AF_INET6 for IPv6
        unsigned int    ipHeaderSize;           // Size in bytes of IP header
        unsigned long   compartmentId;          // Network routing compartment identifier (can be zero)
        unsigned long   interfaceIndex;         // Index of the interface on which the original packet data was received (irrelevant to outgoing packets)
        unsigned long   subInterfaceIndex;  // Index of the subinterface on which the original packet data was received (irrelevant to outgoing packets)
        unsigned long   flags;                          // Can be a combination of flags from NF_IP_FLAG enumeration
} NF_IP_PACKET_OPTIONS, *PNF_IP_PACKET_OPTIONS;
ip_family

AF_INET for IPv4 and AF_INET6 for IPv6

ipHeaderSize

Size in bytes of IP header

compartmentId

Network routing compartment identifier

interfaceIndex

Index of the interface on which the original packet data was received (irrelevant to outgoing packets)

subInterfaceIndex

Index of the subinterface on which the original packet data was received (irrelevant to outgoing packets)

flags

Can be a combination of flags from NF_IP_FLAG enumeration