mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
octeontx2-pf: Configure VF mtu via representor
Adds support to manage the mtu configuration for VF through representor. On update of representor mtu a mbox notification is send to VF to update its mtu. This feature is implemented based on the "Network Function Representors" kernel documentation. " Setting an MTU on the representor should cause that same MTU to be reported to the representee. " Signed-off-by: Sai Krishna <saikrishnag@marvell.com> Signed-off-by: Geetha sowjanya <gakula@marvell.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b8fea84a04
commit
3392f91903
|
|
@ -854,6 +854,11 @@ static int otx2_mbox_up_handler_rep_event_up_notify(struct otx2_nic *pf,
|
|||
{
|
||||
struct net_device *netdev = pf->netdev;
|
||||
|
||||
if (info->event == RVU_EVENT_MTU_CHANGE) {
|
||||
netdev->mtu = info->evt_data.mtu;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (info->event == RVU_EVENT_PORT_STATE) {
|
||||
if (info->evt_data.port_state) {
|
||||
pf->flags |= OTX2_FLAG_PORT_UP;
|
||||
|
|
|
|||
|
|
@ -79,6 +79,22 @@ int rvu_event_up_notify(struct otx2_nic *pf, struct rep_event *info)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int rvu_rep_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
struct rep_dev *rep = netdev_priv(dev);
|
||||
struct otx2_nic *priv = rep->mdev;
|
||||
struct rep_event evt = {0};
|
||||
|
||||
netdev_info(dev, "Changing MTU from %d to %d\n",
|
||||
dev->mtu, new_mtu);
|
||||
dev->mtu = new_mtu;
|
||||
|
||||
evt.evt_data.mtu = new_mtu;
|
||||
evt.pcifunc = rep->pcifunc;
|
||||
rvu_rep_notify_pfvf(priv, RVU_EVENT_MTU_CHANGE, &evt);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void rvu_rep_get_stats(struct work_struct *work)
|
||||
{
|
||||
struct delayed_work *del_work = to_delayed_work(work);
|
||||
|
|
@ -226,6 +242,7 @@ static const struct net_device_ops rvu_rep_netdev_ops = {
|
|||
.ndo_stop = rvu_rep_stop,
|
||||
.ndo_start_xmit = rvu_rep_xmit,
|
||||
.ndo_get_stats64 = rvu_rep_get_stats64,
|
||||
.ndo_change_mtu = rvu_rep_change_mtu,
|
||||
};
|
||||
|
||||
static int rvu_rep_napi_init(struct otx2_nic *priv,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user