datapath: Use multicast groups allocated for upcalls.
authorJesse Gross <jesse@nicira.com>
Sat, 29 Jan 2011 02:18:25 +0000 (18:18 -0800)
committerJesse Gross <jesse@nicira.com>
Sat, 29 Jan 2011 16:04:31 +0000 (08:04 -0800)
commitaa5a8fdca51153d25be8a90e3121cdeff011b684
tree19bfb16b8138809478029bfcca884f278b42a94c
parente39da210335fdc681bb7adab6f34c9331f4864a6
datapath: Use multicast groups allocated for upcalls.

We allocate a number of multicast groups and stripe upcalls across
them using a hash function.  However, instead of using the ID of
the selected group for the upcall multicast we were directly using
the output of the hash function.  In the best case this leads to
intermittent failures when we choose an invalid group ID (such as
0) or in the worse case could lead to access of unallocated memory.
This fixes that by looking up the group we have been allocated.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/datapath.c