Fa-mlat-client only listens on tcp6


#1

Yes it happens: an ISP that allows you to use IPV6, so I have a dual stack setup on the host that runs the piaware etc. (ubuntu, I build the piaware myself)

So I tried to configure the mlat results using parameter:

mlat-results-format “beast,listen,30105”

It appears this only listens on tcp6 / ipv6 as seen as follows:

root@XPS8500:/etc# netstat -a | grep 30105
tcp6 0 0 [::]:30105 [::]:* LISTEN

I wanted to use this to pull data into VRS

I used the following workaround, instead configure mlat client to push:

mlat-results-format “beast,connect,192.168.178.88:30104”

The .88 is the host on which VRS runs.

Inside VRS config, set this receiver to be a ‘Push receiver’ (in that case VRS will start to listen itself).

Then it works fine.


#2

This appears to be a problem specific to your system.

mlat-client listens on a single v6 socket that does not have the V6ONLY socket option set, so it will also accept connections from v4 addresses via v4-mapped v6 addresses. This is why v4 connections look like this in the mlat-client logs:

Jan 2 14:50:47 ff-7291 piaware[563]: mlat-client(11873): Accepted Beast-format results connection from ::ffff:192.168.1.113:37910

That is an ipv4-mapped ipv6 address.
netstat looks like this:

$ netstat -ntoa | grep 30105
tcp6 0 0 :::30105 :::* LISTEN off (0.00/0/0)
tcp6 0 0 192.168.1.145:30105 192.168.1.113:37910 ESTABLISHED off (0.00/0/0)

So something is broken about v4-mapped v6 addresses on your system. It works basically everywhere else. The standard setup for piaware is like this (listening on a v6 socket) and there’s no problem elsewhere with accepting v4 connections there.