I've set up the VxWorks board as follows:
e = 155.34.103.42
h = 155.34.103.41
g = 155.34.103.1
My development pc is 155.34.99.99. I cannot ping the VxWorks board from
this pc, but I can ping it from the host pc. I can ping the host pc from my
devel pc. I can ping my devel pc from the host pc. So I know the network
is working.
Strangely enough, we are also using another VxWorks-based board created by
VMetro. I am having the same problem with it. Of course I attributed it to
VMetro's software, which I cannot change.
Any ideas?
Thanks,
Joe
Joe Georger wrote:
do you need a routing table entry?
David
>
> Thanks,
> Joe
Joe
doug
"Joe Georger" <jgeo...@ll.mit.edu> wrote in message
news:kUbf8.70$Sk3....@llslave.llan.ll.mit.edu...
route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
where <gateway> is the IP address of your hostname on your 155.34.99.0 network.
To be honest, I'd be surprised if there were errors in the vmetro software, as
I've always found their software excellent.
> To be honest, I'd be surprised if there were errors in the vmetro
software, as
> I've always found their software excellent.
Well, we've encountered a number of files limit of 248 on their mdr
software, which is just plain inexcusable when several hundred gigabyte
raids are commonly available. We've also encountered a limit of 10 mdr-220
boards that can be used in 1 cage with their midas-120 gateway and
shared-memory networking. They have since recitified the situation, but
having such low, fixed numbers in software is pretty bad. I suppose these
are minor annoyances, since their software is stable.
Thanks,
Joe
My host is a WinNT machine. I'm not even sure this is an option. Our
gateway on that subnet is a router. The only reason the host pc is even
down there on the same subnet was for VxWorks to ftp and boot off of. And I
was going to switch that over to my development pc....
Thanks,
Joe
"Joe Georger" <jgeo...@ll.mit.edu> wrote in message news:<kUbf8.70$Sk3....@llslave.llan.ll.mit.edu>...
> > do you need a routing table entry?
> >
> I wouldn't think so. Isn't that what the gateway entry is for? To tell the
> machine this is where you send packets destined for other networks.....
No, the gateway in the bootline tells the target where to send packets
destined for the host. It does not add a default route.
Try adding the following somewhere in the target's init sequence (or
you can type it at the target shell if you have that installed):
routeAdd ("0", "155.34.103.1")
That should get you a default route pointing at your router OK.
HTH,
John...
John,
You are on the right track I believe. I've been doing a little more
digging, searching the old archives, and from over 2 years ago I think I
found the answer. It looks like VxWorks only adds a route to the host's
subnet. So there is no route for packets destined for other networks. This
makes very little sense to me.
What this means is that if I chose my 155.34.99.99 pc as my host (with the
VxWorks board being 155.34.103.42 and it's gateway being 155.34.103.1), then
VxWorks would only set up a route to the 155.34.103.0 network, but no other.
The apparent solution is to modify the bootConfig.c file with the routeAdd
command above and build a new bootrom. It has also been suggested to modify
the usrNetwork.c file, but I am not sure where that file is used (if anyone
could help me out here that would be great!). So I am currently building a
new bootrom and let everyone know what happens after I flash it.
Thanks,
Joe
I call the vxWorks code broken. It is possible to have a system where
the 'boot' host isn't found using the default route. But those systems
have hand crafted IP routing and people who understand what they are
doing.
I changed the code in usrNetwork.c to make the 'gateway' parameter
be the default route. I didn't bother with network booting (target was
going to be standalone), so dunno what the boot roms do. Hoever they
probably only need to talk to the subnet that contains the boot host...
David
You're going to have to draw an ascii-art diagram of the subnets, showing
the two pcs, the gateway, and the vxworks target, I think...
DaveK
--
moderator of
alt.talk.rec.soc.biz.news.comp.humanities.meow.misc.moderated.meow
Burn your ID card! http://www.optional-identity.org.uk/
Help support the campaign, copy this into your .sig!
Proud Member of the Exclusive "I have been plonked by Davee because he
thinks I'm interesting" List Member #<insert number here>
Master of Many Meowing Minions
Holder of the exhalted PF Chang's Crab Wonton Award for kook spankage above
and beyond the call of hilarity.
vx Target PC host
155.34.103.42 155.34.103.41
|__________________|_____________________ 155.34.103.0 net
|
|
155.34.103.1
Gateway (PC?)
155.34.99.XX
|
__________________________________|_____ 155.34.99.0 net
|
155.34.99.99
dev PC
So the vxWorks targets needs to have the following:
routeNetAdd "155.34.99.0", "155.34.103.1"
which tells it to use the gateway to get to the 155.34.99.0 network.
Then on the development PC, you need to add the route:
route ADD 155.34.103.0 MASK 255.255.255.0 <gateway> METRIC 2 IF 1
which you obviously have done if you can ping the 155.34.103.41 host.
Your diagram is accurate. The 155.34.103.1 gateway is a router (I don't
have access to it, though). My development pc has a default gateway of
155.34.99.1 (another router). Therefore I didn't need to add a route to
access the 155.34.103.0 network. I have been searching thru this
newsgroup's archives and came across the following:
You have to set the default route, period. The way I did it was to modify
usrNetwork.c and add the following line to usrNetInit()
if (params.gad[0] != EOS) routeAdd("0.0.0.0", params.gad);
The nice thing about doing it this way is your default route will always
be to the gateway you enter at the boot prompt, so if you ever change that
the default route will automatically follow.
And this:
This is a very old issue - in both bootConfig.c and usrNetwork.c, routeAdd()
is called to install a default gateway, but the destination network is the
same subnet on which the Host is located. This code, as shipped, only good
for
VME bp/sm networks - it works for the CPU which is connected only to the VME
network, and helps it conenct to the Host via the VME/Ethernet gateway.
It has been suggested several times to change this statement to add
"0.0.0.0"
as destination, making the default gateway function in all cases (including
the VME network special case), but the suggestion was not incorporated into
the product. I beleive that I have filed a TSR about this back in 1991, when
I
worked for Applied Materials Inc.
The only and the most elegant fix is to change the routeAdd() statement in
bootCOnfig.c, usrNetwork.c to be:
routeAdd("0.0.0.0", params.gad);
I did change these files as recommended above. AFAIK the bootConfig.c file
is used in compiling the bootrom, so I did that and reflashed my board.
That didn't work. I figured that the bootrom code is superseded by the
VxWorks image....
I also changed userNetwork.c, but when I rebuilt my VxWorks image, I don't
think that file was used?? In any event, that didn't work either. Is this
a viable idea? It sure seems like it should work....
Thanks,
Joe
"Tim Shaw" <Tim....@dsto.defence.gov.au> wrote in message
news:3C7ECF52...@dsto.defence.gov.au...
David
The only problem in putting the routeAdd command in usrAppInit is that I was
forced to enter a hardcoded gateway string. The variable params.gad (which
is the gateway entered in the boot parameters) is not in scope for this file
apparently. I've asked WindRiver this and am awaiting a response. I don't
feel like messing with it anymore - I have to get on with my real work.
I should mention an alternative solution - putting the routeAdd command in a
startup script. That would work as well.
Joe
"david lindauer" <dlin...@notifier-is.net> wrote in message
news:3C7F9B96...@notifier-is.net...
HTH
--
Mit freundlichen Grüßen,
Michael Lawnick
==============================================
SOFTEC GmbH Tel +49-731-96600-0
Promenade 17 Fax +49-731-96600-23
D-89073 Ulm Michael Lawnick
Germany law...@softec.de
==============================================
"Joe Georger" <jgeo...@ll.mit.edu> schrieb im Newsbeitrag
news:HK3h8.83$Sk3....@llslave.llan.ll.mit.edu...
#include "vxWorks.h"
#include "bootLib.h"
#include "prjParams.h"
void usrAppInit (void)
{
BOOT_PARAMS params;
#ifdef USER_APPL_INIT
USER_APPL_INIT; /* for backwards compatibility */
#endif
/* add application specific code here */
bootStringToStruct (BOOT_LINE_ADRS, ¶ms);
if ((sysNvRamGet (BOOT_LINE_ADRS, BOOT_LINE_SIZE, 0) == ERROR) ||
(*BOOT_LINE_ADRS == EOS))
{
/* either no non-volatile RAM or empty boot line */
printf("Adding hardwired gateway\n");
routeAdd ("0.0.0.0", "155.34.103.1");
}
else {
printf("Adding gateway %s from bootline\n", params.gad);
routeAdd("0.0.0.0", params.gad);
}
}
________________________________________ 11.0.x.x net
|
11.0.7.22
Pc Host Gateway ...
10.0.1.244 10.0.6.52 ...
|__________________|_____________________ 10.0.x.x net
|
| <-- Ethernen
|
10.0.7.46
VxWorks Target
62.90.13.177
|
| <-- Dial UP Networking PPP
connection
|
62.90.13.178
Gateway (WindowsNT Workstation)
169.254.0.1
|
__________________________________|_____ 169.254.x.x net
|
169.254.0.2
Pc host
To connect Ethrnet interface I have to call on target
routeAdd("0.0.0.0", "10.0.7.46");
And in order to connect to Dial Up Networking interface I have to call
on target
routeAdd("0.0.0.0", "169.254.0.1");
But VxWorks does not allow to have 2 defaults gateways (WindowsNT
allows several default gateways).
In most cases we don't know the gateway IP addresses and we need two
default gateways.
So the only way (?) is to use dynamical routing algorithms. I added
RIP component in Tornado and RIP (version1) started to run on target.
Then I added RIP service on Gateway WindowsNT 62.90.13.178 and added
gateway entry in route table on 169.254.0.2 PC host:
"route add 62.90.13.0 mask 255.255.255.0 169.254.0.1".
It does not help.
May be somebody know how to access VxWorks target from two different
networks?
Thanks,
Michael
"Joe Georger" <jgeo...@ll.mit.edu> wrote in message news:<P9Mf8.78$Sk3....@llslave.llan.ll.mit.edu>...
Generally you can only have 1 default gateway. Otherwise how do you
select it - it is the DEFAULT, the one used when there isn't a
specific gateway.
With the above, you need to specify 10.0.6.52 as the gateway to
11.x.x.x network and 62.90.13.178 for the 169.254.x.x network.
The default route is used for you route out to the great wide
outdooes (the rest of the web).
David
David Laight <da...@spamm.me.l8s.co.uk> wrote in message news:<3C875618...@spamm.me.l8s.co.uk>...