Re: [PATCH net] ipv6: clean up tcp_v6_early_demux() icsk variable
flat view
From: Neal Cardwell <ncardwell@google.com>
Date: 2012-10-05 16:25:15
OK, thanks, Eric. This sounds good. We can scrap this one, and we'll do a full merge/clean-up when net-next is open. neal On Fri, Oct 5, 2012 at 9:56 AM, Eric Dumazet [off-list ref] wrote:
On Fri, 2012-10-05 at 09:21 -0400, Neal Cardwell wrote:quoted
Remove an icsk variable, which by convention should refer to an inet_connection_sock rather than an inet_sock. In the process, make the tcp_v6_early_demux() code and formatting a bit more like tcp_v4_early_demux(), to ease comparisons and maintenance. Signed-off-by: Neal Cardwell <ncardwell@google.com> --- net/ipv6/tcp_ipv6.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 49c8903..491c41b 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c@@ -1740,11 +1740,11 @@ static void tcp_v6_early_demux(struct sk_buff *skb) skb->destructor = sock_edemux; if (sk->sk_state != TCP_TIME_WAIT) { struct dst_entry *dst = sk->sk_rx_dst; - struct inet_sock *icsk = inet_sk(sk); + if (dst) dst = dst_check(dst, inet6_sk(sk)->rx_dst_cookie); if (dst && - icsk->rx_dst_ifindex == skb->skb_iif) + inet_sk(sk)->rx_dst_ifindex == skb->skb_iif) skb_dst_set_noref(skb, dst); } }Hi Neal I would wait net-next being opened, and do a full merge/cleanup For example ipv6 uses : if (!pskb_may_pull(skb, skb_transport_offset(skb) + sizeof(struct tcphdr))) th = tcp_hdr(skb); while ipv4 uses : if (!pskb_may_pull(skb, ip_hdrlen(skb) + sizeof(struct tcphdr))) th = (struct tcphdr *) ((char *)iph + ip_hdrlen(skb)); It would be good to use the ipv6 variant (its less instructions and cleaner) Same for the "struct net *net = dev_net(skb->dev);" used in ipv4, while ipv6 doesnt need this extra net variable. Thanks