This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Routing table
- From: Andrew Lunn <andrew at lunn dot ch>
- To: "C. Snider" <snider at efe-gmbh dot de>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Wed, 3 Sep 2008 11:44:56 +0200
- Subject: Re: [ECOS] Routing table
- References: <48BE551F.4020206@efe-gmbh.de>
> addrp = (struct sockaddr_in *) &ifr.ifr_addr;
> memset(addrp, 0, sizeof(*addrp));
> strcpy(ifr.ifr_name, eth1_name);
> memset(&route, 0, sizeof(route));
> addrp->sin_family = AF_INET;
> addrp->sin_port = 0;
> addrp->sin_len = sizeof(*addrp);
> addrp->sin_addr.s_addr = inet_addr("192.165.4.0");
> memset(&route, 0, sizeof(route));
> memcpy(&route.rt_dst, addrp, sizeof(*addrp));
> addrp->sin_addr.s_addr = inet_addr("255.255.255.0");
> memcpy(&route.rt_genmask, addrp, sizeof(*addrp));
> addrp->sin_addr.s_addr = 0;
> memcpy(&route.rt_gateway, addrp, sizeof(*addrp));
[snip]
> Destination Gateway Mask Flags Interface
> 192.165.4.0 192.165.4.0 255.255.255.0 U eth0
I think the gateway is your problem. What you are saying is that to
reach 192.165.4.X go via 192.165.4.0. That makes no sense. What you
need to say is to reach 192.165.4.X go via 192.168.1.42. ie you need
to pass the IP address of the gateways local address, not its remove
address.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss