diff --git a/libdnet-stripped/include/dnet/ip6.h b/libdnet-stripped/include/dnet/ip6.h index d09b3fd7c..881ba50f8 100644 --- a/libdnet-stripped/include/dnet/ip6.h +++ b/libdnet-stripped/include/dnet/ip6.h @@ -164,8 +164,8 @@ struct ip6_ext_hdr { #define ip6_pack_hdr(hdr, fc, fl, plen, nxt, hlim, src, dst) do { \ struct ip6_hdr *ip6 = (struct ip6_hdr *)(hdr); \ - ip6->ip6_flow = htonl(((uint32_t)(fc) << 28) & \ - (IP6_FLOWLABEL_MASK | (fl))); \ + ip6->ip6_flow = htonl(((uint32_t)(fc) << 20) | \ + (0x000fffff & (fl))); \ ip6->ip6_vfc = (IP6_VERSION | ((fc) >> 4)); \ ip6->ip6_plen = htons((plen)); \ ip6->ip6_nxt = (nxt); ip6->ip6_hlim = (hlim); \