Hi all, Anyone get this working? When I enable nat44 forwarding, all NAT translations stop working.
example - 110.21.22.12 is the IP address of my wan0. I have: set interface nat44 in loop0 out wan0 Without forwarding: vpp# sh nat44 sessions NAT44 sessions: -------- thread 0 vpp_main: 2240 sessions -------- 10.1.3.138: 1540 dynamic translations, 0 static translations 10.1.3.135: 36 dynamic translations, 0 static translations 10.1.3.125: 524 dynamic translations, 0 static translations 10.1.1.2: 108 dynamic translations, 0 static translations 10.1.3.174: 5 dynamic translations, 0 static translations 10.1.3.169: 15 dynamic translations, 0 static translations 10.1.3.62: 10 dynamic translations, 0 static translations 10.1.2.203: 2 dynamic translations, 0 static translations With forwarding: vpp# sh nat44 sessions NAT44 sessions: -------- thread 0 vpp_main: 19 sessions -------- 110.21.22.12: 19 dynamic translations, 0 static translations Thanks On Mon, Apr 15, 2019 at 1:29 AM Shahid Khan <shahidnasimk...@gmail.com> wrote: > Hi Ole, > > any finding on it ? are u able to reproduce it ? > > -Shahid. > > > > On Thu, Apr 11, 2019 at 1:32 PM Shahid Khan via Lists.Fd.Io > <shahidnasimkhan=gmail....@lists.fd.io> wrote: > >> There is another physical port bridged to loop1 which is on >> 192.168.15.0/24 network. >> .....the packets coming inside GRE tunnel are for 192.168.15.0/24 >> network. >> >> also just want to understand why SNAT is blocked when forwarding is >> enabled ? >> someone might have a requirement to SNAT first and then do forward. >> >> when i comment the code as below, SNAT and GRE both works. but i don't >> know how it will impact rest of code/functionality. >> >> static inline int >> snat_not_translate (snat_main_t * sm, vlib_node_runtime_t * node, >> u32 sw_if_index0, ip4_header_t * ip0, u32 proto0, >> u32 rx_fib_index0, u32 thread_index) >> { >> udp_header_t *udp0 = ip4_next_header (ip0); >> snat_session_key_t key0, sm0; >> clib_bihash_kv_8_8_t kv0, value0; >> >> key0.addr = ip0->dst_address; >> key0.port = udp0->dst_port; >> key0.protocol = proto0; >> key0.fib_index = sm->outside_fib_index; >> kv0.key = key0.as_u64; >> >> /* NAT packet aimed at external address if */ >> /* has active sessions */ >> if (clib_bihash_search_8_8 (&sm->per_thread_data[thread_index].out2in, >> &kv0, >> &value0)) >> { >> /* or is static mappings */ >> if (!snat_static_mapping_match (sm, key0, &sm0, 1, 0, 0, 0, 0, 0)) >> return 0; >> } >> else >> return 0; >> >> /* >> if (sm->forwarding_enabled) >> return 1; >> */ >> >> return snat_not_translate_fast (sm, node, sw_if_index0, ip0, proto0, >> rx_fib_index0); >> } >> >> >> >> -Shahid. >> >> >> >> >> On Thu, Apr 11, 2019 at 12:44 PM Ole Troan <otr...@employees.org> wrote: >> >>> Shahid, >>> >>> Right, so the GRE packets shouldn’t go through the NAT at all. >>> Are the GRE tunnel itself marked as inside? >>> >>> I should have thoguht this was supported with >>> https://jira.fd.io/browse/VPP-447 >>> Let me see if I can reproduce., >>> >>> Best regards, >>> Ole >>> >>> > On 10 Apr 2019, at 12:55, Shahid Khan <shahidnasimk...@gmail.com> >>> wrote: >>> > >>> > Hi Ole, >>> > >>> > we have a bridge(loop0) with a private ip say 192.168.100.2/24. >>> > a TAP is also connected to this bridge and other end of TAP is on host >>> side. >>> > >>> > we have one physical interface connected to another bridge (loop1) >>> with outside network ip of say 192.168.10.1/24 >>> > and a GRE tunnel is created having source as 192.168.10.1. >>> > >>> > Host has requirement to initiate sessions(tcp/udp) to outside network. >>> so we have applied NAT as below. >>> > >>> > nat44 add interface address loop1 >>> > set interface nat44 in loop0 out loop1 >>> > >>> > with this host can initiate session with outside network and SNAT >>> works fine. >>> > >>> > But GRE does not work. we looked into traces and found that packet >>> comming to GRE tunnels are getting dropped with trace showing "unknown >>> protocol". >>> > >>> > if we enable forwarding then GRE packets are getting forwarded to >>> destination but now host is not able to initiate session to outside network >>> because SNAT stops >>> > >>> > -Shahid. >>> > >>> > >>> > >>> > >>> > >>> > >>> > On Wed, Apr 10, 2019 at 2:33 PM Ole Troan <otr...@employees.org> >>> wrote: >>> > Hi Shahid, >>> > >>> > What are you trying to achieve? >>> > https://wiki.fd.io/view/VPP/NAT#Enable_or_disable_forwarding >>> > >>> > You do not typically enable the “forwarding” feature. >>> > >>> > Cheers, >>> > Ole >>> > >>> > > On 8 Apr 2019, at 07:52, Shahid Khan <shahidnasimk...@gmail.com> >>> wrote: >>> > > >>> > > can someone look into below query ? >>> > > >>> > > -Shahid. >>> > > >>> > > On Wed, Apr 3, 2019 at 12:56 PM Shahid Khan via Lists.Fd.Io >>> <shahidnasimkhan=gmail....@lists.fd.io> wrote: >>> > > Hi, >>> > > >>> > > can someone help us on below query ? >>> > > >>> > > -Shahid. >>> > > >>> > > On Mon, Apr 1, 2019 at 11:45 AM Shahid Khan via Lists.Fd.Io >>> <shahidnasimkhan=gmail....@lists.fd.io> wrote: >>> > > >>> > > I have following query related to SNAT on VPP Release 19.0.1.02 >>> > > >>> > > following is the code from vpp/src/plugins/nat/in2out.c >>> > > >>> > > static inline int >>> > > snat_not_translate (snat_main_t * sm, vlib_node_runtime_t * node, >>> > > u32 sw_if_index0, ip4_header_t * ip0, u32 proto0, >>> > > u32 rx_fib_index0, u32 thread_index) >>> > > { >>> > > udp_header_t *udp0 = ip4_next_header (ip0); >>> > > snat_session_key_t key0, sm0; >>> > > clib_bihash_kv_8_8_t kv0, value0; >>> > > >>> > > key0.addr = ip0->dst_address; >>> > > key0.port = udp0->dst_port; >>> > > key0.protocol = proto0; >>> > > key0.fib_index = sm->outside_fib_index; >>> > > kv0.key = key0.as_u64; >>> > > >>> > > /* NAT packet aimed at external address if */ >>> > > /* has active sessions */ >>> > > if (clib_bihash_search_8_8 >>> (&sm->per_thread_data[thread_index].out2in, &kv0, >>> > > &value0)) >>> > > { >>> > > /* or is static mappings */ >>> > > if (!snat_static_mapping_match (sm, key0, &sm0, 1, 0, 0, 0, 0, >>> 0)) >>> > > return 0; >>> > > } >>> > > else >>> > > return 0; >>> > > >>> > > if (sm->forwarding_enabled) >>> > > return 1; >>> > > >>> > > >>> > > return snat_not_translate_fast (sm, node, sw_if_index0, ip0, >>> proto0, >>> > > rx_fib_index0); >>> > > } >>> > > >>> > > want to understand why above highlighted condition is there in code ? >>> > > >>> > > this is causing SNAT to stop working the moment we enable >>> forwarding. >>> > > what will be impact we comment this condition ? >>> > > >>> > > -Shahid. >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > -=-=-=-=-=-=-=-=-=-=-=- >>> > > Links: You receive all messages sent to this group. >>> > > >>> > > View/Reply Online (#12680): >>> https://lists.fd.io/g/vpp-dev/message/12680 >>> > > Mute This Topic: https://lists.fd.io/mt/30851776/1713129 >>> > > Group Owner: vpp-dev+ow...@lists.fd.io >>> > > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [ >>> shahidnasimk...@gmail.com] >>> > > -=-=-=-=-=-=-=-=-=-=-=- >>> > > -=-=-=-=-=-=-=-=-=-=-=- >>> > > Links: You receive all messages sent to this group. >>> > > >>> > > View/Reply Online (#12691): >>> https://lists.fd.io/g/vpp-dev/message/12691 >>> > > Mute This Topic: https://lists.fd.io/mt/30851776/1713129 >>> > > Group Owner: vpp-dev+ow...@lists.fd.io >>> > > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [ >>> shahidnasimk...@gmail.com] >>> > > -=-=-=-=-=-=-=-=-=-=-=- >>> > > -=-=-=-=-=-=-=-=-=-=-=- >>> > > Links: You receive all messages sent to this group. >>> > > >>> > > View/Reply Online (#12723): >>> https://lists.fd.io/g/vpp-dev/message/12723 >>> > > Mute This Topic: https://lists.fd.io/mt/30851776/675193 >>> > > Group Owner: vpp-dev+ow...@lists.fd.io >>> > > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [ >>> otr...@employees.org] >>> > > -=-=-=-=-=-=-=-=-=-=-=- >>> > >>> > -=-=-=-=-=-=-=-=-=-=-=- >>> > Links: You receive all messages sent to this group. >>> > >>> > View/Reply Online (#12743): >>> https://lists.fd.io/g/vpp-dev/message/12743 >>> > Mute This Topic: https://lists.fd.io/mt/30851776/675193 >>> > Group Owner: vpp-dev+ow...@lists.fd.io >>> > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [ >>> otr...@employees.org] >>> > -=-=-=-=-=-=-=-=-=-=-=- >>> >>> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> >> View/Reply Online (#12759): https://lists.fd.io/g/vpp-dev/message/12759 >> Mute This Topic: https://lists.fd.io/mt/30851776/1713129 >> Group Owner: vpp-dev+ow...@lists.fd.io >> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [ >> shahidnasimk...@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >> > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > > View/Reply Online (#12785): https://lists.fd.io/g/vpp-dev/message/12785 > Mute This Topic: https://lists.fd.io/mt/30851776/675621 > Group Owner: vpp-dev+ow...@lists.fd.io > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [carlitonu...@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14593): https://lists.fd.io/g/vpp-dev/message/14593 Mute This Topic: https://lists.fd.io/mt/30851776/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-