Scroll to navigation

ipv4(3) libnetfilter_queue ipv4(3)

NAME

ipv4 - IPv4 helper functions

SYNOPSIS

Modules


Internal IP functions

Functions


struct iphdr * nfq_ip_get_hdr (struct pkt_buff *pktb)
int nfq_ip_set_transport_header (struct pkt_buff *pktb, struct iphdr *iph)
int nfq_ip_mangle (struct pkt_buff *pktb, unsigned int dataoff, unsigned int match_offset, unsigned int match_len, const char *rep_buffer, unsigned int rep_len)
int nfq_ip_snprintf (char *buf, size_t size, const struct iphdr *iph)

Detailed Description

Function Documentation

struct iphdr* nfq_ip_get_hdr (struct pkt_buff * pktb)

nfq_ip_get_hdr - get the IPv4 header

Parameters

pktb Pointer to user-space network packet buffer

Returns

validated pointer to the IPv4 header or NULL if IP is malformed or not version 4

Many programs will not need to call this function. A possible use is to determine the layer 4 protocol. The validation is that the buffer is big enough for the declared lengths in the header, i.e. an extra check for packet truncation.

Definition at line 40 of file ipv4.c.

int nfq_ip_mangle (struct pkt_buff * pktb, unsigned int dataoff, unsigned int match_offset, unsigned int match_len, const char * rep_buffer, unsigned int rep_len)

nfq_ip_mangle - mangle IPv4 packet buffer

Parameters

pktb Pointer to user-space network packet buffer
dataoff Offset to layer 4 header, or zero to mangle IP header
match_offset Offset to content that you want to mangle
match_len Length of the existing content you want to mangle
rep_buffer Pointer to data you want to use to replace current content
rep_len Length of data you want to use to replace current content

Returns

1 for success and 0 for failure. See pktb_mangle() for failure case

Note

This function updates the IPv4 length if necessary and recalculates the IPv4 checksum.

Definition at line 127 of file ipv4.c.

int nfq_ip_set_transport_header (struct pkt_buff * pktb, struct iphdr * iph)

nfq_ip_set_transport_header - set the transport_header field in pktb

Parameters

pktb Pointer to user-space network packet buffer
iph Pointer to the IPv4 header

Returns

0 on success or -1 if a minimal validation check fails

Note

Most programs should call nfq_ip_set_transport_header as soon as possible, since most layer 4 helper functions assume the transport_header field is valid.

Definition at line 73 of file ipv4.c.

int nfq_ip_snprintf (char * buf, size_t size, const struct iphdr * iph)

nfq_pkt_snprintf_ip - print IPv4 header into buffer in iptables LOG format

Parameters

buf Pointer to buffer that will be used to print the header
size Size of the buffer (or remaining room in it)
iph Pointer to a valid IPv4 header

Returns

same as snprintf

See also

Definition at line 153 of file ipv4.c.

Author

Generated automatically by Doxygen for libnetfilter_queue from the source code.

Thu Jan 28 2021 Version 1.0.5