This is a scenario where the user is behind spoke is trying to access server which is connected to Hub via NSD tunnel.
Here is the end to end connection representation
Source User --> Spoke edge --> Hub edge --> NSD ---> Destination
In this scenario, when Spoke edge receives traffic from connected Source user it creates a flow and does route lookup and sends the traffic to Hub.
The hub after receiving the traffic it creates a flow initiator as peer flow and does route lookup. The destination is reachable via NSD, so hub creates another flow as local and sends the traffic via NSD tunnel.
But because of an bug the hub instead of creating two flows (one peer and one local) , it creates an additional local flow making in 3 flows.
Example:
Source 10.0.2.25 --> Spoke edge --> Hub edge --> NSD ---> 10.17.17.18
Spoke:~# debug.py --flow_dump all all all | grep -i 10.17.17.18 402 1 0 24 24 24 0 10.0.2.25 10.17.17.18 29323 2048 1 0 normal APP_ICMP(70) APP_CLASS_NETWORK_SERVICE(13) transactional Branch to Branch Direct gateway loadbalance Network Service 844bcbb7- N/A 0x8000800000000 1 local 0x55b0f269f0b0 0x7f6c263f4a20 0x7f6c263fd7e0 104159 81122 0 0 - - 0 Spoke:~#
Spoke:~# debug.py --routes 10.17.17.18 Address Netmask Type Gateway Next Hop Name Next Hop ID Destination Name Dst LogicalId Reachable Metric Preference Flags Vlan Intf Sub IntfId MTU SEG 10.17.17.0 255.255.255.0 edge2edge any Hub 844bcbb7-c546-455c-93f4-bfd74e523a84 Hub 844bcbb7-c546-455c-93f4-bfd74e523a84 True 5 0 DSRnI 65535 any N/A 1500 0
Spoke:~#
Spoke:~# debug.py --routes 10.0.2.25 Address Netmask Type Gateway Next Hop Name Next Hop ID Destination Name Dst LogicalId Reachable Metric Preference Flags Vlan Intf Sub IntfId MTU SEG 10.0.2.0 255.255.255.0 any any N/A N/A N/A N/A True 0 0 CS 1 br-network1 N/A N/A 0
Hub(active):~# debug.py --flow_dump all all all | grep -i 10.17.17.18 403 1 0 24 24 24 0 10.0.2.25 10.17.17.18 29323 2048 1 0 normal APP_ICMP(70) APP_CLASS_NETWORK_SERVICE(13) transactional Branch to Branch Direct gateway loadbalance User Default 06aef1df- N/A 0x80a004800080000 1 peer 0x7fa860001470 0x7fa900380ec0 0x7fa900375f40 72361 49327 0 0 - - 0 404 2 0 -1 -1 -1 -1 10.17.17.18 10.0.2.25 29323 2048 1 0 low APP_ICMP(70) APP_CLASS_NETWORK_SERVICE(13) transactional Branch to DataCenter Direct direct bw_balance User Default N/A 00000004- 0x802004042080001 0 local 0x7fa86002be80 0x7fa900375f40 0x7fa900380ec0 72361 72361 0 0 - - 0 405 2 0 -1 -1 -1 -1 10.17.17.18 10.0.2.25 29323 2048 1 0 normal APP_ICMP(70) APP_CLASS_NETWORK_SERVICE(13) transactional Branch to DataCenter Direct direct bw_balance Network Service N/A 00000004- 0x800000043000000 1 local 0x7fa86002d400 0x7fa900375f40 0x7fa900380ec0 72359 49326 0 0 - - 0 Hub(active):~#
Hub(active):~# debug.py --routes 10.17.17.18 Address Netmask Type Gateway Next Hop Name Next Hop ID Destination Name Dst LogicalId Reachable Metric Preference Flags Vlan Intf Sub IntfId MTU SEG 10.17.17.0 255.255.255.0 datacenter any N/A ddcce259-a399-4375-8516-5a273179e338 N/A ddcce259-a399-4375-8516-5a273179e338 True 5 0 SnI N/A any 524287 N/A 0 Hub(active):~# debug.py --routes 10.0.2.25 Address Netmask Type Gateway Next Hop Name Next Hop ID Destination Name Dst LogicalId Reachable Metric Preference Flags Vlan Intf Sub IntfId MTU SEG 10.0.2.0 255.255.255.0 edge2edge any Spoke 06aef1df-173b-478e-b090-66ad1ace2162 Spoke 06aef1df-173b-478e-b090-66ad1ace2162 True 0 0 DSR 1 any N/A 1500 0
Velocloud SDWAN, Non SDWAN Destination,
Its a bug and fixed in version 5.4.0.x and higher