Hi Sonia, Could you try to apply this diff and see if that fixes your problem:
diff --git a/src/plugins/ip_session_redirect/redirect.c b/src/plugins/ip_session_redirect/redirect.c index 5c0123571..bb832c8a0 100644 --- a/src/plugins/ip_session_redirect/redirect.c +++ b/src/plugins/ip_session_redirect/redirect.c @@ -28,7 +28,7 @@ ip_session_redirect_stack (ip_session_redirect_t *ipr) index_t ipri = ipr - im->pool; fib_path_list_contribute_forwarding (ipr->pl, ipr->payload_type, - FIB_PATH_LIST_FWD_FLAG_COLLAPSE, &dpo); + 0, &dpo); dpo_stack_from_node (ipr->parent_node_index, &ipr->dpo, &dpo); dpo_reset (&dpo); Thanks ben > -----Original Message----- > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Sonia Rovner > Sent: Wednesday, April 13, 2022 20:16 > To: vpp-dev@lists.fd.io > Subject: Re: [vpp-dev] User traffic is going down the wrong tunnel when > multiple IKEv2/IPsec tunnels are added, removed then added. > > Hi Neale, > > I think I mistakenly sent a reply just to you instead of to the group, so > I'm sending the reply again. > > We are using ip session redirect for management traffic to make sure that > packets are reachable between the vpps. The ip session redirect is setup > to reach the remote vpp's management IP and a different src port per each > ipsec tunnel that's configured. When we remove the tunnels, the ip > session redirect match are removed. User routes uses the remote > management IP as its next hop, so if there are multiple tunnels, there are > multiple path with equal cost to the remote end. > > So it looks like ip session redirect is mapping the ipipX to the wrong > next hop, see the ip session redirect in bold below. When this happens, if > I restart vpp without any config changes, the ipip session redirect output > matches what was setup. > > vpp0's management IP is 192.168.3.2 and vpp2's management IP is > 192.168.3.6. So in the case of vpp2, ip session redirect is set to match > > dest ip 192.168.3.2, src port 2157, sw_if_index 6 (ipip0), which is > profile vpp0-vpp2_6_0 (192.168.30.6->192.168.10.6) > dest ip 192.168.3.2, src port 2158, sw_if_index 8 (ipip2), which is > profile vpp0-vpp2_7_1 (192.168.31.6->192.168.11.6) > dest ip 192.168.3.2, src port 2159, sw_if_index 7 (ipip1), which is > profile vpp0-vpp2_8_2 (192.168.32.6->192.168.12.6) > > vpp2:~# vppctl sh ip sess redir > [0] table 0 key 00000000: > 000000000000000000000000000000000000000000000000000000000000c0a8 > 00000020: 0302086f000000000000000000000000 > <========(0x086f=2159) > via: > path-list:[35] locks:1 flags:shared,no-uRPF, uPRF-list:47 len:1 > itfs:[7, ] > path:[61] pl-index:35 ip4 weight=1 pref=5 attached: oper- > flags:resolved, > ipip1 > forwarding > [@2]: ipv4 via 0.0.0.0 ipip1: mtu:9000 next:8 flags:[fixup-ip4o4 ] > 45000000000000004004cf9dc0a81f06c0a80b06 > stacked-on entry:32: > [@2]: ipv4 via 192.168.31.1 tn-eth1: mtu:1500 next:4 flags:[] > fa163f78e754fa163febca520800 <======ipip1, > sw_if_index 7, was set up for tunnel 192.168.32.6==192.168.12.6 > [1] table 0 key 00000000: > 000000000000000000000000000000000000000000000000000000000000c0a8 > 00000020: 0302086e000000000000000000000000 > <======(0x086e=2158) > via: > path-list:[38] locks:1 flags:shared,no-uRPF, uPRF-list:10 len:1 > itfs:[8, ] > path:[54] pl-index:38 ip4 weight=1 pref=5 attached: oper- > flags:resolved, > ipip2 > forwarding > [@2]: ipv4 via 0.0.0.0 ipip2: mtu:9000 next:8 flags:[fixup-ip4o4 ] > 45000000000000004004cd9dc0a82006c0a80c06 > stacked-on entry:35: > [@2]: ipv4 via 192.168.32.1 tn-eth3: mtu:1500 next:6 flags:[] > fa163f1fe606fa163fa0c5d30800 <===== ipip2, > sw_if_index 8, was setup for tunnel 192.168.31.6==192.168.11.6 > [2] table 0 key 00000000: > 000000000000000000000000000000000000000000000000000000000000c0a8 > 00000020: 0302086d000000000000000000000000 > via: > path-list:[42] locks:1 flags:shared,no-uRPF, uRPF-list: None > path:[52] pl-index:42 ip4 weight=1 pref=5 attached: oper- > flags:resolved, > ipip0 > forwarding > [@2]: ipv4 via 0.0.0.0 ipip0: mtu:9000 next:8 flags:[fixup-ip4o4 ] > 45000000000000004004d19dc0a81e06c0a80a06 > stacked-on entry:31: > [@2]: ipv4 via 192.168.30.1 tn-eth0: mtu:1500 next:3 flags:[] > fa163f12b28cfa163f4e184f0800 > > Here's the int addr output for the tunnel interfaces: > ipip1 (up): > unnumbered, use tn-eth3 > L3 192.168.32.6/24 > ipip2 (up): > unnumbered, use tn-eth1 > L3 192.168.31.6/24 > > > Thank you, > Sonia
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#21278): https://lists.fd.io/g/vpp-dev/message/21278 Mute This Topic: https://lists.fd.io/mt/90427455/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-