'Implemented' multiplexing (sixlowpan code needs work)
This commit is contained in:
parent
166098dd16
commit
417555d4c0
@ -503,7 +503,30 @@ void multiplex_send_ipv6_over_uart(struct ipv6_hdr_t *packet) {
|
|||||||
serial_buf->type = BORDER_PACKET_L3_TYPE;
|
serial_buf->type = BORDER_PACKET_L3_TYPE;
|
||||||
serial_buf->ethertype = BORDER_ETHERTYPE_IPV6;
|
serial_buf->ethertype = BORDER_ETHERTYPE_IPV6;
|
||||||
memcpy(border_out_buf+sizeof (border_l3_header_t), packet, IPV6_HDR_LEN + packet->length);
|
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) {
|
void border_send_ipv6_over_lowpan(struct ipv6_hdr_t *packet, uint8_t aro_flag, uint8_t sixco_flag) {
|
||||||
|
|||||||
@ -110,6 +110,7 @@ typedef struct flowcontrol_stat_t {
|
|||||||
|
|
||||||
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 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 flowcontrol_send_over_uart(border_packet_t *packet, int len);
|
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_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);
|
||||||
@ -120,7 +121,4 @@ void slwin_init();
|
|||||||
|
|
||||||
abr_cache_t *get_border_router_info();
|
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*/
|
#endif /* SIXLOWBORDER_H*/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user