Implement replies to TEST frames

This commit is contained in:
XANTRONIX Development 2020-08-01 17:13:02 -04:00 committed by XANTRONIX Industrial
parent f364604dcb
commit 3d12ab33e3

View file

@ -1140,6 +1140,18 @@ static int reply_ua(patty_ax25_if *iface,
return reply_to(iface, frame, &reply);
}
static int reply_test(patty_ax25_if *iface,
patty_ax25_frame *frame) {
patty_ax25_frame reply = {
.control = PATTY_AX25_FRAME_UA | (PATTY_AX25_FRAME_FINAL << 4),
.proto = PATTY_AX25_PROTO_NONE,
.info = frame->info,
.infolen = frame->infolen
};
return reply_to(iface, frame, &reply);
}
static int handle_frmr(patty_ax25_server *server,
patty_ax25_if *iface,
patty_ax25_sock *sock,
@ -1227,6 +1239,12 @@ error_client_by_sock:
return -1;
}
static int handle_test(patty_ax25_server *server,
patty_ax25_if *iface,
patty_ax25_frame *frame) {
return reply_test(iface, frame);
}
static int handle_ua(patty_ax25_server *server,
patty_ax25_if *iface,
patty_ax25_sock *sock,
@ -1586,6 +1604,7 @@ static int handle_frame(patty_ax25_server *server,
case PATTY_AX25_FRAME_XID: return handle_xid(server, iface, &frame, buf, offset, len);
case PATTY_AX25_FRAME_SABM:
case PATTY_AX25_FRAME_SABME: return handle_sabm(server, iface, &frame);
case PATTY_AX25_FRAME_TEST: return handle_test(server, iface, &frame);
case PATTY_AX25_FRAME_UA: return handle_ua(server, iface, sock, &frame);
case PATTY_AX25_FRAME_DM: return handle_dm(server, iface, sock, &frame);
case PATTY_AX25_FRAME_DISC: return handle_disc(server, iface, sock, &frame);