On Thu, Dec 19, 2024 at 11:29 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Thu, 19 Dec 2024 23:05:30 +0900 Taehee Yoo wrote: > > > > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c > > > > index f88b641533fc..1bfff7f29310 100644 > > > > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c > > > > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c > > > > @@ -395,6 +395,10 @@ static int bnxt_xdp_set(struct bnxt *bp, struct bpf_prog *prog) > > > > bp->dev->mtu, BNXT_MAX_PAGE_MODE_MTU); > > > > return -EOPNOTSUPP; > > > > } > > > > + if (prog && bp->flags & BNXT_FLAG_HDS) { > > > > + netdev_warn(dev, "XDP is disallowed when HDS is enabled.\n"); > > > > + return -EOPNOTSUPP; > > > > + } > > > > > > And this check should also live in the core, now that core has access > > > to dev->ethtool->hds_config ? I think you can add this check to the > > > core in the same patch as the chunk referred to above. > > > > The bnxt_en disallows setting up both single and multi buffer XDP, but core > > checks only single buffer XDP. So, if multi buffer XDP is attaching to > > the bnxt_en driver when HDS is enabled, the core can't filter it. > > Hm. Did you find this in the code, or did Broadcom folks suggest it? > AFAICT bnxt supports multi-buf XDP. Is there something in the code > that special-cases aggregation but doesn't work for pure HDS? There were some comments about HDS with XDP in the following thread. https://lore.kernel.org/netdev/20241022162359.2713094-1-ap420073@xxxxxxxxx/T/ I may misunderstand reviews from Broadcom folks.