[sys/net/sixlowpan/sixlowip.h sys/net/sixlowpan/sixlowip.c]

* added loopback address generation features
This commit is contained in:
mlenders 2011-06-22 11:57:17 +02:00
parent 2c20f8fafd
commit fe464025c1
2 changed files with 16 additions and 3 deletions

View File

@ -65,7 +65,7 @@ void sixlowpan_send(ipv6_addr_t *addr, uint8_t *payload, uint16_t p_len){
void ipv6_process(void){
msg m;
msg_init_queue(msg_queue, IP_PKT_RECV_BUF_SIZE);
while(1){
msg_receive(&m);
@ -208,6 +208,17 @@ void ipv6_set_all_nds_mcast_addr(ipv6_addr_t *ipaddr){
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){
/* try to find best match if dest is not mcast or link local */
int8_t itmp = -1;

View File

@ -56,8 +56,9 @@ extern double start;
#define ADDR_TYPE_MULTICAST 2
#define ADDR_TYPE_ANYCAST 3
#define ADDR_TYPE_SOL_NODE_MCAST 4
#define ADDR_TYPE_LINK_LOCAL 5
#define ADDR_TYPE_GLOBAL 6
#define ADDR_TYPE_LOOPBACK 5
#define ADDR_TYPE_LINK_LOCAL 6
#define ADDR_TYPE_GLOBAL 7
/* dispatch types */
#define DISPATCH_TYPE_IPV6 0x41
#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_all_rtrs_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 sixlowpan_bootstrapping(void);
void sixlowpan_send(ipv6_addr_t *addr, uint8_t *payload, uint16_t p_len);