IPv6-Only RA Flag

In the IETF 6man working group, the draft-ietf-6man-ipv6only-flag discusses an option by which a client shall disable IPv4 processing if all routers on a link consistently announce the IPv6-Only flag.


Work has been ongoing to produce a prototype implementation for FreeBSD in a private repository so people can gain experience and changes were merged back to FreeBSD head. The code is compile time disabled by default under the EXPERIMENTAL src.conf and kernel options.

Changes for the IPv6-Only flag include updates of user space utilities to announce the ā€œSā€ (IPv6-Only) flag to the network and to show it in management utilities.

The kernel logic includes a global flag to disable processing of the IPv6-Only flag even if the logic to act upon the IPv6-Only flag is compiled in. There are checks for IPv4 configuration on a receiving interface, which if found, will also force the IPv6-Only flag to be ignored. Further there are input and output filters for IPv4, ARP, and REVARP in place for when the flag passes the aforementioned checks and is enabled.

In addition to the draft there is a manual option to enable the IPv6-Only filtering logic manually to observe the system behaviour on links without router(s) advertising the IPv6-Only flag.

In case you have questions please contact BjoernZeeb.

List of commits

Below is a list of chronological commits (oldest to newest in reading order) related to the IPv6-Only flag work. Some of the commits are not directly related to the flag (e.g., ARP changes) but help to improve the overall system behaviour in case the flag is on (and possibly otherwise as well).

Outstanding work

Patches are available for:

Possible TODO



IPv6/IPv6OnlyRAFlag (last edited 2019-03-17T09:32:39+0000 by BjoernZeeb)