On 10/11/21 6:12 AM, Daniel Borkmann wrote: > Currently, it is not possible to migrate a neighbor entry between NUD_PERMANENT > state and NTF_USE flag with a dynamic NUD state from a user space control plane. > Similarly, it is not possible to add/remove NTF_EXT_LEARNED flag from an existing > neighbor entry in combination with NTF_USE flag. > > This is due to the latter directly calling into neigh_event_send() without any > meta data updates as happening in __neigh_update(). Thus, to enable this use > case, extend the latter with a NEIGH_UPDATE_F_USE flag where we break the > NUD_PERMANENT state in particular so that a latter neigh_event_send() is able > to re-resolve a neighbor entry. > ... > > Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> > Acked-by: Roopa Prabhu <roopa@xxxxxxxxxx> > --- > include/net/neighbour.h | 1 + > net/core/neighbour.c | 22 +++++++++++++--------- > 2 files changed, 14 insertions(+), 9 deletions(-) > Reviewed-by: David Ahern <dsahern@xxxxxxxxxx>