diff --git a/ip/ipneigh.c b/ip/ipneigh.c index a8006f94..874c9033 100644 --- a/ip/ipneigh.c +++ b/ip/ipneigh.c @@ -51,7 +51,7 @@ static void usage(void) fprintf(stderr, "Usage: ip neigh { add | del | change | replace }\n" " { ADDR [ lladdr LLADDR ] [ nud STATE ] proxy ADDR }\n" - " [ dev DEV ] [ router ] [ extern_learn ] [ protocol PROTO ]\n" + " [ dev DEV ] [ router ] [ use ] [ extern_learn ] [ protocol PROTO ]\n" "\n" " ip neigh { show | flush } [ proxy ] [ to PREFIX ] [ dev DEV ] [ nud STATE ]\n" " [ vrf NAME ] [ nomaster ]\n" @@ -148,6 +148,8 @@ static int ipneigh_modify(int cmd, int flags, int argc, char **argv) req.ndm.ndm_flags |= NTF_PROXY; } else if (strcmp(*argv, "router") == 0) { req.ndm.ndm_flags |= NTF_ROUTER; + } else if (strcmp(*argv, "use") == 0) { + req.ndm.ndm_flags |= NTF_USE; } else if (matches(*argv, "extern_learn") == 0) { req.ndm.ndm_flags |= NTF_EXT_LEARNED; } else if (strcmp(*argv, "dev") == 0) { diff --git a/man/man8/ip-neighbour.8 b/man/man8/ip-neighbour.8 index 02862964..3001cd01 100644 --- a/man/man8/ip-neighbour.8 +++ b/man/man8/ip-neighbour.8 @@ -25,6 +25,7 @@ ip-neighbour \- neighbour/arp tables management. .B dev .IR DEV " ] [ " .BR router " ] [ " +.BR use " ] [ " .BR extern_learn " ]" .ti -8 @@ -92,6 +93,13 @@ indicates whether we are proxying for this neighbour entry .BI router indicates whether neighbour is a router +.TP +.BI use +this neigh entry is in "use". This option can be used to indicate to +the kernel that a controller is using this dynamic entry. If the entry +does not exist, the kernel will resolve it. If it exists, an attempt +to refresh the neighbor entry will be triggered. + .TP .BI extern_learn this neigh entry was learned externally. This option can be used to