Hi Marcos,

Q1.
Yes exactly.

Q2.
Yes there is difference between 20.05 and master. DET44 was previously one of 
the many features of NAT plugin now it is separate plugin. Still there was 
never possibility to change any inner configuration of memory allocation 
through API/CLI. NAT plugin was never well documented and for user it might not 
have bean obvious which configuration parameters would apply to which features. 
The parameter you are mentioning is used for Endpoint-Independnet NAT44 - 
previously default NAT mode.

Best regards,
Filip

From: mar...@mgiga.com.br <mar...@mgiga.com.br>
Sent: Thursday, April 15, 2021 2:52 PM
To: Filip Varga -X (fivarga - PANTHEON TECH SRO at Cisco) <fiva...@cisco.com>
Subject: RES: [vpp-dev] Memory requirements for CGN
Importance: High

Hi Filip,

When you say: "DET44 has a preddefined number of sessions per "user" and that 
is 1000." Does it mean that it doesn't matter the size of the pool, each user 
will be limited to 1000 session?

I'm running VPP 20.05, so I believe there is some differences from the master 
branch. In that case is "mode max translations per user" an available parameter 
?

Best Regards
De: Filip Varga -X (fivarga - PANTHEON TECH SRO at Cisco) 
<fiva...@cisco.com<mailto:fiva...@cisco.com>>
Enviada em: quinta-feira, 15 de abril de 2021 04:58
Para: Marcos - Mgiga <mar...@mgiga.com.br<mailto:mar...@mgiga.com.br>>
Assunto: RE: [vpp-dev] Memory requirements for CGN

Hi Marcos,

Determnistic NAT - DET44 is a separate plugin. In the CLI you can find all 
commands containing det44 string.

For example:
det44
set det44
show det44

Before using DET44 plugin you will have to enable it via command line / api.
det44 plugin enable

  *   you can add optional arguments specifying inside and outside vrf
Except of configuring vrf's the plugin doesn't support any other configuration 
like for example specifying the size of hash tables.
Yes it is correct there is no hash table involved all sessions are prealocated 
in a vector.
DET44 has a preddefined number of sessions per "user" and that is 1000. You can 
specify only the size of the pool mapping.

rough estimate for determining sizeof session vektor would look something like 
this:
<num-sessions> * <num-users> * <sizeof-session>
1000 * <num-users> * 24 bytes

Best regards,
Filip

From: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> 
<vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> On Behalf Of Marcos - Mgiga
Sent: Wednesday, April 14, 2021 9:57 PM
To: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>
Subject: [vpp-dev] Memory requirements for CGN

Hello VPP community,

According to Wiki page "Deterministic NAT prealocate vector with 1000 session 
slots (one session 15B) for each host from inside network range".

In case a expect to have about 16 k users, with an address share ratio of 1 to 
64 (1000 ports per user) is it correct to expect up to 2000 sessions per user ( 
1000 tcp and 1000 udp), so this prealocated slots can be an issue?

In the previous scenario is it correct to expect up to 480MB of memory usage ( 
2000 sessions * 16000 users * 15)?

When using deterministic mode is "nat mode max translations per user" a 
parameter that must be specified or is it calculated based on address sharing 
ratio?

It is  correct to claim that since deterministic mode have an static mapping 
from a range of internal IP/port to a range of external ip / port it doesnt 
require a bi hash table so "user hash memory", "user hash buckets"," 
translation hash memory" and translation hash memory" are not available to work 
in this mode. Does it make sense?


Thank you very Much

Best Regards


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#19211): https://lists.fd.io/g/vpp-dev/message/19211
Mute This Topic: https://lists.fd.io/mt/82101219/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to