diff --git a/[refs] b/[refs] index 630e7f74cfb8..b74c93fc91ea 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: deb28d9bc4bb6922c1f7e459744d7b2d0db3a1d2 +refs/heads/master: 22441cfa0c70dcd457f3c081fcf285c3bd155824 diff --git a/trunk/include/linux/icmpv6.h b/trunk/include/linux/icmpv6.h index 03067443198a..a93a8dd33118 100644 --- a/trunk/include/linux/icmpv6.h +++ b/trunk/include/linux/icmpv6.h @@ -40,16 +40,18 @@ struct icmp6hdr { struct icmpv6_nd_ra { __u8 hop_limit; #if defined(__LITTLE_ENDIAN_BITFIELD) - __u8 reserved:4, + __u8 reserved:3, router_pref:2, + home_agent:1, other:1, managed:1; #elif defined(__BIG_ENDIAN_BITFIELD) __u8 managed:1, other:1, + home_agent:1, router_pref:2, - reserved:4; + reserved:3; #else #error "Please fix " #endif diff --git a/trunk/net/ipv6/ndisc.c b/trunk/net/ipv6/ndisc.c index 840b15780a36..aae7ddcc8a2e 100644 --- a/trunk/net/ipv6/ndisc.c +++ b/trunk/net/ipv6/ndisc.c @@ -1199,7 +1199,7 @@ static void ndisc_router_discovery(struct sk_buff *skb) } neigh->flags |= NTF_ROUTER; } else if (rt) { - rt->rt6i_flags |= (rt->rt6i_flags & ~RTF_PREF_MASK) | RTF_PREF(pref); + rt->rt6i_flags = (rt->rt6i_flags & ~RTF_PREF_MASK) | RTF_PREF(pref); } if (rt)