提交 9fea0330 编写于 作者: J Jiri Pirko 提交者: David S. Miller

lro: do vlan cleanup

- remove useless vlan parameters and pointers
Signed-off-by: NJiri Pirko <jpirko@redhat.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 0f725728
...@@ -50,7 +50,6 @@ struct net_lro_desc { ...@@ -50,7 +50,6 @@ struct net_lro_desc {
struct skb_frag_struct *next_frag; struct skb_frag_struct *next_frag;
struct iphdr *iph; struct iphdr *iph;
struct tcphdr *tcph; struct tcphdr *tcph;
struct vlan_group *vgrp;
__wsum data_csum; __wsum data_csum;
__be32 tcp_rcv_tsecr; __be32 tcp_rcv_tsecr;
__be32 tcp_rcv_tsval; __be32 tcp_rcv_tsval;
...@@ -60,7 +59,6 @@ struct net_lro_desc { ...@@ -60,7 +59,6 @@ struct net_lro_desc {
u16 ip_tot_len; u16 ip_tot_len;
u16 tcp_saw_tstamp; /* timestamps enabled */ u16 tcp_saw_tstamp; /* timestamps enabled */
__be16 tcp_window; __be16 tcp_window;
u16 vlan_tag;
int pkt_aggr_cnt; /* counts aggregated packets */ int pkt_aggr_cnt; /* counts aggregated packets */
int vlan_packet; int vlan_packet;
int mss; int mss;
......
...@@ -146,8 +146,7 @@ static __wsum lro_tcp_data_csum(struct iphdr *iph, struct tcphdr *tcph, int len) ...@@ -146,8 +146,7 @@ static __wsum lro_tcp_data_csum(struct iphdr *iph, struct tcphdr *tcph, int len)
} }
static void lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb, static void lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb,
struct iphdr *iph, struct tcphdr *tcph, struct iphdr *iph, struct tcphdr *tcph)
u16 vlan_tag, struct vlan_group *vgrp)
{ {
int nr_frags; int nr_frags;
__be32 *ptr; __be32 *ptr;
...@@ -173,8 +172,6 @@ static void lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb, ...@@ -173,8 +172,6 @@ static void lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb,
} }
lro_desc->mss = tcp_data_len; lro_desc->mss = tcp_data_len;
lro_desc->vgrp = vgrp;
lro_desc->vlan_tag = vlan_tag;
lro_desc->active = 1; lro_desc->active = 1;
lro_desc->data_csum = lro_tcp_data_csum(iph, tcph, lro_desc->data_csum = lro_tcp_data_csum(iph, tcph,
...@@ -309,29 +306,17 @@ static void lro_flush(struct net_lro_mgr *lro_mgr, ...@@ -309,29 +306,17 @@ static void lro_flush(struct net_lro_mgr *lro_mgr,
skb_shinfo(lro_desc->parent)->gso_size = lro_desc->mss; skb_shinfo(lro_desc->parent)->gso_size = lro_desc->mss;
if (lro_desc->vgrp) { if (lro_mgr->features & LRO_F_NAPI)
if (lro_mgr->features & LRO_F_NAPI) netif_receive_skb(lro_desc->parent);
vlan_hwaccel_receive_skb(lro_desc->parent, else
lro_desc->vgrp, netif_rx(lro_desc->parent);
lro_desc->vlan_tag);
else
vlan_hwaccel_rx(lro_desc->parent,
lro_desc->vgrp,
lro_desc->vlan_tag);
} else {
if (lro_mgr->features & LRO_F_NAPI)
netif_receive_skb(lro_desc->parent);
else
netif_rx(lro_desc->parent);
}
LRO_INC_STATS(lro_mgr, flushed); LRO_INC_STATS(lro_mgr, flushed);
lro_clear_desc(lro_desc); lro_clear_desc(lro_desc);
} }
static int __lro_proc_skb(struct net_lro_mgr *lro_mgr, struct sk_buff *skb, static int __lro_proc_skb(struct net_lro_mgr *lro_mgr, struct sk_buff *skb,
struct vlan_group *vgrp, u16 vlan_tag, void *priv) void *priv)
{ {
struct net_lro_desc *lro_desc; struct net_lro_desc *lro_desc;
struct iphdr *iph; struct iphdr *iph;
...@@ -360,7 +345,7 @@ static int __lro_proc_skb(struct net_lro_mgr *lro_mgr, struct sk_buff *skb, ...@@ -360,7 +345,7 @@ static int __lro_proc_skb(struct net_lro_mgr *lro_mgr, struct sk_buff *skb,
goto out; goto out;
skb->ip_summed = lro_mgr->ip_summed_aggr; skb->ip_summed = lro_mgr->ip_summed_aggr;
lro_init_desc(lro_desc, skb, iph, tcph, vlan_tag, vgrp); lro_init_desc(lro_desc, skb, iph, tcph);
LRO_INC_STATS(lro_mgr, aggregated); LRO_INC_STATS(lro_mgr, aggregated);
return 0; return 0;
} }
...@@ -433,8 +418,7 @@ static struct sk_buff *lro_gen_skb(struct net_lro_mgr *lro_mgr, ...@@ -433,8 +418,7 @@ static struct sk_buff *lro_gen_skb(struct net_lro_mgr *lro_mgr,
static struct sk_buff *__lro_proc_segment(struct net_lro_mgr *lro_mgr, static struct sk_buff *__lro_proc_segment(struct net_lro_mgr *lro_mgr,
struct skb_frag_struct *frags, struct skb_frag_struct *frags,
int len, int true_size, int len, int true_size,
struct vlan_group *vgrp, void *priv, __wsum sum)
u16 vlan_tag, void *priv, __wsum sum)
{ {
struct net_lro_desc *lro_desc; struct net_lro_desc *lro_desc;
struct iphdr *iph; struct iphdr *iph;
...@@ -480,7 +464,7 @@ static struct sk_buff *__lro_proc_segment(struct net_lro_mgr *lro_mgr, ...@@ -480,7 +464,7 @@ static struct sk_buff *__lro_proc_segment(struct net_lro_mgr *lro_mgr,
tcph = (void *)((u8 *)skb->data + vlan_hdr_len tcph = (void *)((u8 *)skb->data + vlan_hdr_len
+ IP_HDR_LEN(iph)); + IP_HDR_LEN(iph));
lro_init_desc(lro_desc, skb, iph, tcph, 0, NULL); lro_init_desc(lro_desc, skb, iph, tcph);
LRO_INC_STATS(lro_mgr, aggregated); LRO_INC_STATS(lro_mgr, aggregated);
return NULL; return NULL;
} }
...@@ -514,7 +498,7 @@ void lro_receive_skb(struct net_lro_mgr *lro_mgr, ...@@ -514,7 +498,7 @@ void lro_receive_skb(struct net_lro_mgr *lro_mgr,
struct sk_buff *skb, struct sk_buff *skb,
void *priv) void *priv)
{ {
if (__lro_proc_skb(lro_mgr, skb, NULL, 0, priv)) { if (__lro_proc_skb(lro_mgr, skb, priv)) {
if (lro_mgr->features & LRO_F_NAPI) if (lro_mgr->features & LRO_F_NAPI)
netif_receive_skb(skb); netif_receive_skb(skb);
else else
...@@ -529,8 +513,7 @@ void lro_receive_frags(struct net_lro_mgr *lro_mgr, ...@@ -529,8 +513,7 @@ void lro_receive_frags(struct net_lro_mgr *lro_mgr,
{ {
struct sk_buff *skb; struct sk_buff *skb;
skb = __lro_proc_segment(lro_mgr, frags, len, true_size, NULL, 0, skb = __lro_proc_segment(lro_mgr, frags, len, true_size, priv, sum);
priv, sum);
if (!skb) if (!skb)
return; return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册