From: Roopa Prabhu Date: Mon, 19 Mar 2018 17:20:10 +0000 (-0700) Subject: bridge: add option extern_learn to set NTF_EXT_LEARNED on fdb entries X-Git-Tag: v4.17.0~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4f84bf8c9ac1a5d08437bad187c46d0793f50ea;p=thirdparty%2Fiproute2.git 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 Signed-off-by: David Ahern --- diff --git a/bridge/fdb.c b/bridge/fdb.c index 205b4faa9..4dbc894ce 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 05512b029..e7f714831 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