PETH drivers

Johnson, Erik J erik.j.johnson at intel.com
Mon Nov 27 10:44:15 EST 2000


I just successfully recompiled and here are the
steps I took:

0). Make sure your environment is setup, define

WIND_BASE as the root dir of your Tornado installation (e.g, C:\Tornado)
WIND_HOST_TYPE as x86-win32

These can also be set by running torVars.bat in Tornado\host\x86-win32\bin
(no magic here, I assume you have already done this since it it needed
to compile anything for VxWorks)

1) cd IXP1200\BoardSupport\VxWorks\IXP1200EB\
2) Edit Makefile and make sure -DMVR is added as an extra  flag
3) make clean
4) make vxWorks

I wonder if the missing defines come from system makefiles, which,
perhaps the system can't find if you don't set the WIND_BASE
environment variable properly....?

erik

> -----Original Message-----
> From: Servio Lima [mailto:servio at andrew.cmu.edu]
> Sent: Thursday, November 23, 2000 5:17 AM
> To: Johnson, Erik J
> Cc: ixp1200 at CS.Princeton.EDU
> Subject: Re: PETH drivers
> 
> 
> Hi,
> 
> In the compilation process of Vxworks , I've found several 
> flags specified
> in the Makefile , defs files and  rules files that needs to 
> be declared
> first. These flags have null values and they cause the whole 
> make process to
> stop abruptly.  For example:
> 
> partialImage.o: $(LDDEPS) $(PRJ_OBJS) $(EXTRA_MODULES) 
> $(COMPONENT_LIBS)
> $(LIBS) $(PRJ_OBJS_FILE)
>  - @ $(RM) $@
> 
> flags like the Tornado source directory are not defined. 
> Whats the procedure
> for giving values to them?
> 
> Regards,
> Servio
> 
> 
> "Johnson, Erik J" wrote:
> 
> > What does the console (serial) window say when
> > you get these failures?  If you are getting
> > IP_MAX_UNITS failures, then you need to recompile
> > vxworks with IP_MAX_UNITS set higher than 1
> > (it needs to be >= PETH_NUM_DEVS + 1).  The NetApp
> > init code registers the END driver(s) with the
> > IP stack and be default VxWorks only allows
> > one registration with the IP stack (which is
> > consumed by the Intel NIC/driver).  You can
> > see an example of how I did this in the supplied
> > BoardSupport/VxWorks/IXP1200EB/config.h, search
> > for MVR, or IP_MAX_UNITS, and then follow this
> > model to build your BSP (or if you are using the
> > supplied BSP, just define MVR and recompile)
> >
> > if that is not the problem, I am at a loss.
> > Perhaps it is a version mis-match?  The driver
> > was written for VxWorks 5.4 (if I remember correctly)
> > maybe something changed in the END interface...?
> >
> > The default routes were #ifdef'd out for the MVR
> > application because we were demonstrating a routing
> > protocol (OSPF) rather than static routes.  In addition,
> > the route table manager changed its interface slightly
> > to support the notion of virtual routers.  If you want
> > to add a route, simply use the rtm_mvr code.  look in
> > SA1_CoreLibs/rtm-mvr/, the VxWorks shell commands are
> > available from rtm_console.cpp/rtm_console.h if you
> > just want to call them "by hand", or add them into
> > any init code you want.
> >
> > erik
> >
> > > -----Original Message-----
> > > From: Servio Lima [mailto:servio at andrew.cmu.edu]
> > > Sent: Wednesday, November 22, 2000 4:48 AM
> > > To: Johnson, Erik J; ixp1200 at CS.Princeton.EDU
> > > Subject: Re: PETH drivers
> > >
> > >
> > > Hi,
> > >
> > > I still get the same error , even reducing the number of 
> PETH devices:
> > > -> NetApp_GigInit
> > >
> > > STATUS OF intConnect = 0
> > > BigMacDriver CTOR OctalMacNumber = 0
> > > status = 0
> > > status = ffffffff
> > > Failed to load Pseudo Ethernet driver number 0
> > > Failed to load Pseudo Ethernet driver number 1
> > > Failed to load Pseudo Ethernet driver number 2
> > > Failed to load Pseudo Ethernet driver number 3
> > > value = -1341915136 = 0xb0040000
> > >
> > > Some hints:
> > >  I am compiling the vxworks_mvr application using Tornado with the
> > > following flags:
> > > ccarm
> > > -g -mcpu=strongarm110 -mapcs-32 -ansi -nostdinc -DRW_MULTI_THREAD
> > > -D_REENTRANT -mno-sched-prolog -fno-builtin -fvolatile -w
> > > -Wall -pedantic
> > > -I. -IC:/Tornado/target/h -Ic:\ixp1200\include
> > > -Ic:\ixp1200\SA1_CoreLibs\libd -Ic:\ixp1200\msgq
> > > -Ic:\ixp1200\SA1_CoreLibs\GigaMAC_GC82547EB
> > > -Ic:\ixp1200\SA1_CoreLibs\debug_1200 -Ic:\ixp1200\utils 
> -DCPU=ARMSA110
> > > -DOS=VXWORKS -DIOSTYLE=HARDWARE -DVX_WORKS -DVXWORKS -DROUTE
> > > -DFBUS_DEV0_TYPE=0 -DFBUS_DEV1_TYPE=1 -DMAC_21440 -DMAC_GC82547EB
> > > -DWB_SVR -DFBUS_DEVICE_COUNT=2 -D__unix  -DRTM_MVR 
> -DROUTE  -DPETH_DRV
> > > -DPETH_NUM_DEVS=4
> > >
> > >
> > > That are the same flags found in  vxworks_mvr.mak makefile
> > > Any suggestions?
> > >
> > > In addition , I'd like to know exactly where the route for
> > > port 18 should
> > > be inserted in the fixed routing table that is implemented in
> > > \Ixp1200\SA1_Corelibs\app1200\net_app.cpp, because there is a
> > > preprocessor directive that banned the insertion of a route
> > > in the place
> > > where other routes are added. An extracted portion of the
> > > code  explains
> > > this:
> > >
> > > #ifdef ROUTE
> > > #ifndef RTM_MVR  ------------------> it is assumed that if
> > > MVR is used a
> > > new    route can not be inserted??
> > >  rt_add("1.1.1.1", "255.0.0.0", 1);
> > > ....etc
> > >
> > >
> > > Thanks in advance,
> > > Servio
> > >
> > >
> > >
> > >
> > > "Johnson, Erik J" wrote:
> > >
> > > > Sorry, I missed the last part of your email.
> > > > The PETH driver ASSUMES it gets packets from port 18,
> > > > you don't need to instantiate that many drivers.
> > > > Simply instantiate drivers for the ports you want to
> > > > logically represent to VxWorks (e.g, just the first
> > > > 4 10/100 ports).  Then each driver will enqueue for
> > > > the transmit port associated with its instance,
> > > > all will receive from port 18 and demultiplexing will
> > > > be done based on the ingress port number within the
> > > > packet descriptor.  Note, you should be loading the
> > > > MVRRefdes microcode with this driver since it has
> > > > modifications to the microcode that allow the core to
> > > > properly enqueue on the outgoing (transmit) queues.
> > > >
> > > > erik
> > > >
> > > > > -----Original Message-----
> > > > > From: Servio Lima [mailto:servio at andrew.cmu.edu]
> > > > > Sent: Tuesday, November 21, 2000 2:23 PM
> > > > > Cc: ixp1200 at CS.Princeton.EDU
> > > > > Subject: PETH drivers
> > > > >
> > > > >
> > > > >
> > > > > Hi,
> > > > > Does anyone has experience using Pseudo Ethernet drivers for
> > > > > StrongArm-Microengine
> > > > > communications?
> > > > > I got the following problem each time I compile with the
> > > > > -DPETH_DRV flag on
> > > > > (using Tornado Workbench):
> > > > >
> > > > > -> ld < my_rtmmvr.out
> > > > > Loading C:/project2/ARMSA110gnu/rtmmvr.out |
> > > > > value = 3275480 = 0x31fad8
> > > > > -> NetApp_GigInit
> > > > >
> > > > > STATUS OF intConnect = 0
> > > > > BigMacDriver CTOR OctalMacNumber = 0
> > > > > status = 0
> > > > > status = ffffffff
> > > > > Failed to load Pseudo Ethernet driver number 0
> > > > > Failed to load Pseudo Ethernet driver number 1
> > > > > Failed to load Pseudo Ethernet driver number 2
> > > > > Failed to load Pseudo Ethernet driver number 3
> > > > > Failed to load Pseudo Ethernet driver number 4
> > > > > Failed to load Pseudo Ethernet driver number 5
> > > > > Failed to load Pseudo Ethernet driver number 6
> > > > > Failed to load Pseudo Ethernet driver number 7
> > > > > Failed to load Pseudo Ethernet driver number 8
> > > > > Failed to load Pseudo Ethernet driver number 9
> > > > > Failed to load Pseudo Ethernet driver number 10
> > > > > Failed to load Pseudo Ethernet driver number 11
> > > > > Failed to load Pseudo Ethernet driver number 12
> > > > > Failed to load Pseudo Ethernet driver number 13
> > > > > Failed to load Pseudo Ethernet driver number 14
> > > > > Failed to load Pseudo Ethernet driver number 15
> > > > > Failed to load Pseudo Ethernet driver number 16
> > > > > Failed to load Pseudo Ethernet driver number 17
> > > > > Failed to load Pseudo Ethernet driver number 18
> > > > > Failed to load Pseudo Ethernet driver number 19
> > > > >
> > > > > Exception number 16: Task: 0x3bff74 (t31)
> > > > >
> > > > > Data abort
> > > > > Program Counter:   0xcc294
> > > > > Status Register:   0x60000013
> > > > > 8e6c8    _vxTaskEntry   +28 : 3ff64 ()
> > > > > 40008    _wdbFuncCallLibInit+128: _NetApp_GigInit ()
> > > > > cc358    _NetApp_GigInit+c  : _NetApp_Init__Fv ()
> > > > >
> > > > > Data abort
> > > > > Exception address: 0x000cc294
> > > > > Current Processor Status Register: 0x60000013
> > > > > Task: 0x3bff74 "t31"
> > > > > value = 0 = 0x0
> > > > >
> > > > >
> > > > > I am using -DPETH_NUM_DEVS=20, that is 20 PETH devices,
> > > > > because I want to use port
> > > > > No. 18 for the StrongArm-uengine communication.
> > > > >
> > > > > Basically the problem is the invocation of the function:
> > >  cookie =
> > > > > muxDevLoad(pethDrvNum, pethEndLoad, pethInitStr, 0, NULL);
> > > > > that can be found in 
> \IXP1200\SA1_CoreLibs\app_1200\net_app.cpp
> > > > >
> > > > > My  goal is to transmit a packet from the StronArm to the
> > > > > uengine and viceversa. I
> > > > > think I should enable the PETH functionality first, but if
> > > > > anyone knows of
> > > > > another method for doing the same, please let me know ASAP.
> > > > >
> > > > > Any help would be appreciated.
> > > > >
> > > > > Regards,
> > > > > Servio Lima7
> > > > >
> > > > >
> > >
> > >
> 
> 




More information about the ixp1200 mailing list