Message ID | 1417935267-6000-3-git-send-email-roopa@cumulusnetworks.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On 12/06/14 at 10:54pm, roopa@cumulusnetworks.com wrote: > From: Roopa Prabhu <roopa@cumulusnetworks.com> > > Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> > --- > drivers/net/ethernet/rocker/rocker.c | 18 +----------------- > include/linux/rtnetlink.h | 2 +- > net/core/rtnetlink.c | 12 +++++++++--- > 3 files changed, 11 insertions(+), 21 deletions(-) > > diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c > index fded127..9f1d256 100644 > --- a/drivers/net/ethernet/rocker/rocker.c > +++ b/drivers/net/ethernet/rocker/rocker.c > @@ -3755,7 +3739,7 @@ static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, > u32 filter_mask) > { > struct rocker_port *rocker_port = netdev_priv(dev); > - u16 mode = BRIDGE_MODE_SWDEV; > + u16 mode = -1; ^^^ I assume you meant s16 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12/7/14, 12:19 AM, Thomas Graf wrote: > On 12/06/14 at 10:54pm, roopa@cumulusnetworks.com wrote: >> From: Roopa Prabhu <roopa@cumulusnetworks.com> >> >> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> >> --- >> drivers/net/ethernet/rocker/rocker.c | 18 +----------------- >> include/linux/rtnetlink.h | 2 +- >> net/core/rtnetlink.c | 12 +++++++++--- >> 3 files changed, 11 insertions(+), 21 deletions(-) >> >> diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c >> index fded127..9f1d256 100644 >> --- a/drivers/net/ethernet/rocker/rocker.c >> +++ b/drivers/net/ethernet/rocker/rocker.c >> @@ -3755,7 +3739,7 @@ static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, >> u32 filter_mask) >> { >> struct rocker_port *rocker_port = netdev_priv(dev); >> - u16 mode = BRIDGE_MODE_SWDEV; >> + u16 mode = -1; > ^^^ > > I assume you meant s16 > yes :(...i thought i had covered all places....missed this one...resubmitting .. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Sun, Dec 07, 2014 at 09:19:28AM CET, tgraf@suug.ch wrote: >On 12/06/14 at 10:54pm, roopa@cumulusnetworks.com wrote: >> From: Roopa Prabhu <roopa@cumulusnetworks.com> >> >> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> >> --- >> drivers/net/ethernet/rocker/rocker.c | 18 +----------------- >> include/linux/rtnetlink.h | 2 +- >> net/core/rtnetlink.c | 12 +++++++++--- >> 3 files changed, 11 insertions(+), 21 deletions(-) >> >> diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c >> index fded127..9f1d256 100644 >> --- a/drivers/net/ethernet/rocker/rocker.c >> +++ b/drivers/net/ethernet/rocker/rocker.c >> @@ -3755,7 +3739,7 @@ static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, >> u32 filter_mask) >> { >> struct rocker_port *rocker_port = netdev_priv(dev); >> - u16 mode = BRIDGE_MODE_SWDEV; >> + u16 mode = -1; > ^^^ > >I assume you meant s16 well, I see no problem in using u16. IFLA_BRIDGE_MODE attr is u16 so mode should stay u16. But maybe better to add: #define BRIDGE_MODE_UNDEF 0xFFFF ? > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12/08/2014 12:03 PM, Jiri Pirko wrote: > Sun, Dec 07, 2014 at 09:19:28AM CET, tgraf@suug.ch wrote: >> On 12/06/14 at 10:54pm, roopa@cumulusnetworks.com wrote: >>> From: Roopa Prabhu <roopa@cumulusnetworks.com> >>> Please provide a normal, non-empty commit message as everyone else ... >>> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> ... >>> diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c >>> index fded127..9f1d256 100644 >>> --- a/drivers/net/ethernet/rocker/rocker.c >>> +++ b/drivers/net/ethernet/rocker/rocker.c >>> @@ -3755,7 +3739,7 @@ static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, >>> u32 filter_mask) >>> { >>> struct rocker_port *rocker_port = netdev_priv(dev); >>> - u16 mode = BRIDGE_MODE_SWDEV; >>> + u16 mode = -1; >> ^^^ >> I assume you meant s16 > > well, I see no problem in using u16. IFLA_BRIDGE_MODE attr is u16 so > mode should stay u16. > > But maybe better to add: > #define BRIDGE_MODE_UNDEF 0xFFFF Yep, something along these lines seems better. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12/08/14 at 12:41pm, Daniel Borkmann wrote: > On 12/08/2014 12:03 PM, Jiri Pirko wrote: > >well, I see no problem in using u16. IFLA_BRIDGE_MODE attr is u16 so > >mode should stay u16. > > > >But maybe better to add: > >#define BRIDGE_MODE_UNDEF 0xFFFF > > Yep, something along these lines seems better. Using u16 is fine but then all occurences should use it as opposed to mixed s16/u16 usage as in v3. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c index fded127..9f1d256 100644 --- a/drivers/net/ethernet/rocker/rocker.c +++ b/drivers/net/ethernet/rocker/rocker.c @@ -3700,27 +3700,11 @@ static int rocker_port_bridge_setlink(struct net_device *dev, { struct rocker_port *rocker_port = netdev_priv(dev); struct nlattr *protinfo; - struct nlattr *afspec; struct nlattr *attr; - u16 mode; int err; protinfo = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_PROTINFO); - afspec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC); - - if (afspec) { - attr = nla_find_nested(afspec, IFLA_BRIDGE_MODE); - if (attr) { - if (nla_len(attr) < sizeof(mode)) - return -EINVAL; - - mode = nla_get_u16(attr); - if (mode != BRIDGE_MODE_SWDEV) - return -EINVAL; - } - } - if (protinfo) { attr = nla_find_nested(protinfo, IFLA_BRPORT_LEARNING); if (attr) { @@ -3755,7 +3739,7 @@ static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, u32 filter_mask) { struct rocker_port *rocker_port = netdev_priv(dev); - u16 mode = BRIDGE_MODE_SWDEV; + u16 mode = -1; u32 mask = BR_LEARNING | BR_LEARNING_SYNC; return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 3b04190..dcfa06b 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h @@ -103,6 +103,6 @@ extern int ndo_dflt_fdb_del(struct ndmsg *ndm, u16 vid); extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, - struct net_device *dev, u16 mode, + struct net_device *dev, s16 mode, u32 flags, u32 mask); #endif /* __LINUX_RTNETLINK_H */ diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 61cb7e7..b4e04b9 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -2696,7 +2696,7 @@ static int brport_nla_put_flag(struct sk_buff *skb, u32 flags, u32 mask, } int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, - struct net_device *dev, u16 mode, + struct net_device *dev, s16 mode, u32 flags, u32 mask) { struct nlmsghdr *nlh; @@ -2734,11 +2734,17 @@ int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, if (!br_afspec) goto nla_put_failure; - if (nla_put_u16(skb, IFLA_BRIDGE_FLAGS, BRIDGE_FLAGS_SELF) || - nla_put_u16(skb, IFLA_BRIDGE_MODE, mode)) { + if (nla_put_u16(skb, IFLA_BRIDGE_FLAGS, BRIDGE_FLAGS_SELF)) { nla_nest_cancel(skb, br_afspec); goto nla_put_failure; } + + if (mode >= 0) { + if (nla_put_u16(skb, IFLA_BRIDGE_MODE, mode)) { + nla_nest_cancel(skb, br_afspec); + goto nla_put_failure; + } + } nla_nest_end(skb, br_afspec); protinfo = nla_nest_start(skb, IFLA_PROTINFO | NLA_F_NESTED);