diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-02-22 02:30:40 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-25 15:47:41 -0500 |
commit | 8dc98eb2e8ccfbfb90348f8dc42f4a528a8a9961 (patch) | |
tree | 649e89e4d615380aceec12a958b649bd9287d107 /drivers/net/vxlan.c | |
parent | 490ab08127cebc25e3a260a74556b56ce5f47c0f (diff) |
VXLAN: Use tunnel_ip_select_ident() for tunnel IP-Identification.
tunnel_ip_select_ident() is more efficient when generating ip-header
id given inner packet is of ipv4 type.
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r-- | drivers/net/vxlan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 9d70421cf3a0..f736823f8437 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <net/arp.h> | 33 | #include <net/arp.h> |
34 | #include <net/ndisc.h> | 34 | #include <net/ndisc.h> |
35 | #include <net/ip.h> | 35 | #include <net/ip.h> |
36 | #include <net/ipip.h> | ||
36 | #include <net/icmp.h> | 37 | #include <net/icmp.h> |
37 | #include <net/udp.h> | 38 | #include <net/udp.h> |
38 | #include <net/rtnetlink.h> | 39 | #include <net/rtnetlink.h> |
@@ -962,13 +963,13 @@ static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev) | |||
962 | iph->daddr = dst; | 963 | iph->daddr = dst; |
963 | iph->saddr = fl4.saddr; | 964 | iph->saddr = fl4.saddr; |
964 | iph->ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); | 965 | iph->ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); |
966 | tunnel_ip_select_ident(skb, old_iph, &rt->dst); | ||
965 | 967 | ||
966 | vxlan_set_owner(dev, skb); | 968 | vxlan_set_owner(dev, skb); |
967 | 969 | ||
968 | /* See iptunnel_xmit() */ | 970 | /* See iptunnel_xmit() */ |
969 | if (skb->ip_summed != CHECKSUM_PARTIAL) | 971 | if (skb->ip_summed != CHECKSUM_PARTIAL) |
970 | skb->ip_summed = CHECKSUM_NONE; | 972 | skb->ip_summed = CHECKSUM_NONE; |
971 | ip_select_ident(iph, &rt->dst, NULL); | ||
972 | 973 | ||
973 | err = ip_local_out(skb); | 974 | err = ip_local_out(skb); |
974 | if (likely(net_xmit_eval(err) == 0)) { | 975 | if (likely(net_xmit_eval(err) == 0)) { |