IPv6 helper functions

## Functions

struct ip6_hdr * | nfq_ip6_get_hdr (struct pkt_buff *pktb)
int | nfq_ip6_set_transport_header (struct pkt_buff *pktb, struct ip6_hdr *ip6h, uint8_t target)
int | nfq_ip6_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_ip6_snprintf (char *buf, size_t size, const struct ip6_hdr *ip6h)

## Detailed Description

## Function Documentation

## nfq_ip6_get_hdr()

struct ip6_hdr * nfq_ip6_get_hdr | ( | struct pkt_buff * | pktb | ) |

nfq_ip6_get_hdr - get IPv6 header

Parameters

  pktb | Pointer to user-space network packet buffer

Returns
  pointer to IPv6 header if a valid header found, else NULL.

Definition at line 36 of file ipv6.c.

## nfq_ip6_mangle()

int nfq_ip6_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_ip6_mangle - mangle IPv6 packet buffer

Parameters

  pktb | Pointer to user-space network packet buffer
  dataoff | Offset to layer 4 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 IPv6 length (if necessary)

Definition at line 131 of file ipv6.c.

## nfq_ip6_set_transport_header()

int nfq_ip6_set_transport_header | ( | struct pkt_buff * | pktb,
|  | struct ip6_hdr * | ip6h,
|  | uint8_t | target )

nfq_ip6_set_transport_header - set transport header pointer for IPv6 packet

Parameters

  pktb | Pointer to user-space network packet buffer
  ip6h | Pointer to IPv6 header
  target | Protocol number to find transport header (ie. IPPROTO_*)

Returns
  1 if the protocol has been found and the transport header has been set, else 0.

Definition at line 64 of file ipv6.c.

## nfq_ip6_snprintf()

int nfq_ip6_snprintf | ( | char * | buf,
|  | size_t | size,
|  | const struct ip6_hdr * | ip6h )

nfq_ip6_snprintf - print IPv6 header into one buffer in iptables LOG format

Parameters

  buf | Pointer to buffer that is used to print the object
  size | Size of the buffer (or remaining room in it).
  ip6h | Pointer to a valid IPv6 header.

Returns
  same as snprintf

See also
  snprintf(3)

Definition at line 158 of file ipv6.c.