diff options
| author | Roopa Prabhu <roopa@cumulusnetworks.com> | 2014-12-08 17:04:20 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-12-09 18:24:47 -0500 |
| commit | 1d460b988d97c5283e85c5bd00a7aafd5f1304b7 (patch) | |
| tree | 8e61f1d98fffb4f95364966bcb97a4bc051d91f0 | |
| parent | fc0bdbbc67c9f7307d41f415abb1165778fe803f (diff) | |
rocker: remove swdev mode
Remove use of 'swdev' mode in rocker. rocker dev offloads
can use the BRIDGE_FLAGS_SELF to indicate offload to hardware.
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/ethernet/rocker/rocker.c | 18 | ||||
| -rw-r--r-- | net/core/rtnetlink.c | 10 |
2 files changed, 9 insertions, 19 deletions
diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c index 55364359b868..2f398fa4b9e6 100644 --- a/drivers/net/ethernet/rocker/rocker.c +++ b/drivers/net/ethernet/rocker/rocker.c | |||
| @@ -3717,27 +3717,11 @@ static int rocker_port_bridge_setlink(struct net_device *dev, | |||
| 3717 | { | 3717 | { |
| 3718 | struct rocker_port *rocker_port = netdev_priv(dev); | 3718 | struct rocker_port *rocker_port = netdev_priv(dev); |
| 3719 | struct nlattr *protinfo; | 3719 | struct nlattr *protinfo; |
| 3720 | struct nlattr *afspec; | ||
| 3721 | struct nlattr *attr; | 3720 | struct nlattr *attr; |
| 3722 | u16 mode; | ||
| 3723 | int err; | 3721 | int err; |
| 3724 | 3722 | ||
| 3725 | protinfo = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), | 3723 | protinfo = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), |
| 3726 | IFLA_PROTINFO); | 3724 | IFLA_PROTINFO); |
| 3727 | afspec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC); | ||
| 3728 | |||
| 3729 | if (afspec) { | ||
| 3730 | attr = nla_find_nested(afspec, IFLA_BRIDGE_MODE); | ||
| 3731 | if (attr) { | ||
| 3732 | if (nla_len(attr) < sizeof(mode)) | ||
| 3733 | return -EINVAL; | ||
| 3734 | |||
| 3735 | mode = nla_get_u16(attr); | ||
| 3736 | if (mode != BRIDGE_MODE_SWDEV) | ||
| 3737 | return -EINVAL; | ||
| 3738 | } | ||
| 3739 | } | ||
| 3740 | |||
| 3741 | if (protinfo) { | 3725 | if (protinfo) { |
| 3742 | attr = nla_find_nested(protinfo, IFLA_BRPORT_LEARNING); | 3726 | attr = nla_find_nested(protinfo, IFLA_BRPORT_LEARNING); |
| 3743 | if (attr) { | 3727 | if (attr) { |
| @@ -3772,7 +3756,7 @@ static int rocker_port_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | |||
| 3772 | u32 filter_mask) | 3756 | u32 filter_mask) |
| 3773 | { | 3757 | { |
| 3774 | struct rocker_port *rocker_port = netdev_priv(dev); | 3758 | struct rocker_port *rocker_port = netdev_priv(dev); |
| 3775 | u16 mode = BRIDGE_MODE_SWDEV; | 3759 | u16 mode = BRIDGE_MODE_UNDEF; |
| 3776 | u32 mask = BR_LEARNING | BR_LEARNING_SYNC; | 3760 | u32 mask = BR_LEARNING | BR_LEARNING_SYNC; |
| 3777 | 3761 | ||
| 3778 | return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, | 3762 | return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, |
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index a9be2c161702..eaa057f14bcd 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
| @@ -2751,11 +2751,17 @@ int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | |||
| 2751 | if (!br_afspec) | 2751 | if (!br_afspec) |
| 2752 | goto nla_put_failure; | 2752 | goto nla_put_failure; |
| 2753 | 2753 | ||
| 2754 | if (nla_put_u16(skb, IFLA_BRIDGE_FLAGS, BRIDGE_FLAGS_SELF) || | 2754 | if (nla_put_u16(skb, IFLA_BRIDGE_FLAGS, BRIDGE_FLAGS_SELF)) { |
| 2755 | nla_put_u16(skb, IFLA_BRIDGE_MODE, mode)) { | ||
| 2756 | nla_nest_cancel(skb, br_afspec); | 2755 | nla_nest_cancel(skb, br_afspec); |
| 2757 | goto nla_put_failure; | 2756 | goto nla_put_failure; |
| 2758 | } | 2757 | } |
| 2758 | |||
| 2759 | if (mode != BRIDGE_MODE_UNDEF) { | ||
| 2760 | if (nla_put_u16(skb, IFLA_BRIDGE_MODE, mode)) { | ||
| 2761 | nla_nest_cancel(skb, br_afspec); | ||
| 2762 | goto nla_put_failure; | ||
| 2763 | } | ||
| 2764 | } | ||
| 2759 | nla_nest_end(skb, br_afspec); | 2765 | nla_nest_end(skb, br_afspec); |
| 2760 | 2766 | ||
| 2761 | protinfo = nla_nest_start(skb, IFLA_PROTINFO | NLA_F_NESTED); | 2767 | protinfo = nla_nest_start(skb, IFLA_PROTINFO | NLA_F_NESTED); |
