CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2017/02/28 02:50:13
Modified files:
sys/net : rtable.c art.c art.h
Log message:
Prevent a MP race in rtable_lookup().
If an ART node is linked to multiple route entries, in the MPATH case,
it is not safe to dereference ``an_dst''. This non-refcounted pointer
can be changed at any time by another CPU.
So get rid of the pointer and use the first destination of a route entry
when comparing sockaddrs.
This allows us so remove a pointer from 'struct art_node' and save 5Mb of
memory in an IPv4 fullfeed.
ok jmatthew@, claudio@, dlg@