DOCA: GPU Packet Processing

Hello,

I am running into a problem when running the GPU Packet Processing example application with DOCA 2.5.1.

The application runs fine but when i try to ping the BlueField from another NIC on another server, the packets do not arrive to the GPU. Both NICs are connected by a cable.

I also attempted to send UDP packets to the Bluefield using pktgen but the GPU is still not receiving anything.

Here is the script I used for pktgen:

– Set random seed
math.randomseed(os.time())
local first_byte = math.random(1, 255)
local second_byte = math.random(1, 255)
local third_byte = math.random(1, 255)
local dstip = 1234

– Generate a random source IP address
local first_byte = math.random(1, 255)
local second_byte = math.random(1, 255)
local third_byte = math.random(1, 255)
local fourth_byte = math.random(1, 255)
local srcip = 4321

– Writting packet length in dstmac field (60 bytes packets)
local dstmac = “30:00:3C:00:00:01”
local srcmac = “40:00:2C:00:00:00”

TIME = 15
RATE = 100
PKT_SIZE = 1024

– =================== Generic Info ===================

pktgen.ports_per_page(1)
pktgen.range.dst_mac(“0”, “start”, dstmac)
pktgen.range.src_mac(“0”, “start”, srcmac)
pktgen.set_range(“0”, “on”)
pktgen.range.src_ip(“0”, “start”, “1.2.3.4”)
pktgen.range.src_ip(“0”, “min”, “0.0.0.0”)
pktgen.range.src_ip(“0”, “inc”, “0.1.1.1”)
pktgen.range.src_ip(“0”, “max”, “255.255.255.255”)

pktgen.range.dst_ip(“0”, “start”, “10.0.0.20”)
pktgen.range.dst_ip(“0”, “min”, “0.0.0.0”)
pktgen.range.dst_ip(“0”, “inc”, “0.1.1.1”)
pktgen.range.dst_ip(“0”, “max”, “255.255.255.255”)

pktgen.range.ip_proto(“0”, “udp”)

pktgen.range.pkt_size(“0”, “start”, PKT_SIZE)
pktgen.range.pkt_size(“0”, “inc”, 0)
pktgen.range.pkt_size(“0”, “min”, PKT_SIZE)
pktgen.range.pkt_size(“0”, “max”, PKT_SIZE)

pktgen.range.dst_port(“0”, “start”, 1024)
pktgen.range.dst_port(“0”, “inc”, 1)
pktgen.range.dst_port(“0”, “min”, 1024)
pktgen.range.dst_port(“0”, “max”, 1500)

– Source port iterates over the list of ports
pktgen.range.src_port(“0”, “start”, 2048)
pktgen.range.src_port(“0”, “inc”, 1)
pktgen.range.src_port(“0”, “min”, 2048)
pktgen.range.src_port(“0”, “max”, 2048)

– Set the rate/amount of pkts
pktgen.set(“0”, “rate”, RATE)
– pktgen.set(“0”, “count”, 1)

pktgen.delay(100)
pktgen.start(“0”)

I am pretty new to DOCA, NVIDIA and networking in general so if I forgot to give some important information, I can obviously add it.

Thank you for your help.