On 5/17/23 20:06, Ori Kam wrote:
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

RoEC should be added devtools/words-case.txt
IB as well.


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

ethernet -> Ethernet (4 times above)

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>

Acked-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>


Reply via email to