NF_IP_PACKET_OPTIONS ======================= IP packet options. .. code-block:: 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