Hi Bill, > -----Original Message----- > From: Bill Zhou <dongz...@nvidia.com> > Sent: Thursday, May 11, 2023 10:55 AM > Subject: [PATCH v1 1/3] ethdev: add flow item for RoCE infiniband BTH > > IB(InfiniBand) is one type of networking used in high-performance > computing with high throughput and low latency. Like Ethernet, > IB defines a layered protocol (Physical, Link, Network, Transport > Layers). IB provides native support for RDMA(Remote DMA), an > extension of the DMA that allows direct access to remote host > memory without CPU intervention. IB network requires NICs and > switches to support the IB protocol. > > RoCE(RDMA over Converged Ethernet) is a network protocol that > allows RDMA to run on Ethernet. RoCE encapsulates IB packets on > ethernet and has two versions, RoCEv1 and RoCEv2. RoCEv1 is an > ethernet link layer protocol, IB packets are encapsulated in the > ethernet layer and use ethernet type 0x8915. RoCEv2 is an internet > layer protocol, IB packets are encapsulated in UDP payload and > use a destination port 4791, The format of the RoCEv2 packet is > as follows: > ETH + IP + UDP(dport 4791) + IB(BTH + ExtHDR + PAYLOAD + CRC) > > BTH(Base Transport Header) is the IB transport layer header, RoCEv1 > and RoCEv2 both contain this header. This patch introduces a new > RTE item to match the IB BTH in RoCE packets. One use of this match > is that the user can monitor RoCEv2's CNP(Congestion Notification > Packet) by matching BTH opcode 0x81. > > This patch also adds the testpmd command line to match the RoCEv2 > BTH. Usage example: > > testpmd> flow create 0 group 1 ingress pattern > eth / ipv4 / udp dst is 4791 / ib_bth opcode is 0x81 > dst_qp is 0xd3 / end actions queue index 0 / end > > Signed-off-by: Dong Zhou <dongz...@nvidia.com> > ---
Acked-by: Ori Kam <or...@nvidia.com> Best, Ori