Hi Matus,

Thanks for the response!

Ah, I see, that makes more sense as to why we check against the FIB.
However, if we just pick a random port (per protocol) from the "first address 
with some available ports" (dictated by the "busy ports" I presume), how does 
this ensure that a user ever gets the same external IP? I can see it happening 
if we only have one external IP, or by sheer luck. Looking at the algorithm, 
it's just as you say, we take it from the first available one, but there's no 
logic in place to assign a user a previously-assigned external IP, or am I 
missing some logic in the code here?

I'm referring to an older discussion you and I had where you mentioned
> 
> Session/mapping key is 4-tuple (client address, port, fib index and
> protocol), internal address and port is mapped always to same external
> address and port no matter what is the endpoint 
> https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blob;f=src/plugins/
> nat / nat.h;h=3ce83ea26022fac43045fc88bfb37466c78c98dd;hb=HEAD#l58

The link refers to the definition of the snat session key (4-tuple). Trying to 
find the above logic in the code. Is that due to the nature of the 4-tuple and 
has nothing to do with the assignment algorithm?

Thanks,
John
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12185): https://lists.fd.io/g/vpp-dev/message/12185
Mute This Topic: https://lists.fd.io/mt/29639823/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-
  • [... JB
    • ... Ole Troan
      • ... JB
        • ... Matus Fabian -X (matfabia - PANTHEON TECHNOLOGIES@Cisco) via Lists.Fd.Io
          • ... JB
            • ... Matus Fabian -X (matfabia - PANTHEON TECHNOLOGIES@Cisco) via Lists.Fd.Io
              • ... JB
                • ... Matus Fabian -X (matfabia - PANTHEON TECHNOLOGIES@Cisco) via Lists.Fd.Io
                • ... JB
                • ... JB

Reply via email to