Message ID | 1416402303-25341-2-git-send-email-jiri@resnulli.us |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
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 <eric.dumazet@gmail.com> > Signed-off-by: Jiri Pirko <jiri@resnulli.us> > Acked-by: Pravin B Shelar <pshelar@nicira.com> I believe this may have originally been my handiwork: Acked-by: Simon Horman <simon.horman@netronome.com> > --- > 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 majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- 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
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;