58
// don't advertise as a gateway
to_gateway :: GridGatewayInfo (nb, false);
nb :: DSDVRouteTable(60000, 15000, 7500, 1000,
me:eth, me:ip,
MAX_HOPS 100,
METRIC metric,
GW to_gateway,
VERBOSE true
);
grid_demux :: Classifier(19/03, // encapsulated (data) packets
19/02); // route advertisement packets
// handles IP packets with Grid data encapsulation
grid_data_demux :: IPClassifier(dst host me, // ip for us
dst net me/24); // ip for Grid network
// dev0
dev0 :: ToGridDev(ath0);
from_dev0 :: FromGridDev(ath0, me:eth)
from_dev0 [0] -> Paint(0) -> grid_demux
from_dev0 [1] -> Paint(0) -> probe_cl :: Classifier(12/7ffe, 12/7ffd);
probe_cl [0] -> ls -> probe_switch :: Switch(-1) -> dev0;
probe_cl [1] -> ls2 -> probe_switch;
// support for traceroute
dec_ip_ttl :: TTLChecker -> dev0;
dec_ip_ttl [1] -> ip_demux;
grid_demux [0] -> CheckIPHeader( , 82) -> grid_data_demux;
grid_demux [1] -> nb -> dev0;
// not needed in userlevel
arp_demux [1] -> Strip(14)->IPPrint(arp_demux[1]->)->ip_input;
from_dev0 [2] -> ToHost(me);
//ControlSocket(tcp, 7777);
ip_demux [0] -> to_host_encap; // loopback packet sent by us, required on BSD userlevel
// forward packet sent by us
ip_demux [1] ->ip_to_grid :: GetIPAddress(16) ->
CheckIPHeader ->
GridEncap(me:eth, me:ip) ->
dec_ip_ttl;
Comentarios a estos manuales