[sys/net/sixlowpan/sixlowip.h sys/net/sixlowpan/sixlowip.c]
* added capability to initiate a node as router * added capability to check if a node is initiated as router
This commit is contained in:
parent
6d074b4a29
commit
a2d7628a73
@ -383,3 +383,22 @@ uint32_t get_remaining_time(vtimer_t *t){
|
||||
void set_remaining_time(vtimer_t *t, uint32_t time){
|
||||
t->absolute.nanoseconds = time * 1000000;
|
||||
}
|
||||
|
||||
void ipv6_init_iface_as_router(void) {
|
||||
ipv6_addr_t addr;
|
||||
|
||||
ipv6_set_all_rtrs_mcast_addr(&addr);
|
||||
ipv6_iface_add_addr(&addr,ADDR_STATE_PREFERRED,0,0,ADDR_TYPE_MULTICAST);
|
||||
}
|
||||
|
||||
|
||||
uint8_t ipv6_is_router(void) {
|
||||
ipv6_addr_t addr;
|
||||
|
||||
ipv6_set_all_rtrs_mcast_addr(&addr);
|
||||
if (ipv6_iface_addr_match(&addr) != NULL) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -136,6 +136,8 @@ struct icmpv6_hdr_t* get_icmpv6_buf(uint8_t ext_len);
|
||||
struct ipv6_hdr_t* get_ipv6_buf(void);
|
||||
uint8_t * get_payload_buf(uint8_t ext_len);
|
||||
|
||||
void ipv6_init_iface_as_router(void);
|
||||
uint8_t ipv6_is_router(void);
|
||||
void ipv6_set_ll_prefix(ipv6_addr_t *ipaddr);
|
||||
void ipv6_set_all_rtrs_mcast_addr(ipv6_addr_t *ipaddr);
|
||||
void ipv6_set_all_nds_mcast_addr(ipv6_addr_t *ipaddr);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user