openvswitch: Use dev_queue_xmit for vport send.
With use of lwtunnel, we can directly call dev_queue_xmit() rather than calling netdev vport send operation. Following change make tunnel vport code bit cleaner. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Thomas Graf <tgraf@suug.ch> Acked-by: Jiri Benc <jbenc@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
99e28f18e3
commit
aec1592474
@@ -202,22 +202,21 @@ static void internal_dev_destroy(struct vport *vport)
|
||||
rtnl_unlock();
|
||||
}
|
||||
|
||||
static void internal_dev_recv(struct vport *vport, struct sk_buff *skb)
|
||||
static netdev_tx_t internal_dev_recv(struct sk_buff *skb)
|
||||
{
|
||||
struct net_device *netdev = vport->dev;
|
||||
struct net_device *netdev = skb->dev;
|
||||
struct pcpu_sw_netstats *stats;
|
||||
|
||||
if (unlikely(!(netdev->flags & IFF_UP))) {
|
||||
kfree_skb(skb);
|
||||
netdev->stats.rx_dropped++;
|
||||
return;
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
skb_dst_drop(skb);
|
||||
nf_reset(skb);
|
||||
secpath_reset(skb);
|
||||
|
||||
skb->dev = netdev;
|
||||
skb->pkt_type = PACKET_HOST;
|
||||
skb->protocol = eth_type_trans(skb, netdev);
|
||||
skb_postpull_rcsum(skb, eth_hdr(skb), ETH_HLEN);
|
||||
@@ -229,6 +228,7 @@ static void internal_dev_recv(struct vport *vport, struct sk_buff *skb)
|
||||
u64_stats_update_end(&stats->syncp);
|
||||
|
||||
netif_rx(skb);
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
static struct vport_ops ovs_internal_vport_ops = {
|
||||
|
Reference in New Issue
Block a user