Merge branch 'sixlowpan' of ssh://ukleos.imp.fu-berlin.de/home/git/ukleos into sixlowpan
This commit is contained in:
commit
355ee7a9fe
@ -17,25 +17,6 @@
|
|||||||
#define ESC_ESC 0xDD
|
#define ESC_ESC 0xDD
|
||||||
#define DC3_ESC 0xDE
|
#define DC3_ESC 0xDE
|
||||||
|
|
||||||
uint8_t serial_out_buf[BORDER_BUFFER_SIZE];
|
|
||||||
uint8_t serial_in_buf[BORDER_BUFFER_SIZE];
|
|
||||||
|
|
||||||
uint8_t *get_serial_out_buffer(int offset) {
|
|
||||||
if (offset > BUFFER_SIZE) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return &(serial_out_buf[offset]);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t *get_serial_in_buffer(int offset) {
|
|
||||||
if (offset > BUFFER_SIZE) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return &(serial_in_buf[offset]);
|
|
||||||
}
|
|
||||||
|
|
||||||
void demultiplex(border_packet_t *packet, int len) {
|
void demultiplex(border_packet_t *packet, int len) {
|
||||||
switch (packet->type) {
|
switch (packet->type) {
|
||||||
case (BORDER_PACKET_RAW_TYPE):{
|
case (BORDER_PACKET_RAW_TYPE):{
|
||||||
|
|||||||
@ -43,6 +43,7 @@ typedef struct __attribute__ ((packed)) border_addr_packet_t {
|
|||||||
uint8_t type;
|
uint8_t type;
|
||||||
uint8_t seq_num;
|
uint8_t seq_num;
|
||||||
uint8_t conftype;
|
uint8_t conftype;
|
||||||
|
uint16_t version;
|
||||||
ipv6_addr_t addr;
|
ipv6_addr_t addr;
|
||||||
} border_addr_packet_t;
|
} border_addr_packet_t;
|
||||||
|
|
||||||
@ -52,6 +53,7 @@ typedef struct __attribute__ ((packed)) border_context_packet_t {
|
|||||||
uint8_t seq_num;
|
uint8_t seq_num;
|
||||||
uint8_t conftype;
|
uint8_t conftype;
|
||||||
struct border_context_t {
|
struct border_context_t {
|
||||||
|
uint16_t version;
|
||||||
uint8_t cid;
|
uint8_t cid;
|
||||||
ipv6_addr_t prefix;
|
ipv6_addr_t prefix;
|
||||||
uint8_t length;
|
uint8_t length;
|
||||||
@ -62,9 +64,6 @@ typedef struct __attribute__ ((packed)) border_context_packet_t {
|
|||||||
|
|
||||||
#define BORDER_BUFFER_SIZE (sizeof (border_l3_header_t) + MTU)
|
#define BORDER_BUFFER_SIZE (sizeof (border_l3_header_t) + MTU)
|
||||||
|
|
||||||
uint8_t *get_serial_out_buffer(int offset);
|
|
||||||
uint8_t *get_serial_in_buffer(int offset);
|
|
||||||
|
|
||||||
void demultiplex(border_packet_t *packet, int len);
|
void demultiplex(border_packet_t *packet, int len);
|
||||||
void multiplex_send_ipv6_over_uart(struct ipv6_hdr_t *packet);
|
void multiplex_send_ipv6_over_uart(struct ipv6_hdr_t *packet);
|
||||||
void multiplex_send_addr_over_uart(ipv6_addr_t *addr);
|
void multiplex_send_addr_over_uart(ipv6_addr_t *addr);
|
||||||
|
|||||||
@ -22,6 +22,25 @@
|
|||||||
char serial_reader_stack[READER_STACK_SIZE];
|
char serial_reader_stack[READER_STACK_SIZE];
|
||||||
uint16_t serial_reader_pid;
|
uint16_t serial_reader_pid;
|
||||||
|
|
||||||
|
uint8_t serial_out_buf[BORDER_BUFFER_SIZE];
|
||||||
|
uint8_t serial_in_buf[BORDER_BUFFER_SIZE];
|
||||||
|
|
||||||
|
uint8_t *get_serial_out_buffer(int offset) {
|
||||||
|
if (offset > BUFFER_SIZE) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return &(serial_out_buf[offset]);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t *get_serial_in_buffer(int offset) {
|
||||||
|
if (offset > BUFFER_SIZE) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return &(serial_in_buf[offset]);
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t border_get_serial_reader() {
|
uint16_t border_get_serial_reader() {
|
||||||
return serial_reader_pid;
|
return serial_reader_pid;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,6 +12,9 @@
|
|||||||
|
|
||||||
uint16_t border_get_serial_reader();
|
uint16_t border_get_serial_reader();
|
||||||
|
|
||||||
|
uint8_t *get_serial_out_buffer(int offset);
|
||||||
|
uint8_t *get_serial_in_buffer(int offset);
|
||||||
|
|
||||||
uint8_t border_initialize(transceiver_type_t trans,ipv6_addr_t *border_router_addr);
|
uint8_t border_initialize(transceiver_type_t trans,ipv6_addr_t *border_router_addr);
|
||||||
void border_send_ipv6_over_lowpan(struct ipv6_hdr_t *packet, uint8_t aro_flag, uint8_t sixco_flag);
|
void border_send_ipv6_over_lowpan(struct ipv6_hdr_t *packet, uint8_t aro_flag, uint8_t sixco_flag);
|
||||||
void border_process_lowpan(void);
|
void border_process_lowpan(void);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user