[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20150420.142729.802138559230125552.davem@davemloft.net>
Date: Mon, 20 Apr 2015 14:27:29 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: kafai@...com
Cc: netdev@...r.kernel.org, hannes@...essinduktion.org,
kernel-team@...com
Subject: Re: [RFC PATCH 04/10] ipv6: Only create RTF_CACHE routes after
encountering pmtu exception
From: Martin KaFai Lau <kafai@...com>
Date: Fri, 10 Apr 2015 18:54:07 -0700
> @@ -1171,8 +1170,15 @@ void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu,
> fl6.flowlabel = ip6_flowinfo(iph);
>
> dst = ip6_route_output(net, NULL, &fl6);
> - if (!dst->error)
> + if (!dst->error) {
> + unsigned char *outer_network_header = skb_network_header(skb);
> + int offset;
> +
> + skb_reset_network_header(skb);
> + offset = outer_network_header - skb_network_header(skb);
> ip6_rt_update_pmtu(dst, NULL, skb, ntohl(mtu));
> + skb_set_network_header(skb, offset);
> + }
I seriously object to adjusting then restoring the location of the SKB
network header in this kind of code path.
Instead, adjust the interfaces to the code doing the packet header
inspection so that it can accomodate an offset or something like that
instead.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists