Hello,
i have a problem with multiple (exactly two) interfaces.This kind of problem is also discussed in https://community.freescale.com/message/320276#320276 but it is still undissolved there, and so i will discribe it here shortly:
Basic information: I will implement a server to answer incomming network requests on one of two interfaces.
- First i have set up RTCS with one wired ethernet interface including default gateway.
At this point, all network traffic (on this lonely interface) works fine as expected.
- Then i install a secondary interface (GPRS, PPP over serial). By this action, the default gateway is changed to the new dhcp-received ip address for the GPRS gateway.
At this point, all network traffic on the second interface (GPRS) works fine as expected, but for the first interface (ethernet), only the incomming requests which are located in the same subnet will be accepted and answered. All incomming requests routed from a differend subnet will result in "error 0x1510" (no route to host).
As a work around, i can add a new gateway with the subnet of the incomming request, and it will work fine, but unfortunately i don't know the subnet in advance, because it should answer all requests on every possibly subnets.
My target is to implement a mechanism, where all incomming requests on either interface will be accepted and answered on the same interface.
How can i manage this ?
已解决! 转到解答。
the application on the FEC module, is it a client or server ? If that's a client, what about NAT ?
It sounds to me correct that if an IP message leaves the RTCS if the destination address is from a different subnet, the gateway configuration applies.
There might exist non-standard way, if you like, as you have all source code available, you may "hack" the incoming process (IP_service() function), check the source IP address and if there is no route for it, add gateway for it, before the packet is sent to the upper layers.
IPv6 has standard solution for this problem (using scope id you can specify which interface to use) but as far as I know IPv4 uses gateway approach.
the application on the FEC module, is it a client or server ? If that's a client, what about NAT ?
It sounds to me correct that if an IP message leaves the RTCS if the destination address is from a different subnet, the gateway configuration applies.
There might exist non-standard way, if you like, as you have all source code available, you may "hack" the incoming process (IP_service() function), check the source IP address and if there is no route for it, add gateway for it, before the packet is sent to the upper layers.
IPv6 has standard solution for this problem (using scope id you can specify which interface to use) but as far as I know IPv4 uses gateway approach.