[ixp1200] The microACE "tutorial"
Øyvind Hvamstadøyvind Hvamstad
oyvindh at ifi.uio.no
Tue Jul 8 04:45:54 EDT 2003
On Sat, 2003-06-21 at 19:41, Abhijeet Joglekar wrote:
> Hi,
Hi
> Did you get this running yet? You seem to be mixing up the "workbench"
> and "non-workbench" mode. If you are running with mode=0, you need
> the SlowIngressCount.uof and SlowEgressRR.uof files in your bin/arm-be
> directory. This is because the ixconfig app loads the microcode with
> the help of RM and uclo in the non-wkbench mode. You can build them from
> the command line on your windows machine using
> src/microace/ucbuild/Makefile.win
No, I'm still not able to run, but with your help, I am now able to load
all the files needed.
What happens now, is that when configuring all four ports (0-3), I get
invalid port 2 and when just running the first 0, I get the error below.
My configuration is attached, I'm really at a loss here. Does the
gigadrv work on the enp-2505?
lsmod tells me:
<lsmod>
rmdrvr 47704 0
octmac 14068 0 (unused)
giga_drv 9128 0 (unused)
ue 72124 1 [rmdrvr]
ixasl 249568 15 [rmdrvr octmac ue]
pciDgNet-arm 2668 1
pciDg-arm 7544 0 [pciDgNet-arm]
</lsmod>
<error>
<serial>
Start module gigadrv
device id is 1
rmdrvr: Programming FBI ...
rmdrvr: Setting up 1-2 Mac mode
rmdrvr: Setting up 64 bit bidirectional mode
ingressAce: memory violation at pc=0x02027ce8, lr=0x400a6af8 (bad
address=0x000)
</serial>
And from the telnet session:
<telnet>
[root at frodo arm-be]$./ixstart ixsys_count_8_1.config
ConfigureFBusInterface: ENP has 64Bit IXbus.
ConfigureFBusInterface: ENP has 64Bit IXbus.
ixconfig: Initialized Resource Manager
ixconfig: ix_task_init successful
ixconfig: Created OSSL thread
ixconfig: ix_res_open_sync successful
ixconfig: ix_ns_open_sync successful
ixconfig: Starting micro aces
ixconfig: Starting microace ifaceInput
ifaceInput: IX-ACE Initialization Failed
Wed Dec 31 20:01:32 1969
ingress_ace.cpp, line 161: init : Couldn't open device /dev/if0.
</telnet>
</error>
> For mode=1, you can build and download the single Count_8_1Gig.uof
> from the workbench.
Ok, thanks this was not very clear in the README
> See if this works.
>
> -- abhijeet
Øyvind
-------------- next part --------------
# **********************************************************************
#
# Sample file for the ixconfig application
#
# It is run at boot time and specifies
#
# - the interfaces that are to be started at system boot time
# - the micro aces that are to be started at system boot time
# - the regular aces that are to be started at system boot time
# - bind configuration
# - Shell commands to be run
#
# For each microace or ace it also lets us specify another
# configuration file that can be used to configure that ace
#
#
# **********************************************************************
#
# First we specify the interfaces we want
#
# For the SI board
# -- 0-15 are fast ethernet ports. 16 and 17 are gigabit ports
#
# <port number> <ip addr> <broadcast> <netmask> <mac address> <flags>
#
# Values for flags are
#
# 0x0 Unicast
# 0x1 Promiscous Mode
# 0x2 All Multicast packets are allowed
# 0x3 Multicast packets in set only
#
interface 0 10.1.0.1 10.1.0.255 255.255.255.0 00:01:02:03:04:05 1
interface 1 10.2.0.1 10.2.0.255 255.255.255.0 00:01:02:03:04:06 1
interface 2 10.3.0.1 10.3.0.255 255.255.255.0 00:01:02:03:04:07 1
interface 3 10.4.0.1 10.4.0.255 255.255.255.0 00:01:02:03:04:08 1
#interface 4 10.5.0.1 10.5.0.255 255.255.255.0 00:01:02:03:04:09 1
#interface 5 10.6.0.1 10.6.0.255 255.255.255.0 00:01:02:03:04:10 1
#interface 6 10.7.0.1 10.7.0.255 255.255.255.0 00:01:02:03:04:11 1
#interface 7 10.8.0.1 10.8.0.255 255.255.255.0 00:01:02:03:04:12 1
#interface 8 10.9.0.1 10.9.0.255 255.255.255.0 00:01:02:03:04:13 1
#interface 9 10.10.0.1 10.10.0.255 255.255.255.0 00:01:02:03:04:14 1
#interface 10 10.11.0.1 10.11.0.255 255.255.255.0 00:01:02:03:04:15 1
#interface 11 10.12.0.1 10.12.0.255 255.255.255.0 00:01:02:03:04:16 1
#interface 12 10.13.0.1 10.13.0.255 255.255.255.0 00:01:02:03:04:17 1
#interface 13 10.14.0.1 10.14.0.255 255.255.255.0 00:01:02:03:04:18 1
#interface 14 10.15.0.1 10.15.0.255 255.255.255.0 00:01:02:03:04:19 1
#interface 15 10.16.0.1 10.16.0.255 255.255.255.0 00:01:02:03:04:20 1
#interface 16 10.17.0.1 10.17.0.255 255.255.255.0 00:01:02:03:04:21 1
#interface 17 10.18.0.1 10.18.0.255 255.255.255.0 00:01:02:03:04:22 1
# *********************************************************************
# Specify if we will be debugging with the workbench and downloading
# code via it
#
# mode <mode>
#
# Values for mode are
#
# 0x0 No workbench.
# 0x1 Download and debug via workbench
mode 0
#mode 1
# *********************************************************************
# Next specify the Microcode files (UOF Files)
#
# <fileType> <fileName>
#
# Values for fileType are
#
# 0x0 Slow Ingress File
# 0x1 Slow Egress File
# 0x2 Fast Ingress File for Port 1
# 0x3 Fast Ingress File for Port 2
# 0x4 Fast Egress File
#
file 0 ./SlowIngressCount.uof
file 1 ./SlowEgressRR.uof
file 2 ./FastIngressCount-seq1.uof
file 3 ./FastIngressCount-seq2.uof
file 4 ./FastEgressFifo.uof
# **********************************************************************
#
# Now specify the microaces
#
# <name of ace> <name of executable> <config file name> <runsOn> \
# <type> <additional parameters>
#
# runsOn can be -- 0 (RUNS_ON_INGRESS_SIDE)
# -- 1 (RUNS_ON_EGRESS_SIDE)
#
# type can be -- 0 (unknown type)
# 1 (Ingress)
# 2 (egress)
# 3 (L3)
# 4 (L2)
# 5 (input nat)
# 6 (output nat)
#
#
# The first parameter to every microace is the mask of microengines it
# runs on. This is passed automatically by the application. The <additional
# parameters> specify the rest of the command line parameters
#
# no config file for ingress and egress needed and no parameters
microace ifaceInput ./ingressAce none 0 1
microace ifaceOutput ./egressAce none 1 2
# This microace will substitute for L3 for now
#
# options for CountMicroAce are
#
# -v : verbose
# -target : send packets over the default target
# -loop : loop back packets to the microblock
# -blockname <name> : name of the microblock
# -port <portNumber>: output port to send to (default is dont change what's in
# the ofnum of the packet)
#
microace CountMicroAce ./CountMicroAce 0 0 none -target -blockname COUNT
# **********************************************************************
#
# Now specify the regular aces like stack ace, nat control ace, spanning
# tree ace etc
#
# <name of ace> <name of executable> <config file name> <type> <parameters>
#
#
# type can be -- 0 (unknown type)
# 1 (Spanning Tree)
# 2 (Nat control)
# 3 (Stack ace)
#
# <parameters> are any command line (argc/argv) parameters to be passed to
# the ace
#
# **********************************************************************
# **********************************************************************
#
# Now specify the all the bind operations
#
# <static/regular> <target name> <ace name>
#
# Specify static for microace to microace static targets
#
bind static ifaceInput/default CountMicroAce
bind static CountMicroAce/default ifaceOutput
# **********************************************************************
# Now specify any shell commands. These will always be executed last
# no matter where they are specified. Note that these are to be used
# typically for things like adding arp entries to the linux stack.
#
# Below we add arp entries to the linux stack. This is needed because
# the traffic generator we are using does not respond to ARP requests.
# Otherwise this is typically not needed as long as the ARP target of
# of the interface ace is bound to the stack ace
#
# Below we add a couple of arp entries
#
# Syntax is
#
# sh [command string to be executed]
#
# sh arp -s 10.1.0.2 01:02:03:04:05:06
# sh arp -s 10.2.0.2 02:02:03:04:05:06
# sh arp -s 10.3.0.2 03:02:03:04:05:06
# sh arp -s 10.4.0.2 04:02:03:04:05:06
# sh arp -s 10.5.0.2 05:02:03:04:05:06
# sh arp -s 10.6.0.2 06:02:03:04:05:06
# sh arp -s 10.7.0.2 07:02:03:04:05:06
# sh arp -s 10.8.0.2 08:02:03:04:05:06
# sh arp -s 10.9.0.2 09:02:03:04:05:06
# **********************************************************************
More information about the ixp1200
mailing list