On 1/23/17, 9:02 AM, Stephen Hemminger wrote: > On Fri, 20 Jan 2017 23:40:07 -0800 > Roopa Prabhu <ro...@cumulusnetworks.com> wrote: > >> + 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.