mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-01-31 00:23:50 +00:00
fixed some packet radio encapsulation bugs.
This commit is contained in:
parent
e82d2e73da
commit
834239863c
@ -48,6 +48,7 @@ int overlay_packetradio_setup_port(overlay_interface *interface)
|
|||||||
|
|
||||||
int overlay_rx_packet_complete(overlay_interface *interface)
|
int overlay_rx_packet_complete(overlay_interface *interface)
|
||||||
{
|
{
|
||||||
|
dump("received packet",interface->rxbuffer,interface->recv_offset);
|
||||||
if (interface->recv_offset) {
|
if (interface->recv_offset) {
|
||||||
// dispatch received packet
|
// dispatch received packet
|
||||||
if (packetOkOverlay(interface, interface->rxbuffer, interface->recv_offset, -1,
|
if (packetOkOverlay(interface, interface->rxbuffer, interface->recv_offset, -1,
|
||||||
@ -74,7 +75,6 @@ int overlay_rx_packet_append_byte(overlay_interface *interface,unsigned char byt
|
|||||||
return overlay_rx_packet_complete(interface);
|
return overlay_rx_packet_complete(interface);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.debug.packetradio) DEBUGF("RXd %d bytes",interface->recv_offset);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,6 +164,7 @@ void overlay_packetradio_poll(struct sched_ent *alarm)
|
|||||||
default: /* Unknown escape character. This is an error. */
|
default: /* Unknown escape character. This is an error. */
|
||||||
if (config.debug.packetradio)
|
if (config.debug.packetradio)
|
||||||
WARN("Packet radio stream contained illegal escape sequence -- ignoring packet.");
|
WARN("Packet radio stream contained illegal escape sequence -- ignoring packet.");
|
||||||
|
interface->decoder_state=DC_NORMAL;
|
||||||
interface->recv_offset=0;
|
interface->recv_offset=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -172,9 +173,11 @@ void overlay_packetradio_poll(struct sched_ent *alarm)
|
|||||||
// non-escape character
|
// non-escape character
|
||||||
switch(buffer[i]) {
|
switch(buffer[i]) {
|
||||||
case SLIP_ESC:
|
case SLIP_ESC:
|
||||||
interface->decoder_state=DC_ESC; break;
|
interface->decoder_state=DC_ESC;
|
||||||
|
break;
|
||||||
case SLIP_END:
|
case SLIP_END:
|
||||||
overlay_rx_packet_complete(interface);
|
overlay_rx_packet_complete(interface);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
overlay_rx_packet_append_byte(interface,buffer[i]);
|
overlay_rx_packet_append_byte(interface,buffer[i]);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user