Contiki 3.x
static-routing.h
1 /*
2  * static-routing.h
3  *
4  * Created on: Oct 12, 2010
5  * Author: dogan
6  */
7 
8 #ifndef STATICROUTING_H_
9 #define STATICROUTING_H_
10 
11 #if !defined (CONTIKI_TARGET_MINIMAL_NET)
12 #define NODE_IP(nodeid,type,ipaddr) NODE_##nodeid##_##type(ipaddr)
13 
14 /*desktop machine*/
15 #define DESKTOP_MACHINE_ID 0
16 #define NODE_0_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0x0001)
17 
18 /*Cooja Nodes*/
19 #define COOJA_BORDER_ROUTER_ID 1
20 #define NODE_1_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7401, 0x0001, 0x0101)
21 #define NODE_1_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7401, 0x0001, 0x0101)
22 
23 #define NODE_2_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7402, 0x0002, 0x0202)
24 #define NODE_2_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7402, 0x0002, 0x0202)
25 
26 #define NODE_3_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7403, 0x0003, 0x0303)
27 #define NODE_3_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7403, 0x0003, 0x0303)
28 
29 #define NODE_6_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7406, 0x0006, 0x0606)
30 #define NODE_6_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7406, 0x0006, 0x0606)
31 
32 /*real nodes*/
33 #define BORDER_ROUTER_ID 11
34 #define NODE_11_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7400, 0x116e, 0xd5f1)
35 #define NODE_11_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7400, 0x116e, 0xd5f1)
36 
37 #define NODE_12_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7400, 0x1160, 0xf95a)
38 #define NODE_12_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7400, 0x1160, 0xf95a)
39 
40 #define NODE_13_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7400, 0x117d, 0x3575)
41 #define NODE_13_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7400, 0x117d, 0x3575)
42 
43 #define NODE_22_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7400, 0x116e, 0xc0f6)
44 #define NODE_22_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7400, 0x116e, 0xc0f6)
45 
46 #define NODE_23_GLOBAL(ipaddr) uip_ip6addr(ipaddr, 0xaaaa, 0, 0, 0, 0x0212, 0x7400, 0x117d, 0x0d5a)
47 #define NODE_23_LOCAL(ipaddr) uip_ip6addr(ipaddr, 0xfe80, 0, 0, 0, 0x0212, 0x7400, 0x117d, 0x0d5a)
48 
49 #define ADD_ROUTE(node_global,node_local)\
50 do{\
51  uip_ipaddr_t ipaddr_local, ipaddr_global;\
52  NODE_IP(node_global, GLOBAL, &ipaddr_global);\
53  NODE_IP(node_local, LOCAL, &ipaddr_local);\
54  uip_ds6_route_add(&ipaddr_global, 128, &ipaddr_local);\
55 }while(0)
56 
57 void set_global_address(void);
58 void configure_routing(void);
59 
60 #endif /*CONTIKI_TARGET_MINIMAL_NET*/
61 #endif /* STATICROUTING_H_ */