[sys/net/sixlowpan/sixlowip.h sys/net/sixlowpan/sixlowip.c]
* added loopback address generation features
This commit is contained in:
parent
2c20f8fafd
commit
fe464025c1
@ -65,7 +65,7 @@ void sixlowpan_send(ipv6_addr_t *addr, uint8_t *payload, uint16_t p_len){
|
|||||||
void ipv6_process(void){
|
void ipv6_process(void){
|
||||||
msg m;
|
msg m;
|
||||||
msg_init_queue(msg_queue, IP_PKT_RECV_BUF_SIZE);
|
msg_init_queue(msg_queue, IP_PKT_RECV_BUF_SIZE);
|
||||||
|
|
||||||
while(1){
|
while(1){
|
||||||
msg_receive(&m);
|
msg_receive(&m);
|
||||||
|
|
||||||
@ -208,6 +208,17 @@ void ipv6_set_all_nds_mcast_addr(ipv6_addr_t *ipaddr){
|
|||||||
ipaddr->uint16[7] = HTONS(0x0001);
|
ipaddr->uint16[7] = HTONS(0x0001);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ipv6_set_lpback_addr(ipv6_addr_t *ipaddr){
|
||||||
|
ipaddr->uint16[0] = 0;
|
||||||
|
ipaddr->uint16[1] = 0;
|
||||||
|
ipaddr->uint16[2] = 0;
|
||||||
|
ipaddr->uint16[3] = 0;
|
||||||
|
ipaddr->uint16[4] = 0;
|
||||||
|
ipaddr->uint16[5] = 0;
|
||||||
|
ipaddr->uint16[6] = 0;
|
||||||
|
ipaddr->uint16[7] = HTONS(0x0001);
|
||||||
|
}
|
||||||
|
|
||||||
void ipv6_get_saddr(ipv6_addr_t *src, ipv6_addr_t *dst){
|
void ipv6_get_saddr(ipv6_addr_t *src, ipv6_addr_t *dst){
|
||||||
/* try to find best match if dest is not mcast or link local */
|
/* try to find best match if dest is not mcast or link local */
|
||||||
int8_t itmp = -1;
|
int8_t itmp = -1;
|
||||||
|
|||||||
@ -56,8 +56,9 @@ extern double start;
|
|||||||
#define ADDR_TYPE_MULTICAST 2
|
#define ADDR_TYPE_MULTICAST 2
|
||||||
#define ADDR_TYPE_ANYCAST 3
|
#define ADDR_TYPE_ANYCAST 3
|
||||||
#define ADDR_TYPE_SOL_NODE_MCAST 4
|
#define ADDR_TYPE_SOL_NODE_MCAST 4
|
||||||
#define ADDR_TYPE_LINK_LOCAL 5
|
#define ADDR_TYPE_LOOPBACK 5
|
||||||
#define ADDR_TYPE_GLOBAL 6
|
#define ADDR_TYPE_LINK_LOCAL 6
|
||||||
|
#define ADDR_TYPE_GLOBAL 7
|
||||||
/* dispatch types */
|
/* dispatch types */
|
||||||
#define DISPATCH_TYPE_IPV6 0x41
|
#define DISPATCH_TYPE_IPV6 0x41
|
||||||
#define DISPATCH_TYPE_LOWPAN_HC1 0x42
|
#define DISPATCH_TYPE_LOWPAN_HC1 0x42
|
||||||
@ -138,6 +139,7 @@ uint8_t * get_payload_buf(uint8_t ext_len);
|
|||||||
void ipv6_set_ll_prefix(ipv6_addr_t *ipaddr);
|
void ipv6_set_ll_prefix(ipv6_addr_t *ipaddr);
|
||||||
void ipv6_set_all_rtrs_mcast_addr(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);
|
void ipv6_set_all_nds_mcast_addr(ipv6_addr_t *ipaddr);
|
||||||
|
void ipv6_set_lpback_addr(ipv6_addr_t *ipaddr);
|
||||||
void ipv6_set_sol_node_mcast_addr(ipv6_addr_t *addr_in, ipv6_addr_t *addr_out);
|
void ipv6_set_sol_node_mcast_addr(ipv6_addr_t *addr_in, ipv6_addr_t *addr_out);
|
||||||
void sixlowpan_bootstrapping(void);
|
void sixlowpan_bootstrapping(void);
|
||||||
void sixlowpan_send(ipv6_addr_t *addr, uint8_t *payload, uint16_t p_len);
|
void sixlowpan_send(ipv6_addr_t *addr, uint8_t *payload, uint16_t p_len);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user