On 1/23/17, 9:02 AM, Stephen Hemminger wrote:
On Fri, 20 Jan 2017 23:40:07 -0800
Roopa Prabhu [off-list ref] wrote:
quoted
+ if (!vxlan_addr_equal(&rd->remote_ip, ip) ||
+ rd->remote_port != port ||
+ rd->remote_vni != vni ||
+ rd->remote_ifindex != ifindex) {
+ dst_cache_reset(&rd->dst_cache);
+ rd->remote_ip = *ip;
+ rd->remote_port = port;
+ rd->remote_vni = vni;
+ rd->remote_ifindex = ifindex;
+ return 1;
+ }
+
I think it would be clearer if negative logic was avoided.
if (vxlan_addr_equal(&rd->remote_ip, ip) &&
rd->remote_port == port &&
rd->remote_vni == vni &&
rd->ermote_ifindex == ifndex)
return 1;
dst_cache_reset ...
ack, this was an accidental hit on send as well.
It is on my upstream patch stack..but i think this patch is not really needed upstream because
a previous call to vxlan_fdb_find_rdst in vxlan_fdb_replace does the same thing.
I will test again and repost if needed, thanks.