[PATCH net] ipv6: clean up tcp_v6_early_demux() icsk variable

Subsystems: networking [general], networking [tcp], the rest

STALE5115d

3 messages, 2 authors, 2012-10-05 · open the first message on its own page

[PATCH net] ipv6: clean up tcp_v6_early_demux() icsk variable

From: Neal Cardwell <ncardwell@google.com>
Date: 2012-10-05 13:21:27

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);
 		}
 	}
-- 
1.7.7.3

Re: [PATCH net] ipv6: clean up tcp_v6_early_demux() icsk variable

From: Eric Dumazet <hidden>
Date: 2012-10-05 13:56:10

On Fri, 2012-10-05 at 09:21 -0400, Neal Cardwell wrote:
quoted hunk
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

Re: [PATCH net] ipv6: clean up tcp_v6_early_demux() icsk variable

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help