oaisim don't known its GTP-U address when it receives packets
Hello,
I have a virtualized environnement like this :
[VM with oaisim](192.168.92.101)<----->(192.168.92.2)[VM with mme_gw]<---->[VM with oai_hss]
oaisim is version cb47dad1 compiled with the following command:
. ./oaienv && cd cmake_targets/ && ./build_oai -I && ./build_oai -c --oaisim && ./build_oai -c --UE
I can successfully connect to the mme and build the default bearer which gave the 192.168.4.2 IP address to oaisim. But when I do a ping, it fails, the reply comes back but the eNB can't find the 192.168.4.2 address and reply with a destination unreachable:
root@cubiq-oaisim:~# ping -c 1 -I oip1 192.168.92.2
PING 192.168.92.2 (192.168.92.2) from 192.168.4.2 oip1: 56(84) bytes of data.
--- 192.168.92.2 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
Wireshark output:
5 4.071247000 192.168.4.2 192.168.92.2 GTP <ICMP> 134 Echo (ping) request id=0x285b, seq=1/256, ttl=64 (reply in 6)
6 4.071623000 192.168.92.2 192.168.4.2 GTP <ICMP> 134 Echo (ping) reply id=0x285b, seq=1/256, ttl=64 (request in 5)
7 4.071785000 192.168.92.101 192.168.92.2 ICMP 162 Destination unreachable (Port unreachable)
GTP-U interface configuration:
root@cubiq-oaisim:~# ip addr show oip1
13: oip1: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/generic 00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00
inet 192.168.4.2/24 brd 192.168.4.255 scope global oip1
valid_lft forever preferred_lft forever
Route configuration:
root@cubiq-oaisim:~# ip rule
0: from all lookup local
32765: from all fwmark 0x1 lookup lte
32766: from all lookup main
32767: from all lookup default
root@cubiq-oaisim:~# ip route show table lte
default dev oip1 scope link
Iptables configuration:
root@cubiq-oaisim:~# for table in nat mangle raw filter ; do echo "=== $table ===" ; iptables -t $table -nvL ; done
=== nat ===
Chain PREROUTING (policy ACCEPT 1 packets, 88 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 1 packets, 88 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 3 packets, 340 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 3 packets, 340 bytes)
pkts bytes target prot opt in out source destination
=== mangle ===
Chain PREROUTING (policy ACCEPT 2240 packets, 157K bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 2240 packets, 157K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1549 packets, 150K bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 1549 packets, 150K bytes)
pkts bytes target prot opt in out source destination
=== raw ===
Chain PREROUTING (policy ACCEPT 627 packets, 43340 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 387 packets, 36012 bytes)
pkts bytes target prot opt in out source destination
=== filter ===
Chain INPUT (policy ACCEPT 727 packets, 50480 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 449 packets, 41704 bytes)
pkts bytes target prot opt in out source destination
I am stuck on this do you have any idea ?