Index: head/sys/netinet6/ip6_id.c =================================================================== --- head/sys/netinet6/ip6_id.c +++ head/sys/netinet6/ip6_id.c @@ -89,6 +89,7 @@ #include #include #include +#include #include #include @@ -257,6 +258,16 @@ u_int32_t ip6_randomflowlabel(void) { + + /* + * It's ok to emit zero flow labels early, before random is available + * (seeded). RFC 6437: + * + * "A Flow Label of zero is used to indicate packets that have not been + * labeled." + */ + if (__predict_false(!is_random_seeded())) + return (0); return randomid(&randomtab_20) & 0xfffff; }