Pavan Nikhilesh
3186a3a49c
net/cnxk: enable VLAN processing in vector Tx
...
Enable VLAN offload in vector Tx burst function.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-30 05:03:22 +02:00
Pavan Nikhilesh
7c6bee3406
net/cnxk: enable PTP processing in vector Rx
...
Enable PTP offload in vector Rx burst function, use vector path
for processing mbufs and finally switch to scalar when extracting
timestamp.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-30 04:55:34 +02:00
Pavan Nikhilesh
681c8cfa05
net/cnxk: support multi-segment vector Rx
...
Add multi-segment Rx vector routine, form the primary mbufs using
vector path switch to scalar path when extracting segments.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-30 04:47:59 +02:00
Satheesh Paul
2c8438ac11
net/cnxk: support marking and VLAN tagging
...
This patch adds support for mark, flag, VLAN pop and
push flow actions.
Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
2021-06-30 03:44:03 +02:00
Sunil Kumar Kori
21cc840198
net/cnxk: support multicast filter
...
Patch adds multicast filter support for cn9k and cn10k platforms.
CGX DMAC filter table(32 entries) is divided among all LMACs
connected to it i.e. if CGX has 4 LMACs then each LMAC can have
up to 8 filters. If CGX has 1 LMAC then it can have up to 32
filters.
Above mentioned filter table is used to install unicast and multicast
DMAC address filters. Unicast filters are installed via
rte_eth_dev_mac_addr_add API while multicast filters are installed
via rte_eth_dev_set_mc_addr_list API.
So in total, supported MAC filters are equal to DMAC filters plus
mcast filters.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 03:36:38 +02:00
Satha Rao
00242a687d
net/cnxk: support RETA and RSS hash
...
This patch will implement RETA and RSS hash apis. Also added
device argument to lock rx context.
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
2021-06-30 03:29:04 +02:00
Sunil Kumar Kori
3199a7f6a3
net/cnxk: support clock read
...
Patch implements read raw clock operation for cn9k and
cn10k.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 03:21:30 +02:00
Sunil Kumar Kori
677fb66bde
net/cnxk: support time read/write/adjust
...
Patch implements read/write/adjust time operations for
cn9k and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 03:13:57 +02:00
Sunil Kumar Kori
77398b9e5c
net/cnxk: support Rx/Tx timestamp read
...
Patch implements Rx/Tx timestamp read operations for cn9k
and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 03:06:25 +02:00
Sunil Kumar Kori
5a6ce511b1
net/cnxk: support timesync operations
...
Patch implements timesync enable/disable operations for
cn9k and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 02:58:56 +02:00
Sunil Kumar Kori
76dff63874
net/cnxk: support base PTP timesync
...
Base PTP timesync support is added for cn9k and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 02:51:28 +02:00
Sunil Kumar Kori
c7c7c8ed7d
net/cnxk: get PTP status
...
Once PTP status is changed at H/W i.e. enable/disable then
it is propagated to user via registered callback.
So corresponding callback is registered to get PTP status.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 02:44:01 +02:00
Satheesh Paul
bc778a17fa
net/cnxk: support flow RSS
...
Added support for RSS action in rte flow code based on ROC.
Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
2021-06-30 02:36:40 +02:00
Satha Rao
48a882afd8
net/cnxk: support registers dump
...
With this patch implemented api to dump platform registers for
debug purposes.
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
2021-06-30 02:29:15 +02:00
Satha Rao
86ac1c9cef
net/cnxk: support firmware version query
...
Add callback to get ethdev firmware version.
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
2021-06-30 02:21:50 +02:00
Satheesh Paul
d43a7bee1a
net/cnxk: get flow operations
...
This patch adds flow ops get operation to enable rte_flow_ops.A
This patch also add support for flow dev dump API.
Every flow rule added will be dumped in the below format.
MCAM Index:1881
Interface :NIX-RX (0)
Priority :1
NPC RX Action:0X00000000404001
ActionOp:NIX_RX_ACTIONOP_UCAST (1)
PF_FUNC: 0X400
RQ Index:0X004
Match Id:0000
Flow Key Alg:0
NPC RX VTAG Action:0X00000000008100
VTAG0:relptr:0
lid:0X1
type:0
Patterns:
NPC_PARSE_NIBBLE_CHAN:000
NPC_PARSE_NIBBLE_LA_LTYPE:LA_ETHER
NPC_PARSE_NIBBLE_LB_LTYPE:NONE
NPC_PARSE_NIBBLE_LC_LTYPE:LC_IP
NPC_PARSE_NIBBLE_LD_LTYPE:LD_TCP
NPC_PARSE_NIBBLE_LE_LTYPE:NONE
LA_ETHER, hdr offset:0, len:0X6, key offset:0X8,\
Data:0X4AE124FC7FFF, Mask:0XFFFFFFFFFFFF
LA_ETHER, hdr offset:0XC, len:0X2, key offset:0X4, Data:0XCA5A,\
Mask:0XFFFF
LC_IP, hdr offset:0XC, len:0X8, key offset:0X10,\
Data:0X0A01010300000000, Mask:0XFFFFFFFF00000000
LD_TCP, hdr offset:0, len:0X4, key offset:0X18, Data:0X03450000,\
Mask:0XFFFF0000
MCAM Raw Data :
DW0 :0000CA5A01202000
DW0_Mask:0000FFFF0FF0F000
DW1 :00004AE124FC7FFF
DW1_Mask:0000FFFFFFFFFFFF
DW2 :0A01010300000000
DW2_Mask:FFFFFFFF00000000
DW3 :0000000003450000
DW3_Mask:00000000FFFF0000
DW4 :0000000000000000
DW4_Mask:0000000000000000
DW5 :0000000000000000
DW5_Mask:0000000000000000
DW6 :0000000000000000
DW6_Mask:0000000000000000
Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
Reviewed-by: Kiran Kumar K <kirankumark@marvell.com>
2021-06-30 02:14:27 +02:00
Kiran Kumar K
8c009b4505
net/cnxk: support flow API
...
Adding initial version of rte_flow support for cnxk family device.
Supported rte_flow ops are flow_validate, flow_create, flow_destroy,
flow_flush, flow_query, flow_isolate.
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
2021-06-30 02:07:05 +02:00
Kiran Kumar K
4093c5a81d
net/cnxk: add NPC configuration
...
Adding support to configure NPC on device initialization. This involves
reading the MKEX and initializing the necessary data.
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
2021-06-30 01:59:41 +02:00
Sunil Kumar Kori
4be0b2b140
net/cnxk: support pending Tx mbuf cleanup
...
Once mbufs are transmitted, mbufs are freed by H/W. No mbufs are
accumalated as a pending mbuf.
Hence operation is NOP for cnxk platform.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 01:52:18 +02:00
Sunil Kumar Kori
e191360cee
net/cnxk: support close and reset
...
Patch implements device close and reset operations for cn9k
and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 01:44:57 +02:00
Satha Rao
62dcd9343b
net/cnxk: support queue infos query
...
Initial apis to get default queue information.
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
2021-06-30 01:37:35 +02:00
Satha Rao
8075b057b6
net/cnxk: support extended statistics
...
Initial implementation of xstats operations.
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
2021-06-30 01:30:10 +02:00
Satha Rao
2fced8a1c1
net/cnxk: support basic port/queue statistics
...
This patch implements regular port statistics and queue mapping set
api to get queue statistics
Signed-off-by: Satha Rao <skoteshwar@marvell.com>
2021-06-30 01:22:49 +02:00
Sunil Kumar Kori
79b175d705
net/cnxk: support mempool operations query
...
CN9K and CN10K support platform specific mempool ops.
This patch implements API to validate whether given mempool
ops is supported or not.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 01:15:27 +02:00
Sunil Kumar Kori
a7ce2f546f
net/cnxk: support Rx interrupt
...
Application may choose to enable/disable interrupts on Rx queues
so that application can select its processing if no packets are
available on queues for a longer period.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 01:08:04 +02:00
Sunil Kumar Kori
aa898299d3
net/cnxk: support EEPROM module queries
...
Patch implements eeprom module info get ethops for cn9k and
cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 01:00:41 +02:00
Sunil Kumar Kori
fef6ee0729
net/cnxk: support link up/down operations
...
Patch implements link up/down ethdev operations for
cn9k and cn10k platform.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:53:18 +02:00
Sunil Kumar Kori
d2bebb1fee
net/cnxk: support flow control operations
...
Patch implements set and get operations for flow control.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:45:54 +02:00
Sunil Kumar Kori
611c771c35
net/cnxk: support Rx/Tx burst mode query
...
Patch implements ethdev operations to get Rx and Tx burst
mode.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:38:32 +02:00
Sunil Kumar Kori
325d79c00a
net/cnxk: support all multicast
...
L2 multicast packets can be allowed or blocked. Patch implements
corresponding ethops.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:31:11 +02:00
Sunil Kumar Kori
cbb8c8098c
net/cnxk: support DMAC filter
...
DMAC filter support is added for cn9k and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:23:48 +02:00
Sunil Kumar Kori
9cc3f3417f
net/cnxk: support promiscuous mode
...
Add device operations to enable and disable promisc mode
for cn9k and cn10k.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:16:23 +02:00
Sunil Kumar Kori
8589ec212e
net/cnxk: support MTU set
...
This Patch implements mtu set dev op for cn9k and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:09:00 +02:00
Sunil Kumar Kori
5fe86db2a0
net/cnxk: support MAC address set
...
Default mac address set operation is implemented for
cn9k and cn10k platforms.
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
2021-06-30 00:01:39 +02:00
Nithin Dabilpuram
89df2225c9
net/cnxk: add device start and stop
...
Add device start and stop operation callbacks for
CN9K and CN10K. Device stop is common for both platforms
while device start as some platform dependent portion where
the platform specific offload flags are recomputed and
the right Rx/Tx burst function is chosen.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 23:54:17 +02:00
Nithin Dabilpuram
f71b7dbbf0
net/cnxk: add vector Tx for CN10K
...
Add Tx burst vector version for CN10K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2021-06-29 23:46:51 +02:00
Nithin Dabilpuram
3626d5195d
net/cnxk: add multi-segment Tx for CN10K
...
Add Tx burst multi-segment version for CN10K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2021-06-29 23:39:29 +02:00
Jerin Jacob
19f3af2371
net/cnxk: add Tx burst for CN10K
...
Add Tx burst scalar version for CN10K.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Signed-off-by: Harman Kalra <hkalra@marvell.com>
2021-06-29 23:32:09 +02:00
Jerin Jacob
77100cc8fe
net/cnxk: add vector Rx for CN10K
...
Add Rx burst vector version for CN10K.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 23:24:49 +02:00
Nithin Dabilpuram
706eeae607
net/cnxk: add multi-segment Rx for CN10K
...
Add Rx burst multi-segment version for CN10K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2021-06-29 23:17:31 +02:00
Jerin Jacob
f742a9a668
net/cnxk: add Rx burst for CN10K
...
Add Rx burst support for CN10K SoC.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Signed-off-by: Harman Kalra <hkalra@marvell.com>
2021-06-29 23:10:12 +02:00
Nithin Dabilpuram
862e281287
net/cnxk: add vector Tx for CN9K
...
Add Tx burst vector version for CN9K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2021-06-29 23:02:50 +02:00
Nithin Dabilpuram
7e95c11df4
net/cnxk: add multi-segment Tx for CN9K
...
Add Tx burst multi-segment version for CN9K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2021-06-29 22:55:31 +02:00
Jerin Jacob
39dc567c19
net/cnxk: add Tx burst for CN9K
...
Add Tx burst scalar version for CN9K.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Signed-off-by: Harman Kalra <hkalra@marvell.com>
2021-06-29 22:48:07 +02:00
Jerin Jacob
c6101197af
net/cnxk: add vector Rx for CN9K
...
Add Rx burst vector version for CN9K.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 22:40:43 +02:00
Nithin Dabilpuram
aff70f48d8
net/cnxk: add multi-segment Rx for CN9K
...
Add Rx burst multi-segmented version for CN9K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2021-06-29 22:33:17 +02:00
Jerin Jacob
b951c2efcb
net/cnxk: add Rx burst for CN9K
...
Add Rx burst scalar version for CN9K.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Reviewed-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 22:25:56 +02:00
Nithin Dabilpuram
06d7544052
net/cnxk: support queue start and stop
...
Add Rx/Tx queue start and stop callbacks for
CN9K and CN10K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 22:18:36 +02:00
Nithin Dabilpuram
7ee79e83fd
net/cnxk: support packet type
...
Add support for packet type lookup on Rx to translate HW
specific types to RTE_PTYPE_* defines
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 22:11:16 +02:00
Nithin Dabilpuram
a24af6361e
net/cnxk: add Tx queue setup and release
...
aDD tx queue setup and release for CN9K and CN10K.
Release is common while setup is platform dependent due
to differences in fast path Tx queue structures.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 22:03:54 +02:00
Nithin Dabilpuram
a86144cd9d
net/cnxk: add Rx queue setup and release
...
Add Rx queue setup and release op for CN9K and CN10K
SoC. Release is completely common while setup is platform
dependent due to fast path Rx queue structure variation.
Fastpath is platform dependent partly due to core cacheline
size difference.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 21:56:32 +02:00
Nithin Dabilpuram
0f5ee447f5
net/cnxk: support link status update
...
Add link status update callback to get current
link status.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 21:49:12 +02:00
Nithin Dabilpuram
b75e0aca84
net/cnxk: add device configuration operation
...
Add device configuration op for CN9K and CN10K. Most of the
device configuration is common between two platforms except for
some supported offloads.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 21:41:53 +02:00
Nithin Dabilpuram
dac12650eb
net/cnxk: support device infos query
...
Add support to retrieve dev infos get for CN9K and CN10K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 21:34:36 +02:00
Nithin Dabilpuram
d25433c7a8
net/cnxk: add common devargs parsing
...
Add various devargs parsing command line arguments
parsing functions supported by CN9K and CN10K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 21:27:16 +02:00
Nithin Dabilpuram
5a4341c849
net/cnxk: add platform specific probe and remove
...
Add platform specific probe and remove callbacks for CN9K
and CN10K which use common probe and remove functions.
Register ethdev driver for CN9K and CN10K.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 21:19:59 +02:00
Nithin Dabilpuram
47db46bb76
net/cnxk: add build infra and common probing
...
Add build infrastructure and common probe and remove for cnxk driver
which is used by both CN10K and CN9K SoC.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-06-29 21:12:43 +02:00