QNX6.5.0 - TCP/IP bridge

I have a small x86 CPU (LX-800) that has two NIC’s that work well with the RTL network driver. I am having difficulty bridging from one interface to the other - specifically from en0 to a gateway on en1.

Configuration is:

ifconfig en0 192.168.100.204 netmask 255.255.240.0 up (this is connected to a wifi access point IP 192.168.100.250)
ifconfig en1 192.168.0.50 netmask 255.255.240.0 up

A cellular router/gateway is connected to en1 and has the IP address 192.168.0.45

I set up the default route to be this cellular router: route -n add default 192.168.0.45

ip-pkt-v4-hc is started in the boot image as follows: io-pkt-v4-hc -d rtl -ptcpip forward

I have a Windows 7 box connecting into the wifi access point and the DHCP server has assigned it an IP address of 192.168.101.2 (note the netmask that allows this) and a default route of 192.168.100.204 - the address of en0.

From the Windoze box I can happily ping 192.168.100.204 and 192.168.0.50 - these being the IP addresses of the two interfaces. I can ping any other device on the 192.168.100.0/20 network (en0) but apart from 192.168.0.50 nothing on the 192.168.0.0/20 network.

Put simply, I can’t route packets from en0 to en1 which is the network to which the internet gateway is connected. Would it be because the network 192.168.0.0/16 is non-routable - even locally?

I have poured over whatever documentation I can find but to no avail - I must be missing something. It is not clear to me what "fastforward"ing is - or what the difference is between fastforward=0 (disabled) and fastforward=1 (enabled). This is an argument to io-pkt-v4-hc.

Has anyone managed to bridge between NIC’s with QNX6.5.0? If so, whats the trick?

Thanks,

Geoff.

Geoff,

You could easily test whether the 192.168.*.* network is the problem by changing to something else.    I don't think that is the problem, but worth a try.   If that doesn't work, let me know.   I have a setup that I can test this on, and have plenty of time to play with this puzzle.

Mitchell

See this question. It’s using pre-6.5 QNX but the answer seems to be you need to add a routing table to your Windoze box:

networkengineering.stackexchange … ble-in-qnx


Does the 10.0.0.1 host have default route or 10.1/20 route towards 10.0.0.2 (and similarly for the 10.1.0.4)? – ytti Jun 10 '13 at 8:52

I don’t understand. I think, looking at routing table, link#2 is the default (to host 10.0.0.1). – Thanushan Jun 10 '13 at 8:57

When 10.0.0.1 tries to ping 10.1.0.4 10.0.0.1 needs to have route for 10.1.0.4 pointing to the QNX (10.0.0.2). I’m guessing your QNX is now good to go, your hosts are just missing routes. – ytti Jun 10 '13 at 8:58

I see, you mean I need a routing table on host 10.0.0.1? – Thanushan Jun 10 '13 at 9:02

Yes your 10.0.0.1 and 10.1.0.4 host MUST know how to send packets to each other. The QNX is ready to route/forward the packets now, but the hosts are not sending it anything as of now. – ytti Jun 10 '13 at 9:02

Great! I got it working. Thanks a lot. – Thanushan Jun 10 '13 at 9:23

Tim

I am about to try this but from what you say, it is not enough to rely simply on the default route of the Windoze host: a specific host IP address routing is required.

So in my case, on the Windoze machine I need to add the following route command:

route add 192.168.0.45 192.168.100.204

That’s going to be a pain… I know how to do this from the Windows command terminal but I’ll need to find out how to do it when it starts up. (I am not very knowledgeable about Windows in this area - I try to avoid it).

Thanks for your clues though… I’ll try this out later today.

Geoff.

Geoff,

The ‘-p’ option to ‘route add’ makes it persistent across Windoze reboots. I’m sure by now you’ve already figured that out.

Did you get this to work?

Tim