Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

lro: do vlan cleanup

- remove useless vlan parameters and pointers

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Jiri Pirko and committed by
David S. Miller
9fea0330 0f725728

+11 -30
-2
include/linux/inet_lro.h
··· 50 50 struct skb_frag_struct *next_frag; 51 51 struct iphdr *iph; 52 52 struct tcphdr *tcph; 53 - struct vlan_group *vgrp; 54 53 __wsum data_csum; 55 54 __be32 tcp_rcv_tsecr; 56 55 __be32 tcp_rcv_tsval; ··· 59 60 u16 ip_tot_len; 60 61 u16 tcp_saw_tstamp; /* timestamps enabled */ 61 62 __be16 tcp_window; 62 - u16 vlan_tag; 63 63 int pkt_aggr_cnt; /* counts aggregated packets */ 64 64 int vlan_packet; 65 65 int mss;
+11 -28
net/ipv4/inet_lro.c
··· 146 146 } 147 147 148 148 static void lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb, 149 - struct iphdr *iph, struct tcphdr *tcph, 150 - u16 vlan_tag, struct vlan_group *vgrp) 149 + struct iphdr *iph, struct tcphdr *tcph) 151 150 { 152 151 int nr_frags; 153 152 __be32 *ptr; ··· 172 173 } 173 174 174 175 lro_desc->mss = tcp_data_len; 175 - lro_desc->vgrp = vgrp; 176 - lro_desc->vlan_tag = vlan_tag; 177 176 lro_desc->active = 1; 178 177 179 178 lro_desc->data_csum = lro_tcp_data_csum(iph, tcph, ··· 306 309 307 310 skb_shinfo(lro_desc->parent)->gso_size = lro_desc->mss; 308 311 309 - if (lro_desc->vgrp) { 310 - if (lro_mgr->features & LRO_F_NAPI) 311 - vlan_hwaccel_receive_skb(lro_desc->parent, 312 - lro_desc->vgrp, 313 - lro_desc->vlan_tag); 314 - else 315 - vlan_hwaccel_rx(lro_desc->parent, 316 - lro_desc->vgrp, 317 - lro_desc->vlan_tag); 318 - 319 - } else { 320 - if (lro_mgr->features & LRO_F_NAPI) 321 - netif_receive_skb(lro_desc->parent); 322 - else 323 - netif_rx(lro_desc->parent); 324 - } 312 + if (lro_mgr->features & LRO_F_NAPI) 313 + netif_receive_skb(lro_desc->parent); 314 + else 315 + netif_rx(lro_desc->parent); 325 316 326 317 LRO_INC_STATS(lro_mgr, flushed); 327 318 lro_clear_desc(lro_desc); 328 319 } 329 320 330 321 static int __lro_proc_skb(struct net_lro_mgr *lro_mgr, struct sk_buff *skb, 331 - struct vlan_group *vgrp, u16 vlan_tag, void *priv) 322 + void *priv) 332 323 { 333 324 struct net_lro_desc *lro_desc; 334 325 struct iphdr *iph; ··· 345 360 goto out; 346 361 347 362 skb->ip_summed = lro_mgr->ip_summed_aggr; 348 - lro_init_desc(lro_desc, skb, iph, tcph, vlan_tag, vgrp); 363 + lro_init_desc(lro_desc, skb, iph, tcph); 349 364 LRO_INC_STATS(lro_mgr, aggregated); 350 365 return 0; 351 366 } ··· 418 433 static struct sk_buff *__lro_proc_segment(struct net_lro_mgr *lro_mgr, 419 434 struct skb_frag_struct *frags, 420 435 int len, int true_size, 421 - struct vlan_group *vgrp, 422 - u16 vlan_tag, void *priv, __wsum sum) 436 + void *priv, __wsum sum) 423 437 { 424 438 struct net_lro_desc *lro_desc; 425 439 struct iphdr *iph; ··· 464 480 tcph = (void *)((u8 *)skb->data + vlan_hdr_len 465 481 + IP_HDR_LEN(iph)); 466 482 467 - lro_init_desc(lro_desc, skb, iph, tcph, 0, NULL); 483 + lro_init_desc(lro_desc, skb, iph, tcph); 468 484 LRO_INC_STATS(lro_mgr, aggregated); 469 485 return NULL; 470 486 } ··· 498 514 struct sk_buff *skb, 499 515 void *priv) 500 516 { 501 - if (__lro_proc_skb(lro_mgr, skb, NULL, 0, priv)) { 517 + if (__lro_proc_skb(lro_mgr, skb, priv)) { 502 518 if (lro_mgr->features & LRO_F_NAPI) 503 519 netif_receive_skb(skb); 504 520 else ··· 513 529 { 514 530 struct sk_buff *skb; 515 531 516 - skb = __lro_proc_segment(lro_mgr, frags, len, true_size, NULL, 0, 517 - priv, sum); 532 + skb = __lro_proc_segment(lro_mgr, frags, len, true_size, priv, sum); 518 533 if (!skb) 519 534 return; 520 535