]> Pileus Git - ~andy/linux/blobdiff - net/ipv4/ip_gre.c
ipv4: be friend with drop monitor
[~andy/linux] / net / ipv4 / ip_gre.c
index d7aea4c5b9400efec37d15db3c5a896769d0da68..e7a92fdb36f61b779e04b1da45acf12312302c6b 100644 (file)
@@ -217,6 +217,7 @@ static int ipgre_rcv(struct sk_buff *skb, const struct tnl_ptk_info *tpi)
                                  iph->saddr, iph->daddr, tpi->key);
 
        if (tunnel) {
+               skb_pop_mac_header(skb);
                ip_tunnel_rcv(tunnel, skb, tpi, log_ecn_error);
                return PACKET_RCVD;
        }
@@ -277,7 +278,7 @@ static netdev_tx_t ipgre_xmit(struct sk_buff *skb,
        return NETDEV_TX_OK;
 
 free_skb:
-       dev_kfree_skb(skb);
+       kfree_skb(skb);
 out:
        dev->stats.tx_dropped++;
        return NETDEV_TX_OK;
@@ -300,7 +301,7 @@ static netdev_tx_t gre_tap_xmit(struct sk_buff *skb,
        return NETDEV_TX_OK;
 
 free_skb:
-       dev_kfree_skb(skb);
+       kfree_skb(skb);
 out:
        dev->stats.tx_dropped++;
        return NETDEV_TX_OK;