mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-24 13:28:33 +00:00
ramips: fix reporting effective VLAN ID on MT7621 switches
On MT7621, the REG_ESW_VLAN_VTIM reads are undefined, causing swconfig to always report `vid: 0` in swconfig show output. Since a 4K VLAN table is used on this platform, the VLAN ID always correponds to the actual VLAN table index so provide a specific MT7621 implementation of the get_vid callback which returns the table index as VLAN ID. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
341b1427fc
commit
dc7a1e8555
@ -478,6 +478,14 @@ mt7530_set_vid(struct switch_dev *dev, const struct switch_attr *attr,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
mt7621_get_vid(struct switch_dev *dev, const struct switch_attr *attr,
|
||||||
|
struct switch_val *val)
|
||||||
|
{
|
||||||
|
val->value.i = val->port_vlan;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
mt7530_get_vid(struct switch_dev *dev, const struct switch_attr *attr,
|
mt7530_get_vid(struct switch_dev *dev, const struct switch_attr *attr,
|
||||||
struct switch_val *val)
|
struct switch_val *val)
|
||||||
@ -835,6 +843,17 @@ static const struct switch_attr mt7621_port[] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct switch_attr mt7621_vlan[] = {
|
||||||
|
{
|
||||||
|
.type = SWITCH_TYPE_INT,
|
||||||
|
.name = "vid",
|
||||||
|
.description = "VLAN ID (0-4094)",
|
||||||
|
.set = mt7530_set_vid,
|
||||||
|
.get = mt7621_get_vid,
|
||||||
|
.max = 4094,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static const struct switch_attr mt7530_port[] = {
|
static const struct switch_attr mt7530_port[] = {
|
||||||
{
|
{
|
||||||
.type = SWITCH_TYPE_STRING,
|
.type = SWITCH_TYPE_STRING,
|
||||||
@ -866,8 +885,8 @@ static const struct switch_dev_ops mt7621_ops = {
|
|||||||
.n_attr = ARRAY_SIZE(mt7621_port),
|
.n_attr = ARRAY_SIZE(mt7621_port),
|
||||||
},
|
},
|
||||||
.attr_vlan = {
|
.attr_vlan = {
|
||||||
.attr = mt7530_vlan,
|
.attr = mt7621_vlan,
|
||||||
.n_attr = ARRAY_SIZE(mt7530_vlan),
|
.n_attr = ARRAY_SIZE(mt7621_vlan),
|
||||||
},
|
},
|
||||||
.get_vlan_ports = mt7530_get_vlan_ports,
|
.get_vlan_ports = mt7530_get_vlan_ports,
|
||||||
.set_vlan_ports = mt7530_set_vlan_ports,
|
.set_vlan_ports = mt7530_set_vlan_ports,
|
||||||
|
Loading…
Reference in New Issue
Block a user