mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 17:59:32 +00:00
net: dsa: move VLAN filtering setter
Move the DSA port code which sets VLAN filtering on a port in port.c, where it belongs. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cfbed329be
commit
4d61d3043b
3 changed files with 18 additions and 16 deletions
|
@ -66,6 +66,8 @@ int dsa_port_set_state(struct dsa_port *dp, u8 state,
|
|||
void dsa_port_set_state_now(struct dsa_port *dp, u8 state);
|
||||
int dsa_port_bridge_join(struct dsa_port *dp, struct net_device *br);
|
||||
void dsa_port_bridge_leave(struct dsa_port *dp, struct net_device *br);
|
||||
int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
|
||||
struct switchdev_trans *trans);
|
||||
|
||||
/* slave.c */
|
||||
extern const struct dsa_device_ops notag_netdev_ops;
|
||||
|
|
|
@ -111,3 +111,19 @@ void dsa_port_bridge_leave(struct dsa_port *dp, struct net_device *br)
|
|||
*/
|
||||
dsa_port_set_state_now(dp, BR_STATE_FORWARDING);
|
||||
}
|
||||
|
||||
int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
|
||||
struct switchdev_trans *trans)
|
||||
{
|
||||
struct dsa_switch *ds = dp->ds;
|
||||
|
||||
/* bridge skips -EOPNOTSUPP, so skip the prepare phase */
|
||||
if (switchdev_trans_ph_prepare(trans))
|
||||
return 0;
|
||||
|
||||
if (ds->ops->port_vlan_filtering)
|
||||
return ds->ops->port_vlan_filtering(ds, dp->index,
|
||||
vlan_filtering);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -338,22 +338,6 @@ static int dsa_slave_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
|||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
|
||||
struct switchdev_trans *trans)
|
||||
{
|
||||
struct dsa_switch *ds = dp->ds;
|
||||
|
||||
/* bridge skips -EOPNOTSUPP, so skip the prepare phase */
|
||||
if (switchdev_trans_ph_prepare(trans))
|
||||
return 0;
|
||||
|
||||
if (ds->ops->port_vlan_filtering)
|
||||
return ds->ops->port_vlan_filtering(ds, dp->index,
|
||||
vlan_filtering);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int dsa_fastest_ageing_time(struct dsa_switch *ds,
|
||||
unsigned int ageing_time)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue