userlevel error

Rahul Sachdev sachdr at rpi.edu
Sun Aug 11 13:54:27 EDT 2002


hi,

im attaching the configuration file alongwith,
can this have anything to do with the error which i was getting when
pushing a packet from the ingress?...(previous email about userlevel)


thnx

rahul

//---------------CONFIG FILE-------------------------------

AddressInfo(INGRESS_CIN 192.168.3.1/8 00:01:02:74:1B:97);
AddressInfo(INGRESS_DIN 192.168.5.1/8 00:03:47:74:B9:CF);
AddressInfo(INGRESS_OUT 192.168.1.1/8 00:01:02:BF:95:7C);

AddressInfo(INGRESS-NEWBOT 192.168.9.1/8 00:50:DA:05:DE:68);

AddressInfo(DELAY_IN 192.168.8.1/8 00:50:04:E3:52:66);
AddressInfo(DELAY_OUT 192.168.3.2/8 00:C0:4F:A1:60:E0);

AddressInfo(SOURCE_IN  192.168.6.1/8 00:01:02:BF:FF:85);
AddressInfo(SOURCE_OUT 192.168.5.2/8 00:03:47:76:25:FA);

AddressInfo(EGRESS_IN 192.168.2.2/8 00:03:47:76:2D:7F);
AddressInfo(EGRESS_DOUT 192.168.4.1/8 00:01:02:BF:95:7A);
AddressInfo(EGRESS_COUT 192.168.8.2/8 00:01:02:BF:95:E5);

AddressInfo(BOTTLE_IN 192.168.1.2/8 00:03:47:76:25:B2);
AddressInfo(BOTTLE_OUT 192.168.2.1/8 00:01:02:74:1D:4F);

AddressInfo(DEST_IN 192.168.4.2/8 00:03:47:76:2D:F2);
AddressInfo(DEST_OUT 192.168.6.2/8 00:01:02:71:F6:23);

AddressInfo(NEWBOTTLE-ING 192.168.9.2/8 00:03:47:75:19:8D);
AddressInfo(NEWBOTTLE-BOT 192.168.7.2/8 00:50:04:E3:52:5D);
AddressInfo(NEWBOTTLE-EGR 192.168.4.3/8 00:50:DA:05:E0:4B);

//erate::Counter();
//PokeHandlers(read erate.rate,wait 1,loop);


Egress1::EgressPacketHandler(1000,1);
//multiloop..
Egress2::EgressPacketHandler(1000,1);

//Port 0 In band Control Packets
//Port 1 Data packets
//Port 2 Out of band control Packets

IngressQ::Queue();
SinkQ::Queue();

C::Classifier(12/0806 20/0001,
	      12/0806 20/0002,
	      12/0800,
	      -);

//DEST is pumping packets into INGRESS
//Egress gives the packets back to dest

//Can get away with hardcoding of SOURCE and DESTINATION

//classifying order <loop(i)-ib,data,oob> gets repeated

//IP::IPClassifier(src BOTTLE_OUT and dst EGRESS_IN and ip dscp 1,src
BOTTLE_OUT and dst EGRESS_IN and ip dscp 1, src BOTTLE_OUT and dst
EGRESS_IN and ip dscp 2, BOTTLE_OUT and dst EGRESS_IN and ip dscp 3, src
BOTTLE_OUT and dst EGRESS_IN and ip dscp 3,BOTTLE_OUT and dst EGRESS_IN and
ip dscp 4,-);

IP::IPClassifier(src SOURCE_OUT and dst EGRESS_IN and ip dscp 1,src
BOTTLE_OUT and dst EGRESS_IN and ip dscp 1, src BOTTLE_OUT and dst
EGRESS_IN and ip dscp 2, SOURCE_OUT and dst EGRESS_IN and ip dscp 3, src
BOTTLE_OUT and dst EGRESS_IN and ip dscp 3,BOTTLE_OUT and dst EGRESS_IN and
ip dscp 4,-);

//***********From Device is here ***********

f::FromDevice(eth0) -> C;

//Arp queries and replies
//C[0] -> Print(ARPRequest) -> ARPResponder(EGRESS 192.168.0.0/24
ETHEGRESS) -> myq;

C[0] -> Discard;

C[1] -> Discard;

C[2] -> Strip(14) ->
CheckIPHeader(18.26.4.255 2.255.255.255 1.255.255.255)->
IP;

//LOOP 1*********

//Inband
IP[0] ->  StripIPHeader() -> Paint(1) -> [0]Egress1;

//Data, goes through Counter. Needed to calculate the egress rate seen
IP[1] -> Counter() -> [1]Egress1;

//Out of band
IP[2] -> StripIPHeader() -> [2]Egress1;

//Reverse CTRL pkt; DSCP = 2(ctrl_loop_number) - 1
Egress1[0] -> Print(cool) -> IPEncap(61,EGRESS_COUT, DELAY_IN,DSCP 1) ->
EtherEncap(0x0800, EGRESS_COUT, DELAY_IN) -> IngressQ;

//DATA pkt forwarded
Egress1[1] -> EtherEncap(0x0800,EGRESS_DOUT,DEST_IN) -> SinkQ;

//multiloop
// LOOP 2**********

//Inband
IP[3] ->  StripIPHeader() -> Paint(2) -> [0]Egress2;

//Data, goes through Counter. Needed to calculate the egress rate seen
IP[4] -> Counter() -> [1]Egress2;

//Out of band
IP[5] -> StripIPHeader() -> [2]Egress2;

//Reverse CTRL pkt; DSCP = 2(ctrl_loop_number) - 1
Egress2[0] -> IPEncap(61,EGRESS_COUT, DELAY_IN,DSCP 3) ->
EtherEncap(0x0800, EGRESS_COUT, DELAY_IN) -> IngressQ;

//DATA pkt forwarded
Egress2[1] -> EtherEncap(0x0800,EGRESS_DOUT,DEST_IN) -> SinkQ;

//END OF LOOP2

//Any other IP packet from the world is given to Linux.

IP[6] -> EnsureEther() -> Discard;

//Any other packet is given to Linux
C[3] -> Discard;


IngressQ -> Print(ok) -> td2::ToDevice(eth2);
SinkQ -> td1::ToDevice(eth1);








More information about the click mailing list