2018-03-26 18:51:02 +00:00
|
|
|
;TIMEOUT(20000, log.testFailed());
|
|
|
|
|
|
|
|
dst_lla = "fe80::202:2:2:2";
|
|
|
|
dst_ula = "fd00::202:2:2:2";
|
|
|
|
dst_mac = "0002.0002.0002.0002";
|
|
|
|
step = 0;
|
|
|
|
|
|
|
|
while(1) {
|
|
|
|
YIELD();
|
|
|
|
log.log(time + " " + id + " "+ msg + "\n");
|
|
|
|
|
2018-05-18 21:07:53 +00:00
|
|
|
if(msg.contains("Node ID: ")) {
|
2018-03-26 18:51:02 +00:00
|
|
|
if(id == 1) {
|
|
|
|
write(sim.getMoteWithID(1), "rpl-set-root 1");
|
|
|
|
}
|
|
|
|
step += 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(step == 2 && time > 15000000) {
|
|
|
|
write(sim.getMoteWithID(1), "ping " + dst_ula);
|
|
|
|
step += 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(msg.contains("Received ping reply")) {
|
|
|
|
write(sim.getMoteWithID(1), "ip-nbr");
|
|
|
|
}
|
|
|
|
|
|
|
|
if(msg.contains("<->")) {
|
|
|
|
re = /-- | <-> |, router|, state /;
|
|
|
|
nc = msg.split(re);
|
|
|
|
ip_addr = nc[1];
|
|
|
|
ll_addr = nc[2];
|
|
|
|
is_router = nc[3];
|
|
|
|
state = nc[4].trim();
|
|
|
|
/* in RPL case, nbr doesn't have ula. */
|
|
|
|
if((ip_addr == dst_lla || ip_addr == dst_ula) &&
|
|
|
|
ll_addr == dst_mac &&
|
|
|
|
state == "Reachable") {
|
|
|
|
log.testOK();
|
|
|
|
} else {
|
|
|
|
log.log(ip_addr + "\n");
|
|
|
|
log.log(ll_addr + "\n");
|
|
|
|
log.log(state + "\n");
|
|
|
|
log.testFailed();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|