Hi Ashwini,

I will look into your issue. But for reference I would advise against using
a combination of inside interface and output-feature.

OUTPUT-FEATURE or in other words output interface already contains
nat44-inside node. Output-feature does postrouting - after ip4-lookup node
decides which interface the packet is supposed to go to - in your config it
would be wan1 or wan2 then the translation occurs. Either use combination
of

nat44 in lan
nat44 out wan1
nat44 out wan2

or

nat44 out wan1 output-feature
nat44 out wan2 output-feature
.

The CLI is not very user friendly. Specifically in configuring
output-feature because it looks like you are actually configuring the
outside interface but you are not; instead the wan1 or wan2 contain both
nat44 inside (output-feature) and nat44 outside nodes.

I will do some testing and get back to you.

Best regards,
Filip Varga


ut 9. 8. 2022 o 2:49 Ashwini Kadam <a.ka...@cablelabs.com> napísal(a):

> Hi All,
>
>
>
> I am trying to make NAT44 ed work for TCP/UDP traffic on my setup. My
> setup is as follows
>
>
>
> Host A, Host B   <-            VPP         <-           Host C
>
>
>
> Host A , Host B and Host C can communicate to each other via VPP. The VPP
> container has two interfaces. My current version of VPP is 22.10 . The
> startup config is as follows
>
>
>
> unix {
>
>     nodaemon
>
>     log /var/log/vpp/vpp.log
>
>     interactive
>
>     full-coredump
>
>     cli-listen /run/vpp/cli.sock
>
>     poll-sleep-usec 100
>
>     startup-config setup.tmpl
>
>     gid vpp
>
>   }
>
>   api-trace { on }
>
>   api-segment { gid vpp }
>
>   socksvr { default }
>
>   dpdk {
>
>    log-level debug
>
>     dev default {
>
>       num-rx-desc 512
>
>       num-tx-desc 512
>
>     }
>
>     # Replace PCIDEVICE once Pod is up
>
>     dev 0000:07:13.2 {
>
>       name lan
>
>     }
>
>     dev 0000:07:12.6 {
>
>       name wan1
>
>     }
>
>     dev 0000:07:13.0 {
>
>       name wan2
>
>     }
>
>     uio-driver vfio-pci
>
>   }
>
>   cpu {}
>
>   memory {
>
>     # main-heap-size 1G
>
>     # main-heap-page-size 1G
>
>     default-hugepage-size 1G
>
>   }
>
>   logging {
>
>      default-log-level debug
>
>      default-syslog-log-level debug
>
>   }
>
>
>
>   plugins {
>
>
>
>     plugin dpdk_plugin.so { enable }
>
>     plugin dhcp_plugin.so { enable }
>
>     plugin nat_plugin.so { enable }
>
>     plugin nat44_plugin.so { enable }
>
>     plugin nat44_ei_plugin.so  { enable }
>
>     plugin cnat_plugin.so { enable }
>
>     plugin ping_plugin.so { enable }
>
>     plugin det44_plugin.so { enable }
>
>     plugin map_plugin.so { enable }
>
>     plugin dns_plugin.so { enable }
>
>     plugin tracedump_plugin.so { enable }
>
>   }
>
>
>
>
>
>
>
>
>
>
>
> VPP dpdk interface IP’s
>
>
>
> Lan : 192.168.1.x/24
>
> Wan1 :  10.x.x.x/24
>
> Wan2 : 10.x.x.x/24
>
>
>
> Host C has interface with IP : 192.168.1.20/24. Iperf3 is run on Host C
> as server and on Host A as a client
>
> My NAT configuration is as follows
>
>
>
>   nat44 plugin enable sessions 63000
>
>   nat44 forwarding enable
>
>   set nat timeout udp 300 tcp-established 7440 tcp-transitory 240 icmp 60
>
>   nat mss-clamping 1452
>
>   set interface nat44 in lan
>
>   set interface nat44 out wan1 output-feature
>
>   set interface nat44 out wan2 output-feature
>
>   nat44 add static mapping tcp local 192.168.1.20 external 4.4.4.4
>
>
>
>
>
> However when I look at my nat44 sessions I don’t see any re-writes
> happening. The rules don’t get applied. The same works for ICMP traffic but
> not for UDP or TCP . Also I see a lot of garbage data coming in. Below as
> an example of nat44 session I see for tcp traffic
>
>
>
> NAT44 ED sessions:
>
> -------- thread 0 vpp_main: 2 sessions --------
>
>     i2o 192.168.1.20 proto TCP port 5201 fib 0
>
>     o2i 192.168.1.20 proto TCP port 5201 fib 0
>
>        external host 10.197.61.30:33702
>
>        i2o flow: match: saddr 192.168.1.20 sport 5201 daddr 10.197.61.30
> dport 33702 proto TCP fib_idx 0 rewrite: txfib 0
>
>        o2i flow: match: saddr 0.0.0.0 sport 0 daddr 0.0.0.0 dport 0 proto
> IP6_HOP_BY_HOP_OPTIONS fib_idx 0
>
>        index 0
>
>        last heard 216.03
>
>        timeout in 239.92
>
>        total pkts 43, total bytes 2148
>
>        dynamic translation
>
>        forwarding-bypass
>
>
>
>     i2o 192.168.1.20 proto TCP port 5201 fib 0
>
>     o2i 192.168.1.20 proto TCP port 5201 fib 0
>
>        external host 10.197.61.30:33704
>
>        i2o flow: match: saddr 192.168.1.20 sport 5201 daddr 10.197.61.30
> dport 33704 proto TCP fib_idx 0 rewrite: txfib 0
>
>        o2i flow: match: saddr 0.0.0.0 sport 0 daddr 0.0.0.0 dport 0 proto
> IP6_HOP_BY_HOP_OPTIONS fib_idx 0
>
>        index 1
>
>        last heard 215.95
>
>        timeout in 239.83
>
>        total pkts 5395516, total bytes 21042010
>
>        dynamic translation
>
>        forwarding-bypass
>
>
>
> Below is output of nat44 summary
>
>
>
> vpp# show nat44 summary
>
> max translations per thread: 63000 fib 0
>
> transitory tcp LRU min session timeout 455 (now 262)
>
> total sessions: 2 (timed out: 0)
>
> tcp sessions:
>
>     total: 2 (timed out: 0)
>
>         established: 0 (timed out: 0)
>
>         transitory: 2 (timed out: 0)
>
> udp sessions:
>
>     total: 0 (timed out: 0)
>
> icmp sessions:
>
>     total: 0 (timed out: 0)
>
> other sessions:
>
>     total: 0 (timed out: 0)
>
>
>
> Please do let me know what I am missing.
>
>
>
> Regards,
>
> Ashwini Kadam
>
>
>
>
>
>
>
>
>
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#21782): https://lists.fd.io/g/vpp-dev/message/21782
Mute This Topic: https://lists.fd.io/mt/92906473/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to