62
//
// output [0] passes through the Grid MAC packets
//
// output [1] produces ICMP error packets to be passed back to IP
// routing layer
input -> cl :: Classifier(19/03, -);
cl [1] -> output; // don't try to dec ttl for non-IP packets...
cl [0]
-> MarkIPHeader(82)
-> cl2 :: IPClassifier(src host != me, -);
cl2 [0]-> dec :: DecIPTTL; // only decrement ttl for packets we don't originate
cl2 [1] -> output;
dec [0] -> output;
dec [1] -> ICMPError(me, 11, 0) -> [1] output;
};
li :: GridLocationInfo2(0, 0, LOC_GOOD false);
elementclass FixupGridHeaders {
$li | // LocationInfo element
input
-> FixSrcLoc($li)
-> SetGridChecksum
-> output;
};
elementclass ToGridDev {
// push, no output
$dev |
input -> cl :: Classifier(12/7ffe, // LinkStat 1
12/7ffd, // LinkStat 2
19/02,
19/03);
prio :: PrioSched;
cl [0] -> probe_counter :: Counter -> probe_q :: Queue(5) -> [0] prio;
cl [1] -> probe_counter;
cl [2] -> route_counter :: Counter -> route_q :: Queue(5) -> FixupGridHeaders(li) ->
[1] prio;
cl [3] -> data_counter :: Counter -> data_q :: Queue(5)
-> data_counter_out :: Counter
-> tr :: TimeRange
-> lr :: LookupLocalGridRoute2(me:eth, me:ip, nb)
-> FixupGridHeaders(li)
-> data_counter_out2 :: Counter
-> tr2 :: TimeRange
Comentarios a estos manuales