vlan_deaccel_tag() was introduced to move a vlan tag from skb->vlan_tci
to the packet but there was still an open coded variant when doing
an upcall. vlan_deaccel_tag() also clears skb->vlan_tci which is not
currently done but it makes no difference.
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
#include "flow.h"
#include "loop_counter.h"
#include "table.h"
+#include "vlan.h"
#include "vport-internal_dev.h"
int (*dp_ioctl_hook)(struct net_device *dev, struct ifreq *rq, int cmd);
nskb = skb->next;
skb->next = NULL;
- if (vlan_tx_tag_present(skb)) {
- skb = __vlan_put_tag(skb, vlan_tx_tag_get(skb));
- if (unlikely(!skb)) {
- err = -ENOMEM;
- goto err_kfree_skbs;
- }
- }
+ err = vlan_deaccel_tag(skb);
+ if (unlikely(err))
+ goto err_kfree_skbs;
len = sizeof(struct odp_header);
len += nla_total_size(skb->len);