net: mscc: ocelot: unexport ocelot_port_fdb_do_dump from the common lib
ocelot_port_fdb_do_dump() is only used by ocelot_net.c, so move it there. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fe90104cd6
commit
97076c3cc9
@ -1366,50 +1366,6 @@ int ocelot_fdb_del(struct ocelot *ocelot, int port, const unsigned char *addr,
|
||||
}
|
||||
EXPORT_SYMBOL(ocelot_fdb_del);
|
||||
|
||||
int ocelot_port_fdb_do_dump(const unsigned char *addr, u16 vid,
|
||||
bool is_static, void *data)
|
||||
{
|
||||
struct ocelot_dump_ctx *dump = data;
|
||||
u32 portid = NETLINK_CB(dump->cb->skb).portid;
|
||||
u32 seq = dump->cb->nlh->nlmsg_seq;
|
||||
struct nlmsghdr *nlh;
|
||||
struct ndmsg *ndm;
|
||||
|
||||
if (dump->idx < dump->cb->args[2])
|
||||
goto skip;
|
||||
|
||||
nlh = nlmsg_put(dump->skb, portid, seq, RTM_NEWNEIGH,
|
||||
sizeof(*ndm), NLM_F_MULTI);
|
||||
if (!nlh)
|
||||
return -EMSGSIZE;
|
||||
|
||||
ndm = nlmsg_data(nlh);
|
||||
ndm->ndm_family = AF_BRIDGE;
|
||||
ndm->ndm_pad1 = 0;
|
||||
ndm->ndm_pad2 = 0;
|
||||
ndm->ndm_flags = NTF_SELF;
|
||||
ndm->ndm_type = 0;
|
||||
ndm->ndm_ifindex = dump->dev->ifindex;
|
||||
ndm->ndm_state = is_static ? NUD_NOARP : NUD_REACHABLE;
|
||||
|
||||
if (nla_put(dump->skb, NDA_LLADDR, ETH_ALEN, addr))
|
||||
goto nla_put_failure;
|
||||
|
||||
if (vid && nla_put_u16(dump->skb, NDA_VLAN, vid))
|
||||
goto nla_put_failure;
|
||||
|
||||
nlmsg_end(dump->skb, nlh);
|
||||
|
||||
skip:
|
||||
dump->idx++;
|
||||
return 0;
|
||||
|
||||
nla_put_failure:
|
||||
nlmsg_cancel(dump->skb, nlh);
|
||||
return -EMSGSIZE;
|
||||
}
|
||||
EXPORT_SYMBOL(ocelot_port_fdb_do_dump);
|
||||
|
||||
/* Caller must hold &ocelot->mact_lock */
|
||||
static int ocelot_mact_read(struct ocelot *ocelot, int port, int row, int col,
|
||||
struct ocelot_mact_entry *entry)
|
||||
|
@ -51,13 +51,6 @@ struct ocelot_port_private {
|
||||
struct ocelot_port_tc tc;
|
||||
};
|
||||
|
||||
struct ocelot_dump_ctx {
|
||||
struct net_device *dev;
|
||||
struct sk_buff *skb;
|
||||
struct netlink_callback *cb;
|
||||
int idx;
|
||||
};
|
||||
|
||||
/* A (PGID) port mask structure, encoding the 2^ocelot->num_phys_ports
|
||||
* possibilities of egress port masks for L2 multicast traffic.
|
||||
* For a switch with 9 user ports, there are 512 possible port masks, but the
|
||||
@ -84,8 +77,6 @@ struct ocelot_multicast {
|
||||
int ocelot_bridge_num_find(struct ocelot *ocelot,
|
||||
const struct net_device *bridge);
|
||||
|
||||
int ocelot_port_fdb_do_dump(const unsigned char *addr, u16 vid,
|
||||
bool is_static, void *data);
|
||||
int ocelot_mact_learn(struct ocelot *ocelot, int port,
|
||||
const unsigned char mac[ETH_ALEN],
|
||||
unsigned int vid, enum macaccess_entry_type type);
|
||||
|
@ -20,6 +20,13 @@
|
||||
|
||||
#define OCELOT_MAC_QUIRKS OCELOT_QUIRK_QSGMII_PORTS_MUST_BE_UP
|
||||
|
||||
struct ocelot_dump_ctx {
|
||||
struct net_device *dev;
|
||||
struct sk_buff *skb;
|
||||
struct netlink_callback *cb;
|
||||
int idx;
|
||||
};
|
||||
|
||||
static bool ocelot_netdevice_dev_check(const struct net_device *dev);
|
||||
|
||||
static struct ocelot *devlink_port_to_ocelot(struct devlink_port *dlp)
|
||||
@ -815,6 +822,49 @@ static int ocelot_port_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
|
||||
return ocelot_fdb_del(ocelot, port, addr, vid, ocelot_port->bridge);
|
||||
}
|
||||
|
||||
static int ocelot_port_fdb_do_dump(const unsigned char *addr, u16 vid,
|
||||
bool is_static, void *data)
|
||||
{
|
||||
struct ocelot_dump_ctx *dump = data;
|
||||
u32 portid = NETLINK_CB(dump->cb->skb).portid;
|
||||
u32 seq = dump->cb->nlh->nlmsg_seq;
|
||||
struct nlmsghdr *nlh;
|
||||
struct ndmsg *ndm;
|
||||
|
||||
if (dump->idx < dump->cb->args[2])
|
||||
goto skip;
|
||||
|
||||
nlh = nlmsg_put(dump->skb, portid, seq, RTM_NEWNEIGH,
|
||||
sizeof(*ndm), NLM_F_MULTI);
|
||||
if (!nlh)
|
||||
return -EMSGSIZE;
|
||||
|
||||
ndm = nlmsg_data(nlh);
|
||||
ndm->ndm_family = AF_BRIDGE;
|
||||
ndm->ndm_pad1 = 0;
|
||||
ndm->ndm_pad2 = 0;
|
||||
ndm->ndm_flags = NTF_SELF;
|
||||
ndm->ndm_type = 0;
|
||||
ndm->ndm_ifindex = dump->dev->ifindex;
|
||||
ndm->ndm_state = is_static ? NUD_NOARP : NUD_REACHABLE;
|
||||
|
||||
if (nla_put(dump->skb, NDA_LLADDR, ETH_ALEN, addr))
|
||||
goto nla_put_failure;
|
||||
|
||||
if (vid && nla_put_u16(dump->skb, NDA_VLAN, vid))
|
||||
goto nla_put_failure;
|
||||
|
||||
nlmsg_end(dump->skb, nlh);
|
||||
|
||||
skip:
|
||||
dump->idx++;
|
||||
return 0;
|
||||
|
||||
nla_put_failure:
|
||||
nlmsg_cancel(dump->skb, nlh);
|
||||
return -EMSGSIZE;
|
||||
}
|
||||
|
||||
static int ocelot_port_fdb_dump(struct sk_buff *skb,
|
||||
struct netlink_callback *cb,
|
||||
struct net_device *dev,
|
||||
|
Loading…
x
Reference in New Issue
Block a user