On 3/19/18 11:54 AM, Stephen Hemminger wrote: > On Mon, 19 Mar 2018 10:20:10 -0700 > Roopa Prabhu <ro...@cumulusnetworks.com> wrote: > >> From: Roopa Prabhu <ro...@cumulusnetworks.com> >> >> 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 <ro...@cumulusnetworks.com> >> --- >> bridge/fdb.c | 4 +++- >> man/man8/bridge.8 | 8 +++++++- >> 2 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/bridge/fdb.c b/bridge/fdb.c >> index 205b4fa..4dbc894 100644 >> --- a/bridge/fdb.c >> +++ b/bridge/fdb.c >> @@ -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(); >> diff --git a/man/man8/bridge.8 b/man/man8/bridge.8 >> index 05512b0..e7f7148 100644 >> --- a/man/man8/bridge.8 >> +++ b/man/man8/bridge.8 >> @@ -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 > > > What about displaying the flag as well? >
Also, I believe other commands have converged on 'external' for the keyword.