diff options
Diffstat (limited to 'net/openvswitch/vport-netdev.c')
-rw-r--r-- | net/openvswitch/vport-netdev.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c index 4f01c6d2ffa4..40de815b4213 100644 --- a/net/openvswitch/vport-netdev.c +++ b/net/openvswitch/vport-netdev.c | |||
@@ -49,6 +49,8 @@ static void netdev_port_receive(struct vport *vport, struct sk_buff *skb) | |||
49 | return; | 49 | return; |
50 | 50 | ||
51 | skb_push(skb, ETH_HLEN); | 51 | skb_push(skb, ETH_HLEN); |
52 | ovs_skb_postpush_rcsum(skb, skb->data, ETH_HLEN); | ||
53 | |||
52 | ovs_vport_receive(vport, skb); | 54 | ovs_vport_receive(vport, skb); |
53 | return; | 55 | return; |
54 | 56 | ||
@@ -170,7 +172,7 @@ static int netdev_send(struct vport *vport, struct sk_buff *skb) | |||
170 | net_warn_ratelimited("%s: dropped over-mtu packet: %d > %d\n", | 172 | net_warn_ratelimited("%s: dropped over-mtu packet: %d > %d\n", |
171 | netdev_vport->dev->name, | 173 | netdev_vport->dev->name, |
172 | packet_length(skb), mtu); | 174 | packet_length(skb), mtu); |
173 | goto error; | 175 | goto drop; |
174 | } | 176 | } |
175 | 177 | ||
176 | skb->dev = netdev_vport->dev; | 178 | skb->dev = netdev_vport->dev; |
@@ -179,9 +181,8 @@ static int netdev_send(struct vport *vport, struct sk_buff *skb) | |||
179 | 181 | ||
180 | return len; | 182 | return len; |
181 | 183 | ||
182 | error: | 184 | drop: |
183 | kfree_skb(skb); | 185 | kfree_skb(skb); |
184 | ovs_vport_record_error(vport, VPORT_E_TX_DROPPED); | ||
185 | return 0; | 186 | return 0; |
186 | } | 187 | } |
187 | 188 | ||