bridge: add option extern_learn to set NTF_EXT_LEARNED on fdb entries

NTF_EXT_LEARNED can be set by a user on bridge fdb entry.
Provide a bridge command option to allow a user to set
NTF_EXT_LEARNED on a bridge fdb entry.

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
Roopa Prabhu 2018-03-19 10:20:10 -07:00 committed by David Ahern
parent 997f2dc193
commit b4f84bf8c9
2 changed files with 10 additions and 2 deletions

View File

@ -36,7 +36,7 @@ static void usage(void)
{
fprintf(stderr,
"Usage: bridge fdb { add | append | del | replace } ADDR dev DEV\n"
" [ self ] [ master ] [ use ] [ router ]\n"
" [ self ] [ master ] [ use ] [ router ] [ extern_learn ]\n"
" [ local | static | dynamic ] [ dst IPADDR ] [ vlan VID ]\n"
" [ port PORT] [ vni VNI ] [ via DEV ]\n"
" bridge fdb [ show [ br BRDEV ] [ brport DEV ] [ vlan VID ] [ state STATE ] ]\n");
@ -412,6 +412,8 @@ static int fdb_modify(int cmd, int flags, int argc, char **argv)
vid = atoi(*argv);
} else if (matches(*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, "to") == 0)
NEXT_ARG();

View File

@ -61,7 +61,7 @@ bridge \- show / manipulate bridge addresses and devices
.B dev
.IR DEV " { "
.BR local " | " static " | " dynamic " } [ "
.BR self " ] [ " master " ] [ " router " ] [ " use " ] [ "
.BR self " ] [ " master " ] [ " router " ] [ " use " ] [ " extern_learn " ] [ "
.B dst
.IR IPADDR " ] [ "
.B vni
@ -414,6 +414,12 @@ route shortcircuit enabled.
indicate to the kernel that the fdb entry is in use.
.sp
.B extern_learn
- this entry was learned externally. This option can be used to
indicate to the kernel that an entry was hardware or user-space
controller learnt dynamic entry. Kernel will not age such an entry.
.sp
.in -8
The next command line parameters apply only
when the specified device