Localhost: ICMP localhost udp port domain unreachable

Hi I want to ping test about “PC → target”, but I don’t konw what something is wrong.

The current situation is below.

ping : PC -> Target(localhost) (X)
ping : Target(localhost) -> Target(localhost) (O)
ping : Target(localhost) -> PC (X)
arping : Target(localhost) -> Target(localhost) (X)
arping : Target(localhost) -> PC (O)

As I checked tcpdump log, it appears as below, but I don’t know where to correct it.

connect: Network is unreachable
14:04:16.334495 IP localhost > localhost: ICMP localhost udp port domain unreachable, length 82

As can be seen in the target service list, ipables has already been turned off.

root# service list
Found 26 services:
0       display: [android.hardware.display.IDisplayManager]
1       recovery: [android.os.IRecoverySystem]
2       power: [android.os.IPowerManager]
3       appops: [com.android.internal.app.IAppOpsService]
4       batterystats: [com.android.internal.app.IBatteryStats]
5       device_identifiers: [android.os.IDeviceIdentifiersPolicyService]
6       wificond: [android.net.wifi.IWificond]
7       media.extractor.update: [android.media.IMediaExtractorUpdateService]
8       media.extractor: [android.media.IMediaExtractorService]
9       storaged_pri: [android.os.storaged.IStoragedPrivate]
10      storaged: [android.os.IStoraged]
11      media.resource_manager: [android.media.IResourceManagerService]
12      media.player: [android.media.IMediaPlayerService]
13      stats: [android.os.IStatsManager]
14      android.security.keystore: [android.security.IKeystoreService]
15      media.metrics: [android.media.IMediaAnalyticsService]
16      media.audio_flinger: [android.media.IAudioFlinger]
17      android.service.gatekeeper.IGateKeeperService: [android.service.gatekeeper.IGateKeeperService]
18      perfprofd: [android.os.IPerfProfd]
19      drm.drmManager: [drm.IDrmManagerService]
20      media.drm: [android.media.IMediaDrmService]
21      incident: [android.os.IIncidentManager]
22      installd: [android.os.IInstalld]
23      thermalservice: [android.os.IThermalService]
24      netd: [android.net.INetd]
25      vold: [android.os.IVold]

And I tried all valuesof /proc/sys/net/netfilter have been modified to be ACCEPT.

Please let me know advice or idea.

Detail log is below.

Thank you for reading.

PC ipconfig value is below.

Ethernet adaptor 2:

C:\Users\administer>ipconfig
   DNS . . . . :
   IPv4 address . . . . . . . . . : 192.168.200.200
   subnet mask . . . . . . . : 255.255.255.0
   default gateway . . . . . . :

uname -a

Linux localhost 4.14.56 #104 SMP PREEMPT Fri Nov 27 09:08:07 KST 2020 aarch64

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ip_vti0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6_vti0@NONE: <NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/tunnel6 :: brd ::
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
5: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
    link/tunnel6 :: brd ::
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 98:20:8f:5e:84:3a brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.201/24 brd 192.168.200.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9a20:8fff:fe5e:843a/64 scope link
       valid_lft forever preferred_lft forever

# ifconfig
eth0      Link encap:Ethernet  HWaddr 98:20:8f:5e:84:3a  Driver r8168
          inet addr:192.168.200.201  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::9a20:8fff:fe5e:843a/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:156 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12306 TX bytes:1356
          Interrupt:72 Base address:0xd000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope: Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:752 errors:0 dropped:0 overruns:0 frame:0
          TX packets:752 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2850160 TX bytes:2850160

tcpdump -i any & ping 192.168.200.200 ( Target → PC )

connect: Network is unreachable

tcpdump -i any & ping 192.168.200.201 (Target → Target)

PING 192.168.200.201 (192.168.200.201) 56(84) bytes of data.
64 bytes from 192.168.200.201: icmp_seq=1 ttl=64 time=0.403 ms
14:04:13.925516 IP 192.168.200.201 > 192.168.200.201: ICMP echo request, id 1, seq 1, length 64
14:04:13.925647 IP 192.168.200.201 > 192.168.200.201: ICMP echo reply, id 1, seq 1, length 64
14:04:13.932064 IP localhost.39755 > localhost.domain: 49518+ PTR? 201.200.168.192.in-addr.arpa. (46)
14:04:13.932185 IP localhost > localhost: ICMP localhost udp port domain unreachable, length 82
14:04:14.938479 IP 192.168.200.201 > 192.168.200.201: ICMP echo request, id 1, seq 2, length 64
64 bytes from 192.168.200.201: icmp_seq=2 ttl=64 time=0.967 ms
14:04:14.938987 IP 192.168.200.201 > 192.168.200.201: ICMP echo reply, id 1, seq 2, length 64
14:04:15.940267 IP 192.168.200.201 > 192.168.200.201: ICMP echo request, id 1, seq 3, length 64
14:04:15.940641 IP 192.168.200.201 > 192.168.200.201: ICMP echo reply, id 1, seq 3, length 64
64 bytes from 192.168.200.201: icmp_seq=3 ttl=64 time=0.826 ms
14:04:16.328060 IP 192.168.200.200.netbios-ns > 192.168.200.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
14:04:16.329222 IP 192.168.200.200.54182 > 224.0.0.252.hostmon: UDP, length 22
14:04:16.329515 IP 192.168.200.200.61425 > 224.0.0.252.hostmon: UDP, length 22
14:04:16.334358 IP localhost.58416 > localhost.domain: 56320+ PTR? 200.200.168.192.in-addr.arpa. (46)
14:04:16.334495 IP localhost > localhost: ICMP localhost udp port domain unreachable, length 82
14:04:16.739947 IP 192.168.200.200.61425 > 224.0.0.252.hostmon: UDP, length 22
14:04:16.740183 IP 192.168.200.200.54182 > 224.0.0.252.hostmon: UDP, length 22
14:04:16.942388 IP 192.168.200.201 > 192.168.200.201: ICMP echo request, id 1, seq 4, length 64
14:04:16.942756 IP 192.168.200.201 > 192.168.200.201: ICMP echo reply, id 1, seq 4, length 64
64 bytes from 192.168.200.201: icmp_seq=4 ttl=64 time=0.805 ms
14:04:17.078507 IP 192.168.200.200.netbios-ns > 192.168.200.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
--- 192.168.200.201 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3016ms
rtt min/avg/max/mdev = 0.403/0.750/0.967/0.210 ms
14:04:17.829226 IP 192.168.200.200.netbios-ns > 192.168.200.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

tcpdump -i any & arping 192.168.200.201 (Target->Target)

WARNING: using default broadcast address.
ARPING 192.168.200.201 from 192.168.200.201 eth0
14:04:23.919526 ARP, Request who-has 192.168.200.201 (Broadcast) tell 192.168.200.201, length 28
14:04:24.920390 ARP, Request who-has 192.168.200.201 (Broadcast) tell 192.168.200.201, length 28
14:04:25.921618 ARP, Request who-has 192.168.200.201 (Broadcast) tell 192.168.200.201, length 28
14:04:26.922615 ARP, Request who-has 192.168.200.201 (Broadcast) tell 192.168.200.201, length 28
Sent 4 probes (4 broadcast(s))
Received 0 response(s)

tcpdump -i any & arping 192.168.200.200(Target->PC)

WARNING: using default broadcast address.
ARPING 192.168.200.200 from 192.168.200.201 eth0
14:04:30.177403 ARP, Request who-has 192.168.200.200 (Broadcast) tell 192.168.200.201, length 28
14:04:30.178734 ARP, Reply 192.168.200.200 is-at 00:e0:4c:36:13:64 (oui Unknown), length 46
Unicast reply from 192.168.200.200 [00:E0:4C:36:13:64]  2.161ms
14:04:31.178063 ARP, Request who-has 192.168.200.200 (00:e0:4c:36:13:64 (oui Unknown)) tell 192.168.200.201, length 28
14:04:31.179186 ARP, Reply 192.168.200.200 is-at 00:e0:4c:36:13:64 (oui Unknown), length 46
Unicast reply from 192.168.200.200 [00:E0:4C:36:13:64]  2.881ms
14:04:32.178984 ARP, Request who-has 192.168.200.200 (00:e0:4c:36:13:64 (oui Unknown)) tell 192.168.200.201, length 28
14:04:32.179989 ARP, Reply 192.168.200.200 is-at 00:e0:4c:36:13:64 (oui Unknown), length 46
Unicast reply from 192.168.200.200 [00:E0:4C:36:13:64]  2.808ms
14:04:33.179939 ARP, Request who-has 192.168.200.200 (00:e0:4c:36:13:64 (oui Unknown)) tell 192.168.200.201, length 28
14:04:33.181041 ARP, Reply 192.168.200.200 is-at 00:e0:4c:36:13:64 (oui Unknown), length 46
Unicast reply from 192.168.200.200 [00:E0:4C:36:13:64]  3.155ms
Sent 4 probes (1 broadcast(s))
Received 4 response(s)

tcpdump -i any & ping 192.168.200.201 (Target → Target)

14:04:37.210015 IP 192.168.200.200 > 192.168.200.201: ICMP echo request, id 1, seq 56, length 40
14:04:42.021530 ARP, Request who-has 192.168.200.201 (98:20:8f:5e:84:3a (oui Unknown)) tell 192.168.200.200, length 46
14:04:42.021896 ARP, Reply 192.168.200.201 is-at 98:20:8f:5e:84:3a (oui Unknown), length 28
14:04:42.026636 IP 192.168.200.200 > 192.168.200.201: ICMP echo request, id 1, seq 57, length 40
14:04:47.025793 IP 192.168.200.200 > 192.168.200.201: ICMP echo request, id 1, seq 58, length 40
14:04:52.025172 IP 192.168.200.200 > 192.168.200.201: ICMP echo request, id 1, seq 59, length 40
14:04:55.673862 IP6 fe80::9a20:8fff:fe5e:843a > ff02::2: ICMP6, router solicitation, length 16
14:04:55.680413 IP localhost.48891 > localhost.domain: 59458+ PTR? 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.f.f.ip6.arpa. (90)
14:04:55.680570 IP localhost > localhost: ICMP localhost udp port domain unreachable, length 126
14:04:55.681140 IP localhost.62416 > localhost.domain: 59458+ PTR? 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.f.f.ip6.arpa. (90)

It is difficult to follow the notation. Is “X” works (probably) or fails? Is “O” works or fails (probably)? Is “Target(localhost)” the machine from which the command is being run?

I have not used tcpdump for this sort of debugging, but if the meaning of this is that reaching the UDP of the PC while running the command from the Jetson, then a no route would probably be the PC side. One can drop or reject packets with different methods, and the error message would change depending on how it is handled. Intervening network hardware could also change results.

Could you provide a use-case of how the UDP port is being used? It sounds like you are debugging some special use case, and knowing how the question came up might help.

For Jetson and PC, just to simplify, could you provide the output from:

ifconfig
route

(and if using WiFi, then also “iwconfig”)

Thank you for reply!

Yes “X” is fail. “O” is works.
Target is TX2 module. PC is window10 desktop.

I didn’t understand the question.
TX2 is booted and nothing is running.

I want to control Target using TCP of PC program. For now, we are checking whether packets of PC programs are received from Target.
The PC program works normally on the existing TX1 and ifconfig and route are printed with the same information with TX2.
So I don’t know why it doesn’t work on TX2.

route (Target TX2)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.200.0   *               255.255.255.0   U     0      0        0 eth0

…this was answered by knowing it is the TX2.

Knowing that by default Jetsons work with ping and do not firewall unless told to do so, I suspect the Windows machine is firewalling and blocking the network traffic. As you just mentioned, when ifconfig and route are correct, then it isn’t the network itself which is failing. Many firewalls will base blocking or acceptance based on either an IP address or a MAC address. I tend to block all and then selectively allow MAC address (though I do this on Linux…I do not develop under Windows, though I do occasionally test from Windows).

If this is the Jetson side failing, then this is likely an indirect cause:

The 4.14.56 kernel is not the one provided by NVIDIA. It isn’t that other kernels could not work, but there is a large array of features and configurations you would have to get right for everything to work. You’d need to start with the same kernel config as the 4.9.140 kernel and then adjust for changes, including adding in NVIDIA’s out of tree content. Even so, I do suspect there is an issue with Windows running a firewall.

Do you have the original kernel available to try networking with? If you use serial console you can pick among multiple boot entries and would be able to have both kernels available and simply set one as a default, and then use serial console if you want to temporarily run the other kernel.

Can you say more about the reasons you switched to a non-NVIDIA kernel, and if you added their out of tree content into the non-NVIDIA kernel?