From 9f3ad3caf0fc5eb798c9d4b46a28ca6fecb1ba56 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Tue, 11 Jul 2023 16:17:24 -0400 Subject: [PATCH] removed PLC establish packet handling when already linked --- reactor-plc/plc.lua | 42 +---------------------------------------- reactor-plc/startup.lua | 2 +- 2 files changed, 2 insertions(+), 42 deletions(-) diff --git a/reactor-plc/plc.lua b/reactor-plc/plc.lua index 2bba4ee..acdc78b 100644 --- a/reactor-plc/plc.lua +++ b/reactor-plc/plc.lua @@ -929,47 +929,7 @@ function plc.comms(id, version, nic, plc_channel, svr_channel, range, reactor, r ---@cast packet mgmt_frame -- if linked, only accept packets from configured supervisor if self.linked then - if packet.type == SCADA_MGMT_TYPE.ESTABLISH then - -- link request confirmation - if packet.length == 1 then - log.debug("received unsolicited establish response") - - local est_ack = packet.data[1] - - if est_ack == ESTABLISH_ACK.ALLOW then - self.status_cache = nil - _send_struct() - public.send_status(plc_state.no_reactor, plc_state.reactor_formed) - log.debug("re-sent initial status data due to re-establish") - else - if est_ack == ESTABLISH_ACK.DENY then - println_ts("received unsolicited link denial, unlinking") - log.warning("unsolicited establish request denied") - elseif est_ack == ESTABLISH_ACK.COLLISION then - println_ts("received unsolicited link collision, unlinking") - log.warning("unsolicited establish request collision") - elseif est_ack == ESTABLISH_ACK.BAD_VERSION then - println_ts("received unsolicited link version mismatch, unlinking") - log.warning("unsolicited establish request version mismatch") - else - println_ts("invalid unsolicited link response") - log.debug("unsolicited unknown establish request response") - end - - -- unlink - self.sv_addr = comms.BROADCAST - self.linked = false - end - - -- clear this since this is for something that was unsolicited - self.last_est_ack = ESTABLISH_ACK.ALLOW - - -- report link state - databus.tx_link_state(est_ack + 1) - else - log.debug("SCADA_MGMT establish packet length mismatch") - end - elseif packet.type == SCADA_MGMT_TYPE.KEEP_ALIVE then + if packet.type == SCADA_MGMT_TYPE.KEEP_ALIVE then -- keep alive request received, echo back if packet.length == 1 and type(packet.data[1]) == "number" then local timestamp = packet.data[1] diff --git a/reactor-plc/startup.lua b/reactor-plc/startup.lua index c0aadee..f4ac2fe 100644 --- a/reactor-plc/startup.lua +++ b/reactor-plc/startup.lua @@ -19,7 +19,7 @@ local plc = require("reactor-plc.plc") local renderer = require("reactor-plc.renderer") local threads = require("reactor-plc.threads") -local R_PLC_VERSION = "v1.5.1" +local R_PLC_VERSION = "v1.5.2" local println = util.println local println_ts = util.println_ts