Re: [PATCH 3/3] vxlan: virtual extensible lan
flat view
From: Jesse Gross <hidden>
Date: 2012-10-04 01:55:08
On Mon, Oct 1, 2012 at 3:32 PM, Stephen Hemminger [off-list ref] wrote:
quoted hunk ↗ jump to hunk
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ b/drivers/net/vxlan.c 2012-10-01 15:08:38.024499080 -0700 +/* Transmit local packets over Vxlan + * + * Outer IP header inherits ECN and DF from inner header. + * Outer UDP destination is the VXLAN assigned port. + * source port is based on hash of flow if available + * otherwise use a random value + */ +static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev)
[...]
+ hash = skb_get_rxhash(skb);
[...]
+ uh->dest = htons(vxlan_port); + uh->source = hash ? :random32();
I think this may lead to packet reordering in some cases. If the protocol is unknown then it may still represent part of a flow and random source ports could lead to taking different paths. Also, does it make sense to restrict the range of ports to, say, the upper half of the range?