Re: [v7, net-next 09/10] bng_en: Register default VNIC

From: Bhargava Chenna Marreddy

Date: Fri Sep 19 2025 - 02:29:08 EST


On Thu, Sep 18, 2025 at 1:48 AM ALOK TIWARI <alok.a.tiwari@xxxxxxxxxx> wrote:
>
>
>
> On 9/12/2025 1:05 AM, Bhargava Marreddy wrote:
> > +int bnge_hwrm_vnic_cfg(struct bnge_net *bn, struct bnge_vnic_info *vnic)
> > +{
> > + struct bnge_rx_ring_info *rxr = &bn->rx_ring[0];
> > + struct hwrm_vnic_cfg_input *req;
> > + struct bnge_dev *bd = bn->bd;
> > + int rc;
> > +
> > + rc = bnge_hwrm_req_init(bd, req, HWRM_VNIC_CFG);
> > + if (rc)
> > + return rc;
> > +
> > + req->default_rx_ring_id =
> > + cpu_to_le16(rxr->rx_ring_struct.fw_ring_id);
> > + req->default_cmpl_ring_id =
> > + cpu_to_le16(bnge_cp_ring_for_rx(rxr));
> > + req->enables =
> > + cpu_to_le32(VNIC_CFG_REQ_ENABLES_DEFAULT_RX_RING_ID |
> > + VNIC_CFG_REQ_ENABLES_DEFAULT_CMPL_RING_ID);
> > + vnic->mru = bd->netdev->mtu + ETH_HLEN + VLAN_HLEN;
>
> nit: does "struct bnge_dev" hold a netdev ?
> if not should be bn->netdev->mtu.

Thanks, Alok. Struct bnge_dev also holds netdev. But, bn->netdev->mtu
looks cleaner, so I’ll fix it in the next patch.

>
> > + req->mru = cpu_to_le16(vnic->mru);
> > +
> > + req->vnic_id = cpu_to_le16(vnic->fw_vnic_id);
> > +
> > + if (bd->flags & BNGE_EN_STRIP_VLAN)
> > + req->flags |= cpu_to_le32(VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE);
> > + if (vnic->vnic_id == BNGE_VNIC_DEFAULT && bnge_aux_registered(bd))
> > + req->flags |= cpu_to_le32(BNGE_VNIC_CFG_ROCE_DUAL_MODE);
> > +
> > + return bnge_hwrm_req_send(bd, req);
> > +}
>
>
> Thanks,
> Alok