Configuration

require(esp);

test::IPESPSwitch();
classify::ESPClassifier(input && opcode >= 64, 
                        output ,
                        center && execsend reflect, 
                        reflect && center && execrecv,
                         -);

InfiniteSource2(DATA \<00 00 c0 ae 67 ef  00 00 00 00 00 00  08 00
45 00 00 2C  10 32 40 00  3F C8 A6 81  C0 A8 01 03  C0 A8 02 03
01 8C 00 04  AB 01
00 00 00 01 12 34 56 78 00 00 00 00 00 00 00 03
5F 95 7E 2A  >, LIMIT 10, STOP yes, INTERVAL 2 , REPEAT 5)

        -> Strip(14)
        -> CheckIPHeader() 
        -> test;
test[0]
        -> Print(NonESP)
        -> Discard;
test[1]
        -> classify

classify[0]
        -> Print("port 0")
        -> Discard;
classify[1]
        -> Print("port 1")
        -> Discard;
classify[2]
        -> Print("port 2")
        -> Discard;
classify[3]
        -> Print("port 3")
        -> Discard;
classify[4]
        -> Print("port 4")
        -> Discard ;

Element index

CheckIPHeader (type)
see CheckIPHeader@5

CheckIPHeader@5 :: CheckIPHeader - config, table

classify :: ESPClassifier - config, table

Discard (type)
see Discard@7, Discard@9, Discard@11, Discard@13, Discard@15, Discard@17

Discard@7 :: Discard - config, table

Discard@9 :: Discard - config, table

Discard@11 :: Discard - config, table

Discard@13 :: Discard - config, table

Discard@15 :: Discard - config, table

Discard@17 :: Discard - config, table

ESPClassifier (type)
see classify

InfiniteSource2 (type)
see InfiniteSource2@3

 

InfiniteSource2@3 :: InfiniteSource2 - config, table

IPESPSwitch (type)
see test

Print (type)
see Print@6, Print@8, Print@10, Print@12, Print@14, Print@16

Print@6 :: Print - config, table

Print@8 :: Print - config, table

Print@10 :: Print - config, table

Print@12 :: Print - config, table

Print@14 :: Print - config, table

Print@16 :: Print - config, table

Strip (type)
see Strip@4

Strip@4 :: Strip - config, table

test :: IPESPSwitch - config, table

Element tables

CheckIPHeader@5 :: CheckIPHeader (config)

 
input  0 (push) <- Strip@4 [0]
output 0 (push) -> [0] test

classify :: ESPClassifier (config)

 
input  0 (push) <- test [1]
output 0 (push) -> [0] Print@8
output 1 (push) -> [0] Print@10
output 2 (push) -> [0] Print@12
output 3 (push) -> [0] Print@14
output 4 (push) -> [0] Print@16

Discard@7 :: Discard (config)

 
input  0 (push) <- Print@6 [0]
no outputs

Discard@9 :: Discard (config)

 
input  0 (push) <- Print@8 [0]
no outputs

Discard@11 :: Discard (config)

 
input  0 (push) <- Print@10 [0]
no outputs

Discard@13 :: Discard (config)

 
input  0 (push) <- Print@12 [0]
no outputs

Discard@15 :: Discard (config)

 
input  0 (push) <- Print@14 [0]
no outputs

Discard@17 :: Discard (config)

 
input  0 (push) <- Print@16 [0]
no outputs

InfiniteSource2@3 :: InfiniteSource2 (config)

 
no inputs
output 0 (push) -> [0] Strip@4
 

Print@6 :: Print (config)

 
input  0 (push) <- test [0]
output 0 (push) -> [0] Discard@7

Print@8 :: Print (config)

 
input  0 (push) <- classify [0]
output 0 (push) -> [0] Discard@9

Print@10 :: Print (config)

 
input  0 (push) <- classify [1]
output 0 (push) -> [0] Discard@11

Print@12 :: Print (config)

 
input  0 (push) <- classify [2]
output 0 (push) -> [0] Discard@13

Print@14 :: Print (config)

 
input  0 (push) <- classify [3]
output 0 (push) -> [0] Discard@15

Print@16 :: Print (config)

 
input  0 (push) <- classify [4]
output 0 (push) -> [0] Discard@17

Strip@4 :: Strip (config)

 
input  0 (push) <- InfiniteSource2@3 [0]
output 0 (push) -> [0] CheckIPHeader@5

test :: IPESPSwitch (config)

 
input  0 (push) <- CheckIPHeader@5 [0]
output 0 (push) -> [0] Print@6
output 1 (push) -> [0] classify