提交 06726f30 编写于 作者: J Jakub Kicinski 提交者: David S. Miller

nfp: link basic ethtool ops to representors

Start linking ethtool ops to representors.  Begin by adding
a separate ops structure and providing link state.  Next
patches will convert appropriate functions to only use nfp_port,
which will make them reusable on representors.
Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: NSimon Horman <simon.horman@netronome.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 ef319d4f
...@@ -939,6 +939,10 @@ static const struct ethtool_ops nfp_net_ethtool_ops = { ...@@ -939,6 +939,10 @@ static const struct ethtool_ops nfp_net_ethtool_ops = {
.set_link_ksettings = nfp_net_set_link_ksettings, .set_link_ksettings = nfp_net_set_link_ksettings,
}; };
const struct ethtool_ops nfp_port_ethtool_ops = {
.get_link = ethtool_op_get_link,
};
void nfp_net_set_ethtool_ops(struct net_device *netdev) void nfp_net_set_ethtool_ops(struct net_device *netdev)
{ {
netdev->ethtool_ops = &nfp_net_ethtool_ops; netdev->ethtool_ops = &nfp_net_ethtool_ops;
......
...@@ -320,6 +320,8 @@ int nfp_repr_init(struct nfp_app *app, struct net_device *netdev, ...@@ -320,6 +320,8 @@ int nfp_repr_init(struct nfp_app *app, struct net_device *netdev,
repr->dst->u.port_info.lower_dev = pf_netdev; repr->dst->u.port_info.lower_dev = pf_netdev;
netdev->netdev_ops = &nfp_repr_netdev_ops; netdev->netdev_ops = &nfp_repr_netdev_ops;
netdev->ethtool_ops = &nfp_port_ethtool_ops;
SWITCHDEV_SET_OPS(netdev, &nfp_port_switchdev_ops); SWITCHDEV_SET_OPS(netdev, &nfp_port_switchdev_ops);
if (nfp_app_has_tc(app)) { if (nfp_app_has_tc(app)) {
......
...@@ -106,6 +106,7 @@ struct nfp_port { ...@@ -106,6 +106,7 @@ struct nfp_port {
struct list_head port_list; struct list_head port_list;
}; };
extern const struct ethtool_ops nfp_port_ethtool_ops;
extern const struct switchdev_ops nfp_port_switchdev_ops; extern const struct switchdev_ops nfp_port_switchdev_ops;
int nfp_port_setup_tc(struct net_device *netdev, enum tc_setup_type type, int nfp_port_setup_tc(struct net_device *netdev, enum tc_setup_type type,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册