reverted:
--- a/drivers/net/phy/swconfig.c
+++ b/drivers/net/phy/swconfig.c
-@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb
+@@ -377,7 +377,7 @@ swconfig_dump_attr(struct swconfig_callb
int id = cb->args[0];
void *hdr;
NLM_F_MULTI, SWITCH_CMD_NEW_ATTR);
if (IS_ERR(hdr))
return -1;
-@@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, s
+@@ -799,7 +799,7 @@ swconfig_get_attr(struct sk_buff *skb, s
if (!msg)
goto error;
0, cmd);
if (IS_ERR(hdr))
goto nla_put_failure;
-@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct
+@@ -902,7 +902,7 @@ static int swconfig_dump_switches(struct
list_for_each_entry(dev, &swdevs, dev_list) {
if (++idx <= start)
continue;
--- a/include/linux/switch.h
+++ b/include/linux/switch.h
-@@ -13,11 +13,86 @@
+@@ -13,11 +13,95 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
+ SWITCH_ATTR_NAME,
+ SWITCH_ATTR_VLANS,
+ SWITCH_ATTR_PORTS,
++ SWITCH_ATTR_PORTMAP,
+ SWITCH_ATTR_CPU_PORT,
+ /* attributes */
+ SWITCH_ATTR_OP_ID,
+ SWITCH_ATTR_MAX
+};
+
++enum {
++ /* port map */
++ SWITCH_PORTMAP_PORTS,
++ SWITCH_PORTMAP_SEGMENT,
++ SWITCH_PORTMAP_VIRT,
++ SWITCH_PORTMAP_MAX
++};
++
+/* commands */
+enum {
+ SWITCH_CMD_UNSPEC,
struct switch_dev;
struct switch_op;
-@@ -157,4 +232,6 @@ struct switch_attr {
+@@ -164,4 +248,6 @@ struct switch_attr {
int max;
};
reverted:
--- a/drivers/net/phy/swconfig.c
+++ b/drivers/net/phy/swconfig.c
-@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb
+@@ -377,7 +377,7 @@ swconfig_dump_attr(struct swconfig_callb
int id = cb->args[0];
void *hdr;
NLM_F_MULTI, SWITCH_CMD_NEW_ATTR);
if (IS_ERR(hdr))
return -1;
-@@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, s
+@@ -799,7 +799,7 @@ swconfig_get_attr(struct sk_buff *skb, s
if (!msg)
goto error;
0, cmd);
if (IS_ERR(hdr))
goto nla_put_failure;
-@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct
+@@ -902,7 +902,7 @@ static int swconfig_dump_switches(struct
list_for_each_entry(dev, &swdevs, dev_list) {
if (++idx <= start)
continue;
--- a/include/linux/switch.h
+++ b/include/linux/switch.h
-@@ -13,11 +13,86 @@
+@@ -13,11 +13,95 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
+ SWITCH_ATTR_NAME,
+ SWITCH_ATTR_VLANS,
+ SWITCH_ATTR_PORTS,
++ SWITCH_ATTR_PORTMAP,
+ SWITCH_ATTR_CPU_PORT,
+ /* attributes */
+ SWITCH_ATTR_OP_ID,
+ SWITCH_ATTR_MAX
+};
+
++enum {
++ /* port map */
++ SWITCH_PORTMAP_PORTS,
++ SWITCH_PORTMAP_SEGMENT,
++ SWITCH_PORTMAP_VIRT,
++ SWITCH_PORTMAP_MAX
++};
++
+/* commands */
+enum {
+ SWITCH_CMD_UNSPEC,
struct switch_dev;
struct switch_op;
-@@ -157,4 +232,6 @@ struct switch_attr {
+@@ -164,4 +248,6 @@ struct switch_attr {
int max;
};