]> Pileus Git - ~andy/linux/blobdiff - drivers/net/vxlan.c
hlist: drop the node parameter from iterators
[~andy/linux] / drivers / net / vxlan.c
index 9d70421cf3a04e5eace7f079e38ad75c36709713..f10e58ac9c1b6078527ecbc88b2c59fe54d4ea66 100644 (file)
@@ -33,6 +33,7 @@
 #include <net/arp.h>
 #include <net/ndisc.h>
 #include <net/ip.h>
+#include <net/ipip.h>
 #include <net/icmp.h>
 #include <net/udp.h>
 #include <net/rtnetlink.h>
@@ -144,9 +145,8 @@ static inline struct hlist_head *vni_head(struct net *net, u32 id)
 static struct vxlan_dev *vxlan_find_vni(struct net *net, u32 id)
 {
        struct vxlan_dev *vxlan;
-       struct hlist_node *node;
 
-       hlist_for_each_entry_rcu(vxlan, node, vni_head(net, id), hlist) {
+       hlist_for_each_entry_rcu(vxlan, vni_head(net, id), hlist) {
                if (vxlan->vni == id)
                        return vxlan;
        }
@@ -291,9 +291,8 @@ static struct vxlan_fdb *vxlan_find_mac(struct vxlan_dev *vxlan,
 {
        struct hlist_head *head = vxlan_fdb_head(vxlan, mac);
        struct vxlan_fdb *f;
-       struct hlist_node *node;
 
-       hlist_for_each_entry_rcu(f, node, head, hlist) {
+       hlist_for_each_entry_rcu(f, head, hlist) {
                if (compare_ether_addr(mac, f->eth_addr) == 0)
                        return f;
        }
@@ -421,10 +420,9 @@ static int vxlan_fdb_dump(struct sk_buff *skb, struct netlink_callback *cb,
 
        for (h = 0; h < FDB_HASH_SIZE; ++h) {
                struct vxlan_fdb *f;
-               struct hlist_node *n;
                int err;
 
-               hlist_for_each_entry_rcu(f, n, &vxlan->fdb_head[h], hlist) {
+               hlist_for_each_entry_rcu(f, &vxlan->fdb_head[h], hlist) {
                        if (idx < cb->args[0])
                                goto skip;
 
@@ -482,11 +480,10 @@ static bool vxlan_group_used(struct vxlan_net *vn,
                             const struct vxlan_dev *this)
 {
        const struct vxlan_dev *vxlan;
-       struct hlist_node *node;
        unsigned h;
 
        for (h = 0; h < VNI_HASH_SIZE; ++h)
-               hlist_for_each_entry(vxlan, node, &vn->vni_list[h], hlist) {
+               hlist_for_each_entry(vxlan, &vn->vni_list[h], hlist) {
                        if (vxlan == this)
                                continue;
 
@@ -962,13 +959,13 @@ static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev)
        iph->daddr      = dst;
        iph->saddr      = fl4.saddr;
        iph->ttl        = ttl ? : ip4_dst_hoplimit(&rt->dst);
+       tunnel_ip_select_ident(skb, old_iph, &rt->dst);
 
        vxlan_set_owner(dev, skb);
 
        /* See iptunnel_xmit() */
        if (skb->ip_summed != CHECKSUM_PARTIAL)
                skb->ip_summed = CHECKSUM_NONE;
-       ip_select_ident(iph, &rt->dst, NULL);
 
        err = ip_local_out(skb);
        if (likely(net_xmit_eval(err) == 0)) {