Subject: Re: [patch net-next v4 1/9] openvswitch: actions: use skb_postpull_rcsum when possible

From: Simon Horman <[email-masked]>
Date: Thu, 20 Nov 2014 10:52:16 +0900

On Wed, Nov 19, 2014 at 02:04:55PM +0100, Jiri Pirko wrote:
> Replace duplicated code by calling skb_postpull_rcsum
> 
> Suggested-by: Eric Dumazet <[email-masked]>
> Signed-off-by: Jiri Pirko <[email-masked]>
> Acked-by: Pravin B Shelar <[email-masked]>

I believe this may have originally been my handiwork:

Acked-by: Simon Horman <[email-masked]>

> ---
>  net/openvswitch/actions.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
> index 394efa6..749a301 100644
> --- a/net/openvswitch/actions.c
> +++ b/net/openvswitch/actions.c
> @@ -175,10 +175,7 @@ static int pop_mpls(struct sk_buff *skb, struct sw_flow_key *key,
>  	if (unlikely(err))
>  		return err;
>  
> -	if (skb->ip_summed == CHECKSUM_COMPLETE)
> -		skb->csum = csum_sub(skb->csum,
> -				     csum_partial(skb_mpls_header(skb),
> -						  MPLS_HLEN, 0));
> +	skb_postpull_rcsum(skb, skb_mpls_header(skb), MPLS_HLEN);
>  
>  	memmove(skb_mac_header(skb) + MPLS_HLEN, skb_mac_header(skb),
>  		skb->mac_len);
> @@ -230,9 +227,7 @@ static int __pop_vlan_tci(struct sk_buff *skb, __be16 *current_tci)
>  	if (unlikely(err))
>  		return err;
>  
> -	if (skb->ip_summed == CHECKSUM_COMPLETE)
> -		skb->csum = csum_sub(skb->csum, csum_partial(skb->data
> -					+ (2 * ETH_ALEN), VLAN_HLEN, 0));
> +	skb_postpull_rcsum(skb, skb->data + (2 * ETH_ALEN), VLAN_HLEN);
>  
>  	vhdr = (struct vlan_hdr *)(skb->data + ETH_HLEN);
>  	*current_tci = vhdr->h_vlan_TCI;
> -- 
> 1.9.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>