On Mon, Jan 18, 2021 at 4:20 PM <lir...@marvell.com> wrote: > > From: Liron Himi <lir...@marvell.com> > > pf-func is 16bit but the current reserved location > used in tx action is 8bits. moved it to bits 63-48. > > Fixes: 32e6aaa97 ("net/octeontx2: support flow parse actions") > Cc: sta...@dpdk.org > > Signed-off-by: Liron Himi <lir...@marvell.com> > Reviewed-by: Kiran Kumar Kokkilagadda <kirankum...@marvell.com>
Applied to dpdk-next-net-mrvl/for-main. Thanks > --- > drivers/net/octeontx2/otx2_flow_parse.c | 5 ++++- > drivers/net/octeontx2/otx2_flow_utils.c | 2 +- > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/octeontx2/otx2_flow_parse.c > b/drivers/net/octeontx2/otx2_flow_parse.c > index 476195d63..e9b940f6c 100644 > --- a/drivers/net/octeontx2/otx2_flow_parse.c > +++ b/drivers/net/octeontx2/otx2_flow_parse.c > @@ -1090,7 +1090,10 @@ otx2_flow_parse_actions(struct rte_eth_dev *dev, > > set_pf_func: > /* Ideally AF must ensure that correct pf_func is set */ > - flow->npc_action |= (uint64_t)pf_func << 4; > + if (attr->egress) > + flow->npc_action |= (uint64_t)pf_func << 48; > + else > + flow->npc_action |= (uint64_t)pf_func << 4; > > return 0; > > diff --git a/drivers/net/octeontx2/otx2_flow_utils.c > b/drivers/net/octeontx2/otx2_flow_utils.c > index 9a0a5f9fb..7ed86ba74 100644 > --- a/drivers/net/octeontx2/otx2_flow_utils.c > +++ b/drivers/net/octeontx2/otx2_flow_utils.c > @@ -944,7 +944,7 @@ otx2_flow_mcam_alloc_and_write(struct rte_flow *flow, > struct otx2_mbox *mbox, > req->entry_data.kw[0] |= flow_info->channel; > req->entry_data.kw_mask[0] |= (BIT_ULL(12) - 1); > } else { > - uint16_t pf_func = (flow->npc_action >> 4) & 0xffff; > + uint16_t pf_func = (flow->npc_action >> 48) & 0xffff; > > pf_func = htons(pf_func); > req->entry_data.kw[0] |= ((uint64_t)pf_func << 32); > -- > 2.28.0 >