'Implemented' multiplexing (sixlowpan code needs work)

This commit is contained in:
mlenders 2011-07-24 18:06:28 +02:00
parent 166098dd16
commit 417555d4c0
2 changed files with 25 additions and 4 deletions

View File

@ -503,7 +503,30 @@ void multiplex_send_ipv6_over_uart(struct ipv6_hdr_t *packet) {
serial_buf->type = BORDER_PACKET_L3_TYPE;
serial_buf->ethertype = BORDER_ETHERTYPE_IPV6;
memcpy(border_out_buf+sizeof (border_l3_header_t), packet, IPV6_HDR_LEN + packet->length);
writepacket(border_out_buf, sizeof (border_l3_header_t) + IPV6_HDR_LEN + packet->length);
flowcontrol_send_over_tty(
(border_packet_t *) serial_buf,
sizeof (border_l3_header_t)
);
}
void multiplex_send_addr_over_uart(ipv6_addr_t *addr) {
border_addr_packet_t *serial_buf;
serial_buf = (border_addr_packet_t *)border_out_buf;
serial_buf->reserved = 0;
serial_buf->type = BORDER_PACKET_CONF_TYPE;
serial_buf->conftype = BORDER_CONF_IPADDR;
memcpy(
&serial_buf->addr,
addr,
sizeof (ipv6_addr_t)
);
flowcontrol_send_over_tty(
(border_packet_t *) serial_buf,
sizeof (border_addr_packet_t)
);
}
void border_send_ipv6_over_lowpan(struct ipv6_hdr_t *packet, uint8_t aro_flag, uint8_t sixco_flag) {

View File

@ -110,6 +110,7 @@ typedef struct flowcontrol_stat_t {
uint8_t border_initialize(transceiver_type_t trans,ipv6_addr_t *border_router_addr);
void multiplex_send_ipv6_over_uart(struct ipv6_hdr_t *packet);
void multiplex_send_addr_over_uart(ipv6_addr_t *addr);
void flowcontrol_send_over_uart(border_packet_t *packet, int len);
void border_send_ipv6_over_lowpan(struct ipv6_hdr_t *packet, uint8_t aro_flag, uint8_t sixco_flag);
void border_process_lowpan(void);
@ -120,7 +121,4 @@ void slwin_init();
abr_cache_t *get_border_router_info();
lowpan_context_t *border_define_context(uint8_t cid, ipv6_addr_t *prefix, uint8_t prefix_len, uint16_t lifetime);
lowpan_context_t *border_alloc_context(ipv6_addr_t *prefix, uint8_t prefix_len, uint16_t lifetime);
#endif /* SIXLOWBORDER_H*/