On Tue, Sep 19, 2017 at 5:59 AM, Xiang Gao <qasdfgtyu...@gmail.com> wrote: > In ipv6_skip_exthdr, the lengh of AH header is computed manually > as (hp->hdrlen+2)<<2. However, in include/linux/ipv6.h, a macro > named ipv6_authlen is already defined for exactly the same job. This > commit replaces the manual computation code with the macro.
This isn't directly related to this patch, but I notice that flow dissector doesn't used the ipv6_optlen macro and doesn't have NEXTHDR_AUTH or NEXTHDR_NONE in the ip_proto switch statement. Would be a nice fix. The NEXTHDR_NONE is probably just a break, but would be nice to have it there for completeness. Tom > --- > net/ipv6/exthdrs_core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv6/exthdrs_core.c b/net/ipv6/exthdrs_core.c > index 305e2ed730bf..115d60919f72 100644 > --- a/net/ipv6/exthdrs_core.c > +++ b/net/ipv6/exthdrs_core.c > @@ -99,7 +99,7 @@ int ipv6_skip_exthdr(const struct sk_buff *skb, int start, > u8 *nexthdrp, > break; > hdrlen = 8; > } else if (nexthdr == NEXTHDR_AUTH) > - hdrlen = (hp->hdrlen+2)<<2; > + hdrlen = ipv6_authlen(hp); > else > hdrlen = ipv6_optlen(hp); > > -- > 2.14.1 >