Thread (18 messages) flat view 18 messages, 5 authors, 2018-11-14

Re: [PATCH net-next 05/10] ipv6: factor out protocol delivery helper

From: Paolo Abeni <pabeni@redhat.com>
Date: 2018-11-08 19:48:34

Hi,

On Thu, 2018-11-08 at 12:01 +0300, Sergei Shtylyov wrote:
On 11/7/2018 2:38 PM, Paolo Abeni wrote:
quoted
So that we can re-use it at the UDP level in the next patch

rfc v3 -> v1:
  - add the helper declaration into the ipv6 header

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
  include/net/ipv6.h   |  2 ++
  net/ipv6/ip6_input.c | 28 ++++++++++++++++------------
  2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 829650540780..daf80863d3a5 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
[...]
quoted
@@ -319,28 +319,26 @@ void ipv6_list_rcv(struct list_head *head, struct packet_type *pt,
  /*
   *	Deliver the packet to the host
   */
-
-
-static int ip6_input_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
+void ip6_protocol_deliver_rcu(struct net *net, struct sk_buff *skb, int nexthdr,
+			      bool have_final)
  {
  	const struct inet6_protocol *ipprot;
  	struct inet6_dev *idev;
  	unsigned int nhoff;
-	int nexthdr;
  	bool raw;
-	bool have_final = false;
  
  	/*
  	 *	Parse extension headers
  	 */
  
-	rcu_read_lock();
  resubmit:
  	idev = ip6_dst_idev(skb_dst(skb));
-	if (!pskb_pull(skb, skb_transport_offset(skb)))
-		goto discard;
  	nhoff = IP6CB(skb)->nhoff;
-	nexthdr = skb_network_header(skb)[nhoff];
+	if (!have_final) {
    Haven't you removed this variable above?
quoted
+		if (!pskb_pull(skb, skb_transport_offset(skb)))
+			goto discard;
+		nexthdr = skb_network_header(skb)[nhoff];
    And this?
Thanks for reviewing. 

Both local variables are now function arguments (see the function
signature, far above in this chunk).

Cheers,

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help