net: Exempt multicast addresses from five-second neighbor lifetime
[sfrench/cifs-2.6.git] / net / core / neighbour.c
index 8e39e28b0a8dd8965c865cfc6d96522904b19a53..9500d28a43b0e1a390382912b6fb59db935e727b 100644 (file)
@@ -235,6 +235,8 @@ static int neigh_forced_gc(struct neigh_table *tbl)
 
                        write_lock(&n->lock);
                        if ((n->nud_state == NUD_FAILED) ||
+                           (tbl->is_multicast &&
+                            tbl->is_multicast(n->primary_key)) ||
                            time_after(tref, n->updated))
                                remove = true;
                        write_unlock(&n->lock);