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 | |
| 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>
| -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)) { |
