|
|
|
|
@ -1274,7 +1274,11 @@ VOID L2SABM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffe
|
|
|
|
|
if (Session == NULL)
|
|
|
|
|
{
|
|
|
|
|
CLEAROUTLINK(LINK);
|
|
|
|
|
|
|
|
|
|
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
|
|
|
|
|
DetachKISSHF(PORT);
|
|
|
|
|
L2SENDDM(PORT, Buffer, ADJBUFFER);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1324,7 +1328,11 @@ VOID L2SABM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffe
|
|
|
|
|
|
|
|
|
|
CLEARSESSIONENTRY(Session);
|
|
|
|
|
CLEAROUTLINK(LINK);
|
|
|
|
|
|
|
|
|
|
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
|
|
|
|
|
DetachKISSHF(PORT);
|
|
|
|
|
L2SENDDM(PORT, Buffer, ADJBUFFER);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1797,7 +1805,7 @@ VOID L2_PROCESS(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * B
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// DM ESP TO DISC RECEIVED - OTHER END HAS LOST SESSION
|
|
|
|
|
// DM RESP TO DISC RECEIVED - OTHER END HAS LOST SESSION
|
|
|
|
|
|
|
|
|
|
// CLEAR OUT TABLE ENTRY - IF INTERNAL TNC, SHOULD SEND *** DISCONNECTED
|
|
|
|
|
|
|
|
|
|
@ -1868,6 +1876,10 @@ VOID SDUFRM(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT, MESSAGE * Buffe
|
|
|
|
|
|
|
|
|
|
InformPartner(LINK, LINKLOST); // SEND DISC TO OTHER END
|
|
|
|
|
CLEAROUTLINK(LINK);
|
|
|
|
|
|
|
|
|
|
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
|
|
|
|
|
DetachKISSHF(PORT);
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
@ -2996,6 +3008,10 @@ VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT)
|
|
|
|
|
// RETRIED N2 TIMES - Give up
|
|
|
|
|
|
|
|
|
|
CONNECTFAILED(LINK); // TELL LEVEL 4 IT FAILED
|
|
|
|
|
|
|
|
|
|
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
|
|
|
|
|
DetachKISSHF(PORT);
|
|
|
|
|
|
|
|
|
|
CLEAROUTLINK(LINK);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
@ -3032,10 +3048,14 @@ VOID L2TIMEOUT(struct _LINKTABLE * LINK, struct PORTCONTROL * PORT)
|
|
|
|
|
// DISCONNECTING
|
|
|
|
|
|
|
|
|
|
LINK->L2RETRIES++;
|
|
|
|
|
|
|
|
|
|
if (LINK->L2RETRIES >= PORT->PORTN2)
|
|
|
|
|
{
|
|
|
|
|
// RETRIED N2 TIMES - JUST CLEAR OUT LINK
|
|
|
|
|
|
|
|
|
|
if (PORT->TNC && PORT->TNC->Hardware == H_KISSHF)
|
|
|
|
|
DetachKISSHF(PORT);
|
|
|
|
|
|
|
|
|
|
CLEAROUTLINK(LINK);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|