From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f66.google.com ([74.125.83.66]:40887 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965705AbeCSRyH (ORCPT ); Mon, 19 Mar 2018 13:54:07 -0400 Received: by mail-pg0-f66.google.com with SMTP id g8so7191822pgv.7 for ; Mon, 19 Mar 2018 10:54:06 -0700 (PDT) Date: Mon, 19 Mar 2018 10:54:03 -0700 From: Stephen Hemminger To: Roopa Prabhu Cc: dsahern@gmail.com, netdev@vger.kernel.org, nikolay@cumulusnetworks.com Subject: Re: [PATCH iproute2 net-next] bridge: add option extern_learn to set NTF_EXT_LEARNED on fdb entries Message-ID: <20180319105403.293d93ed@xeon-e3> In-Reply-To: <1521480010-47042-1-git-send-email-roopa@cumulusnetworks.com> References: <1521480010-47042-1-git-send-email-roopa@cumulusnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org List-ID: On Mon, 19 Mar 2018 10:20:10 -0700 Roopa Prabhu wrote: > From: Roopa Prabhu > > 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 > --- > 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?