Thread (37 messages) 37 messages, 5 authors, 2013-06-05

Re: [PATCH net-next v3 2/2] vxlan: allow specifying multiple default destinations

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-06-03 15:57:41

On Sun, 2 Jun 2013 13:29:42 +0300
Mike Rapoport [off-list ref] wrote:
On Fri, May 31, 2013 at 7:17 PM, Stephen Hemminger [off-list ref] wrote:
quoted
Looking at this code in more detail, I see a slew of problems.

First the list of destinations isn't really a list. The default one is still
embedded in the fdb entry. This means you can't change it safely.

Also the notification via netlink only sends back a single destination
value.

And the lack of locking on the open coded link list means it is not safe since
the forwarding table is used with RCU. In order to be safe, proper RCU
barriers would be needed or better yet convert to list_rcu..

Overall, I feel guilty for not inspecting this more closely and am surprised
that others did not catch the lack of locking.
I've tried to convert remotes list to use hlist_rcu. The patch below implements the conversion, but it does not address the netlink notification issue.

Ok, let me have a go at this.
1. Using list rather than hlist makes more sense for handling simple list
2. The complexity is in how do do the netlink API.

3. If we can't work this out for 3.11, the multiple remotes may have to be reverted;
   I don't want the existing API to be exposed in a release
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help