Skip to Content.
Sympa Menu

rare-dev - Re: [rare-dev] NAT handling problem

Subject: Rare project developers

List archive

Re: [rare-dev] NAT handling problem


Chronological Thread 
  • From: mc36 <>
  • To: Frédéric LOUI <>, "" <>
  • Subject: Re: [rare-dev] NAT handling problem
  • Date: Tue, 1 Feb 2022 16:50:43 +0100

hi,

On 2/1/22 16:32, Fr d ric LOUI wrote:
But, if one need to process 32x100GE ports we don t have much choices for
now ...

not true anymore, i recently added a tweak to the dpdk dataplane,
it can now split the flows before processing... here is the cookbook:

so two types of such extra parameters exists for the p4dpdk code:
the one is <port> <rxcore> <txcore> and the other is -1 <forwardercore>
<forwardercore>
the first maps the receive and transmit processing of a given port...
if the second form is not used, then the packet processed on the receiver
core...
if any of the second format appears, then the receiver and transmitter does
only packet-io, and the mentioned forwarder cores will do the processing...
this latter lets you efficiently use a machine with a lot of available cores,
with small but very fast interfaces... then for every packet received, a quick
hash will be computed, and the packet will be processed on the hashed core...


with that particular one, i would give the following additional parameters
(without considering the cpu->socket and nic->socket mapping...)

0 1 2 \ ! do port0 rx on core1 and port0 tx on core2
1 3 4 \ ! do port1 rx on core3 and port1 tx on core4
-1 5 6 \ ! core 5 and 6 only do packet processing
-1 7 7 \ ! core 7 also do only packet processing

an alternative, if you see that packet io does not consume too much cpu,
you can allocate more for packet processing and less for packet io:

0 1 1 \ ! do port0 rx/tx on core1
1 2 2 \ ! do port1 rx/tx on core2
-1 3 4 \ ! core 3 and 4 only do packet processing
-1 5 6 \ ! core 5 and 6 also do only packet processing
-1 7 7 \ ! core 7 also do only packet processing

or even you can completely collapse the packet io to a single core:

0 1 1 \ ! do port0 rx/tx on core1
1 1 1 \ ! do port1 rx/tx on core1
-1 2 3 \ ! core 3 and 4 only do packet processing
-1 4 5 \ ! core 5 and 6 also do only packet processing
-1 6 7 \ ! core 6 and 7 also do only packet processing

and finally a very simple example without dedicated packet processing cores:

0 1 2 \ ! do port0 rx&processing on core1 and port0 tx on core2
1 3 4 \ ! do port1 rx&processing on core3 and port1 tx on core4

regards,
cs


  • Re: [rare-dev] NAT handling problem, mc36, 02/01/2022

Archive powered by MHonArc 2.6.19.

Top of Page