PETH drivers

Servio Lima servio at andrew.cmu.edu
Wed Nov 22 07:47:43 EST 2000


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