| Submitter | Neal Cardwell |
|---|---|
| Date | Oct. 5, 2012, 1:21 p.m. |
| Message ID | <1349443284-14640-1-git-send-email-ncardwell@google.com> |
| Download | mbox | patch |
| Permalink | /patch/189477/ |
| State | Deferred |
| Delegated to: | David Miller |
| Headers | show |
Comments
On Fri, 2012-10-05 at 09:21 -0400, Neal Cardwell wrote: > 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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 <eric.dumazet@gmail.com> wrote: > On Fri, 2012-10-05 at 09:21 -0400, Neal Cardwell wrote: >> 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 > > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
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); } }
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(-)