ax25sdl 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/dist/ax25sdl/awaiting_connection.g.d.ts +7 -0
- package/dist/ax25sdl/awaiting_connection.g.d.ts.map +1 -0
- package/dist/ax25sdl/awaiting_connection.g.js +427 -0
- package/dist/ax25sdl/awaiting_connection.g.js.map +1 -0
- package/dist/ax25sdl/awaiting_connection.g.test.d.ts +2 -0
- package/dist/ax25sdl/awaiting_connection.g.test.d.ts.map +1 -0
- package/dist/ax25sdl/awaiting_connection.g.test.js +345 -0
- package/dist/ax25sdl/awaiting_connection.g.test.js.map +1 -0
- package/dist/ax25sdl/awaiting_release.g.d.ts +7 -0
- package/dist/ax25sdl/awaiting_release.g.d.ts.map +1 -0
- package/dist/ax25sdl/awaiting_release.g.js +344 -0
- package/dist/ax25sdl/awaiting_release.g.js.map +1 -0
- package/dist/ax25sdl/awaiting_release.g.test.d.ts +2 -0
- package/dist/ax25sdl/awaiting_release.g.test.d.ts.map +1 -0
- package/dist/ax25sdl/awaiting_release.g.test.js +255 -0
- package/dist/ax25sdl/awaiting_release.g.test.js.map +1 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.d.ts +7 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.d.ts.map +1 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.js +428 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.js.map +1 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.test.d.ts +2 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.test.d.ts.map +1 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.test.js +372 -0
- package/dist/ax25sdl/awaiting_v22_connection.g.test.js.map +1 -0
- package/dist/ax25sdl/connected.g.d.ts +7 -0
- package/dist/ax25sdl/connected.g.d.ts.map +1 -0
- package/dist/ax25sdl/connected.g.js +1456 -0
- package/dist/ax25sdl/connected.g.js.map +1 -0
- package/dist/ax25sdl/connected.g.test.d.ts +2 -0
- package/dist/ax25sdl/connected.g.test.d.ts.map +1 -0
- package/dist/ax25sdl/connected.g.test.js +1313 -0
- package/dist/ax25sdl/connected.g.test.js.map +1 -0
- package/dist/ax25sdl/disconnected.g.d.ts +7 -0
- package/dist/ax25sdl/disconnected.g.d.ts.map +1 -0
- package/dist/ax25sdl/disconnected.g.js +340 -0
- package/dist/ax25sdl/disconnected.g.js.map +1 -0
- package/dist/ax25sdl/disconnected.g.test.d.ts +2 -0
- package/dist/ax25sdl/disconnected.g.test.d.ts.map +1 -0
- package/dist/ax25sdl/disconnected.g.test.js +266 -0
- package/dist/ax25sdl/disconnected.g.test.js.map +1 -0
- package/dist/ax25sdl/index.d.ts +8 -0
- package/dist/ax25sdl/index.d.ts.map +1 -0
- package/dist/ax25sdl/index.js +10 -0
- package/dist/ax25sdl/index.js.map +1 -0
- package/dist/ax25sdl/sdl.test.d.ts +2 -0
- package/dist/ax25sdl/sdl.test.d.ts.map +1 -0
- package/dist/ax25sdl/sdl.test.js +47 -0
- package/dist/ax25sdl/sdl.test.js.map +1 -0
- package/dist/ax25sdl/subroutines.g.d.ts +7 -0
- package/dist/ax25sdl/subroutines.g.d.ts.map +1 -0
- package/dist/ax25sdl/subroutines.g.js +497 -0
- package/dist/ax25sdl/subroutines.g.js.map +1 -0
- package/dist/ax25sdl/types.d.ts +94 -0
- package/dist/ax25sdl/types.d.ts.map +1 -0
- package/dist/ax25sdl/types.js +10 -0
- package/dist/ax25sdl/types.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
// Code generated by tools/Packet.Sdl.CodeGen from spec-sdl/data-link/awaiting_v22_connection.sdl.yaml.
|
|
2
|
+
// DO NOT EDIT. Run `dotnet run --project tools/Packet.Sdl.CodeGen` to regenerate.
|
|
3
|
+
/**
|
|
4
|
+
* SDL transitions for the AwaitingConnection22 state of the data_link machine.
|
|
5
|
+
* Source: ax.25.2.2.4_Oct_25, figure figc4.6.
|
|
6
|
+
*/
|
|
7
|
+
export const DataLinkAwaitingConnection22 = {
|
|
8
|
+
machine: "data_link",
|
|
9
|
+
state: "AwaitingConnection22",
|
|
10
|
+
source: { spec: "ax.25.2.2.4_Oct_25", figure: "figc4.6", url: "https://raw.githubusercontent.com/packethacking/ax25spec/main/doc/media/figc4.6.png" },
|
|
11
|
+
transitions: [
|
|
12
|
+
{
|
|
13
|
+
id: "t01_dl_connect_request",
|
|
14
|
+
from: "AwaitingConnection22",
|
|
15
|
+
on: "DL_CONNECT_request",
|
|
16
|
+
guard: "",
|
|
17
|
+
actions: [
|
|
18
|
+
{ verb: "discard_queue", kind: "processing" },
|
|
19
|
+
{ verb: "set_layer_3_initiated", kind: "processing" },
|
|
20
|
+
],
|
|
21
|
+
next: "AwaitingConnection22",
|
|
22
|
+
notes: "DL-CONNECT while already negotiating v2.2: discard pending queue\nand re-mark layer-3-initiated. Stays in AwaitingConnection22 (the\nexisting T1 / RC counters continue). Mirrors figc4.2's t11.\n",
|
|
23
|
+
references: [
|
|
24
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "dl_connect_request", line: 1040, note: "case state_1_awaiting_connection / state_5_awaiting_v22_connection share body: discard_i_queue(S); S->layer_3_initiated = 1; '// Keep current state.' Matches figure" },
|
|
25
|
+
],
|
|
26
|
+
loops: [],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "t02_dl_unit_data_request",
|
|
30
|
+
from: "AwaitingConnection22",
|
|
31
|
+
on: "DL_UNIT_DATA_request",
|
|
32
|
+
guard: "",
|
|
33
|
+
actions: [
|
|
34
|
+
{ verb: "UI_command", kind: "signal_lower" },
|
|
35
|
+
],
|
|
36
|
+
next: "AwaitingConnection22",
|
|
37
|
+
notes: "Connectionless data even while negotiating v2.2 — send UI command,\nstay. Mirrors figc4.2's t12 and figc4.3's t07.\n",
|
|
38
|
+
references: [
|
|
39
|
+
{ source: "spec_prose", cite: "§6.3.7", quote: "AX.25 uses a special frame for this operation, the Unnumbered Information (UI) frame.", path: "", function: "", line: 0, note: "" },
|
|
40
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_in.c", function: "ax25_rcv", line: 229, note: "UI frames bypass LAPB entirely; outbound UI goes via raw/dgram socket send. State-agnostic, not gated on AX25_STATE_1" },
|
|
41
|
+
],
|
|
42
|
+
loops: [],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "t03_dl_data_request_layer_3_initiated",
|
|
46
|
+
from: "AwaitingConnection22",
|
|
47
|
+
on: "DL_DATA_request",
|
|
48
|
+
guard: "layer_3_initiated",
|
|
49
|
+
actions: [],
|
|
50
|
+
next: "AwaitingConnection22",
|
|
51
|
+
notes: "verification_pending (carried forward from figc4.2's t13/t14):\nYes/No labels on this diamond are not drawn in the spec PNG —\nTom assumed them when transcribing the graphml. Reading: when L3\ninitiated the connection, the I-frame data is discarded\n(figc4.6 has no \"Push\" action on this branch). Could be inverted —\nflag for upstream check.\n\nDIRECTLY CORROBORATED: direwolf author flags the equivalent figc4.2\ndiamond as confusing (data_request_good_size:1466-1473). direwolf\nreads it as L3-init Yes → discard, !L3-init → push (matches figc4.6\nfigure as drawn).\n",
|
|
52
|
+
references: [
|
|
53
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "data_request_good_size", line: 1465, note: "case state_1/state_5: 'if (S->layer_3_initiated) { cdata_delete(txdata); break; }'. Erratum at 1467-1473 flags polarity uncertainty but implements per figure" },
|
|
54
|
+
],
|
|
55
|
+
loops: [],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "t04_dl_data_request_not_layer_3_initiated",
|
|
59
|
+
from: "AwaitingConnection22",
|
|
60
|
+
on: "DL_DATA_request",
|
|
61
|
+
guard: "not layer_3_initiated",
|
|
62
|
+
actions: [
|
|
63
|
+
{ verb: "push_frame_on_queue", kind: "internal_out" },
|
|
64
|
+
],
|
|
65
|
+
next: "AwaitingConnection22",
|
|
66
|
+
notes: "verification_pending: shares the (label-assumed) diamond with t03.\nReading: peer-initiated connection negotiating v2.2 — queue the\ndata for delivery once Connected.\n",
|
|
67
|
+
references: [
|
|
68
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "data_request_good_size", line: 1478, note: "Falls through from state_5 case at 1465 into state_3/state_4 push-onto-queue block (1480-1499). Comment 'otherwise fall thru.' Matches figure (!L3-init → push)" },
|
|
69
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/af_ax25.c", function: "ax25_sendmsg", line: 1499, note: "Frame appended to sk_write_queue regardless of state; ax25_kick drains only after AX25_STATE_3. No L3-init gating (always 'push')" },
|
|
70
|
+
],
|
|
71
|
+
loops: [],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: "t05_i_frame_pops_off_queue_layer_3_initiated",
|
|
75
|
+
from: "AwaitingConnection22",
|
|
76
|
+
on: "I_frame_pops_off_queue",
|
|
77
|
+
guard: "layer_3_initiated",
|
|
78
|
+
actions: [],
|
|
79
|
+
next: "AwaitingConnection22",
|
|
80
|
+
notes: "verification_pending: shares the (label-assumed) diamond with t03.\n",
|
|
81
|
+
references: [
|
|
82
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "i_frame_pop_off_queue", line: 6544, note: "case state_1/state_5: 'if (S->layer_3_initiated) { ... cdata_delete(txdata); }' (lines 6560-6570). Erratum at 6555-6558 notes flow chart 'seems backwards' but implements as documented" },
|
|
83
|
+
],
|
|
84
|
+
loops: [],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: "t06_i_frame_pops_off_queue_not_layer_3_initiated",
|
|
88
|
+
from: "AwaitingConnection22",
|
|
89
|
+
on: "I_frame_pops_off_queue",
|
|
90
|
+
guard: "not layer_3_initiated",
|
|
91
|
+
actions: [
|
|
92
|
+
{ verb: "push_frame_on_queue", kind: "internal_out" },
|
|
93
|
+
],
|
|
94
|
+
next: "AwaitingConnection22",
|
|
95
|
+
notes: "verification_pending: shares the (label-assumed) diamond with t04.\n",
|
|
96
|
+
references: [
|
|
97
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "i_frame_pop_off_queue", line: 6553, note: "state_5 case, !L3-init branch: comment 'For the case of removing it from the queue and putting it back in we just leave it there.' Functionally equivalent to figure's 'Push Frame Onto Queue' (frame stays on queue)" },
|
|
98
|
+
],
|
|
99
|
+
loops: [],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "t07_all_other_primitives_from_lower_layer",
|
|
103
|
+
from: "AwaitingConnection22",
|
|
104
|
+
on: "all_other_primitives__from_lower_layer",
|
|
105
|
+
guard: "",
|
|
106
|
+
actions: [],
|
|
107
|
+
next: "AwaitingConnection22",
|
|
108
|
+
notes: "Catch-all for unhandled primitives drawn with d5\n\"Signal reception from Lower Layer\". No action — stay.\n",
|
|
109
|
+
references: [
|
|
110
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_in.c", function: "ax25_std_state1_machine", line: 91, note: "default: break — all unhandled frame types silently ignored in state 1 (Linux fuses spec states 1 and 5)" },
|
|
111
|
+
],
|
|
112
|
+
loops: [],
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: "t08_control_field_error",
|
|
116
|
+
from: "AwaitingConnection22",
|
|
117
|
+
on: "control_field_error",
|
|
118
|
+
guard: "",
|
|
119
|
+
actions: [
|
|
120
|
+
{ verb: "DL_ERROR_indication_L", kind: "signal_upper" },
|
|
121
|
+
],
|
|
122
|
+
next: "AwaitingConnection22",
|
|
123
|
+
notes: "Figure-authoritative DL-ERROR(L) emission. No implementation\nsurfaces this typed error code.\n",
|
|
124
|
+
references: [],
|
|
125
|
+
loops: [],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
id: "t09_info_not_permitted_in_frame",
|
|
129
|
+
from: "AwaitingConnection22",
|
|
130
|
+
on: "info_not_permitted_in_frame",
|
|
131
|
+
guard: "",
|
|
132
|
+
actions: [
|
|
133
|
+
{ verb: "DL_ERROR_indication_M", kind: "signal_upper" },
|
|
134
|
+
],
|
|
135
|
+
next: "AwaitingConnection22",
|
|
136
|
+
notes: "verification_pending: the spec figc4.6 PNG labels this column\n\"Info Field Permitted In Frame\" — the canonical reading per the\nDL-ERROR(M) action (and per figc4.3's equivalent column) is\n\"Info Field NOT Permitted In Frame\". The figc4.6 figure appears\nto have dropped the \"Not\". Encoded with the canonical event id\n`info_not_permitted_in_frame` since the downstream action\n(DL-ERROR(M)) is unambiguous; figure-verbatim label preserved in\nthis note. Candidate upstream-spec typo.\n\nFigure-authoritative DL-ERROR(M) emission. No implementation\nsurfaces this typed error code.\n",
|
|
137
|
+
references: [],
|
|
138
|
+
loops: [],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: "t10_u_or_s_frame_length_error",
|
|
142
|
+
from: "AwaitingConnection22",
|
|
143
|
+
on: "u_or_s_frame_length_error",
|
|
144
|
+
guard: "",
|
|
145
|
+
actions: [
|
|
146
|
+
{ verb: "DL_ERROR_indication_N", kind: "signal_upper" },
|
|
147
|
+
],
|
|
148
|
+
next: "AwaitingConnection22",
|
|
149
|
+
notes: "Figure-authoritative DL-ERROR(N) emission. No implementation\nsurfaces this typed error code.\n",
|
|
150
|
+
references: [],
|
|
151
|
+
loops: [],
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
id: "t11_ui_received_p_eq_1",
|
|
155
|
+
from: "AwaitingConnection22",
|
|
156
|
+
on: "UI_received",
|
|
157
|
+
guard: "P_eq_1",
|
|
158
|
+
actions: [
|
|
159
|
+
{ verb: "UI_Check", kind: "subroutine" },
|
|
160
|
+
],
|
|
161
|
+
next: "AwaitingConnection22",
|
|
162
|
+
notes: "verification_pending: the spec figc4.6 PNG has the UI-column\n`P == 1?` diamond's Yes/No labels INVERTED compared to figc4.3\n(and §6.3.5 ¶3 prose: \"Any TNC receiving a command frame other\nthan a SABM(E) or UI frame with the P bit set to '1' responds\nwith a DM frame with the F bit set to '1'.\"). The figure here\nshows P==1 Yes → no action (this transition), P==1 No → DM(F=1)\n(t12). Encoded verbatim per Trust-the-Figure (CLAUDE.md §2.1).\nStrong upstream-spec issue candidate — Tom confirmed the swap\nis genuine in the spec PNG.\n\nNo implementation reproduces this branch correctly because\nYes/No is swapped vs the canonical prose reading.\n",
|
|
163
|
+
references: [
|
|
164
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_in.c", function: "ax25_rcv", line: 229, note: "UI bypass at ax25_in.c:229 ignores P/F entirely; no DM is generated regardless of P — effectively matches the figc4.6 'no action' outcome but for the wrong reason" },
|
|
165
|
+
],
|
|
166
|
+
loops: [],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
id: "t12_ui_received_not_p_eq_1",
|
|
170
|
+
from: "AwaitingConnection22",
|
|
171
|
+
on: "UI_received",
|
|
172
|
+
guard: "not P_eq_1",
|
|
173
|
+
actions: [
|
|
174
|
+
{ verb: "UI_Check", kind: "subroutine" },
|
|
175
|
+
{ verb: "DM (F = 1)", kind: "signal_lower" },
|
|
176
|
+
],
|
|
177
|
+
next: "AwaitingConnection22",
|
|
178
|
+
notes: "See t11's verification_pending note — figc4.6 has P==1 Yes/No\nswapped vs figc4.3 and §6.3.5 ¶3 prose. This is the figure's\n\"No → DM(F=1)\" branch.\n",
|
|
179
|
+
references: [],
|
|
180
|
+
loops: [],
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
id: "t13_dm_received_f_eq_1",
|
|
184
|
+
from: "AwaitingConnection22",
|
|
185
|
+
on: "DM_received",
|
|
186
|
+
guard: "F_eq_1",
|
|
187
|
+
actions: [
|
|
188
|
+
{ verb: "discard_I_frame_queue", kind: "processing" },
|
|
189
|
+
{ verb: "DL_DISCONNECT_indication", kind: "signal_upper" },
|
|
190
|
+
{ verb: "stop_T1", kind: "processing" },
|
|
191
|
+
],
|
|
192
|
+
next: "Disconnected",
|
|
193
|
+
notes: "DM(F=1) is a refusal response to our SABME. Discard queue, notify\nupper layer of disconnect, stop T1, drop to Disconnected. Mirrors\nfigc4.2's t02 (which exits to Disconnected on the same condition,\nvia discard_frame_queue rather than discard_i_frame_queue —\nfigure-verbatim wording difference between figc4.2 and figc4.6).\n",
|
|
194
|
+
references: [
|
|
195
|
+
{ source: "spec_prose", cite: "§6.3.1 ¶4", quote: "When the originating TNC receives a DM response to its SABM(E) frame, it cancels its T1 timer and does not enter the information-transfer state.", path: "", function: "", line: 0, note: "" },
|
|
196
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "dm_frame", line: 4716, note: "case state_5: figure-faithful behaviour is in '#if 0' block (4716-4733) — discard_i_queue, DL-DISCONNECT indication, STOP_T1, enter state_0. The active '#else' block (4734-4765) DIVERGES: on F==1 falls back to v2.0 SABM retry (KPC-3+ workaround). Erratum at 4735: 'copied from FRMR case'" },
|
|
197
|
+
],
|
|
198
|
+
loops: [],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
id: "t14_dm_received_not_f_eq_1",
|
|
202
|
+
from: "AwaitingConnection22",
|
|
203
|
+
on: "DM_received",
|
|
204
|
+
guard: "not F_eq_1",
|
|
205
|
+
actions: [],
|
|
206
|
+
next: "AwaitingConnection",
|
|
207
|
+
notes: "DM(F=0) drops us back to v2.0 AwaitingConnection (state 1). Read:\npeer doesn't want v2.2 right now — let the v2.0 negotiation cycle\ntake over.\n",
|
|
208
|
+
references: [
|
|
209
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_in.c", function: "ax25_std_state1_machine", line: 81, note: "case AX25_DM with if(pf) gate at line 81 means F=0 falls through with no action; stays in AX25_STATE_1 — matches outcome (Linux fuses states 1 and 5, so 'stay in 1' here is figc4.6's t14 'go to 1')" },
|
|
210
|
+
],
|
|
211
|
+
loops: [],
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
id: "t15_ua_received_not_f_eq_1",
|
|
215
|
+
from: "AwaitingConnection22",
|
|
216
|
+
on: "UA_received",
|
|
217
|
+
guard: "not F_eq_1",
|
|
218
|
+
actions: [
|
|
219
|
+
{ verb: "DL_ERROR_indication_D", kind: "signal_upper" },
|
|
220
|
+
],
|
|
221
|
+
next: "AwaitingConnection22",
|
|
222
|
+
notes: "UA without F=1 isn't a valid response to our polled SABME — emit\nDL-ERROR(D), keep waiting. Mirrors figc4.2's t04.\n",
|
|
223
|
+
references: [
|
|
224
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "ua_frame", line: 4917, note: "shared state_1/state_5 case; 'else' branch at 4917 logs 'AX.25 Protocol Error D: UA received without F=1 when SABM or DISC was sent P=1.' and stays in same state. Erratum at 4928: '2006 version is missing yes/no labels on this test.'" },
|
|
225
|
+
{ source: "rax25", cite: "", quote: "", path: "src/state.rs", function: "AwaitingConnection::ua", line: 1207, note: "lines 1207-1209: 'if !f { return vec![Action::DlError(DlError::D)]; }' — matches DL-ERROR(D)" },
|
|
226
|
+
],
|
|
227
|
+
loops: [],
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
id: "t16_ua_received_f_eq_1_layer_3_initiated",
|
|
231
|
+
from: "AwaitingConnection22",
|
|
232
|
+
on: "UA_received",
|
|
233
|
+
guard: "F_eq_1 and layer_3_initiated",
|
|
234
|
+
actions: [
|
|
235
|
+
{ verb: "DL_CONNECT_confirm", kind: "signal_upper" },
|
|
236
|
+
{ verb: "stop_T1", kind: "processing" },
|
|
237
|
+
{ verb: "start_T3", kind: "processing" },
|
|
238
|
+
{ verb: "V(s) := 0", kind: "processing" },
|
|
239
|
+
{ verb: "V(a) := 0", kind: "processing" },
|
|
240
|
+
{ verb: "V(r) := 0", kind: "processing" },
|
|
241
|
+
{ verb: "Select_T1_Value", kind: "subroutine" },
|
|
242
|
+
{ verb: "MDL_NEGOTIATE_request", kind: "internal_out" },
|
|
243
|
+
],
|
|
244
|
+
next: "Connected",
|
|
245
|
+
notes: "Happy path: UA(F=1) in response to our L3-initiated SABME. Confirm\nto upper layer, run housekeeping, kick MDL-NEGOTIATE Request on\nthe way to Connected. The MDL-NEGOTIATE is what makes this state\nv2.2-specific — figc4.2's t05 doesn't fire it.\n\nOf the 4 implementations, only direwolf fires MDL-NEGOTIATE\n(ua_frame:4910-4912, with erratum that the figure omits it).\n",
|
|
246
|
+
references: [
|
|
247
|
+
{ source: "spec_prose", cite: "§6.3.1 ¶1", quote: "Reception of the UA response frame by the originating TNC causes it to cancel the T1 timer and set its internal state variables to '0'.", path: "", function: "", line: 0, note: "" },
|
|
248
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "ua_frame", line: 4837, note: "case state_1/state_5 (4834), f==1 + S->layer_3_initiated path: server_link_established at 4846. Common tail 4879-4915: STOP_T1, START_T3, SET_VS/VA/VR(0), select_t1_value, if state_5 then mdl_negotiate_request (4910-4912 with Erratum: figure omits MDL-NEGOTIATE), SET_RC(0), enter state_3" },
|
|
249
|
+
{ source: "rax25", cite: "", quote: "", path: "src/state.rs", function: "AwaitingConnection::ua", line: 1210, note: "'if data.layer3_initiated { debug!(\"DL-CONNECT CONFIRM\"); }' at 1210-1211. Common tail at 1233-1246: stop T1, start T3 (author: '1998 spec says stop T3. 2017 spec says start T3 (page 89), which makes much more sense.'), reset vs/va/vr, rc=0, select_t1_value, → Connected. No MDL-NEGOTIATE (v2.2-only)" },
|
|
250
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_in.c", function: "ax25_std_state1_machine", line: 58, note: "case AX25_UA pf set: ax25_calculate_rtt, stop T1, start T3+idle, V(s)/V(r)/V(a):=0, state:=AX25_STATE_3, n2count:=0. No MDL-NEGOTIATE — Linux uses modulus already chosen at SABM/SABME send time. SRT/T1 init via ax25_calculate_rtt rather than spec Select_T1_Value" },
|
|
251
|
+
],
|
|
252
|
+
loops: [],
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
id: "t17_ua_received_f_eq_1_not_layer_3_initiated_vs_eq_va",
|
|
256
|
+
from: "AwaitingConnection22",
|
|
257
|
+
on: "UA_received",
|
|
258
|
+
guard: "F_eq_1 and not layer_3_initiated and V_s_eq_V_a",
|
|
259
|
+
actions: [
|
|
260
|
+
{ verb: "stop_T1", kind: "processing" },
|
|
261
|
+
{ verb: "start_T3", kind: "processing" },
|
|
262
|
+
{ verb: "V(s) := 0", kind: "processing" },
|
|
263
|
+
{ verb: "V(a) := 0", kind: "processing" },
|
|
264
|
+
{ verb: "V(r) := 0", kind: "processing" },
|
|
265
|
+
{ verb: "Select_T1_Value", kind: "subroutine" },
|
|
266
|
+
{ verb: "MDL_NEGOTIATE_request", kind: "internal_out" },
|
|
267
|
+
],
|
|
268
|
+
next: "Connected",
|
|
269
|
+
notes: "Peer-initiated v2.2 connection coming up with V(s) already aligned.\nNo DL-CONNECT confirm (upper layer wasn't expecting one). Mirrors\nfigc4.2's t06 with the added MDL-NEGOTIATE Request.\n",
|
|
270
|
+
references: [
|
|
271
|
+
{ source: "rax25", cite: "", quote: "", path: "src/state.rs", function: "AwaitingConnection::ua", line: 1212, note: "implicit else: !layer3_initiated && vs==va falls through if/else if at 1210-1232, hits common tail at 1233-1246 (stop T1, start T3, reset counters, select_t1_value, → Connected). No MDL-NEGOTIATE" },
|
|
272
|
+
],
|
|
273
|
+
loops: [],
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: "t18_ua_received_f_eq_1_not_layer_3_initiated_vs_neq_va",
|
|
277
|
+
from: "AwaitingConnection22",
|
|
278
|
+
on: "UA_received",
|
|
279
|
+
guard: "F_eq_1 and not layer_3_initiated and not V_s_eq_V_a",
|
|
280
|
+
actions: [
|
|
281
|
+
{ verb: "SRT := Initial Default", kind: "processing" },
|
|
282
|
+
{ verb: "T1V := 2 * SRT", kind: "processing" },
|
|
283
|
+
{ verb: "start_T3", kind: "processing" },
|
|
284
|
+
{ verb: "DL_CONNECT_confirm", kind: "signal_upper" },
|
|
285
|
+
{ verb: "stop_T1", kind: "processing" },
|
|
286
|
+
{ verb: "start_T3", kind: "processing" },
|
|
287
|
+
{ verb: "V(s) := 0", kind: "processing" },
|
|
288
|
+
{ verb: "V(a) := 0", kind: "processing" },
|
|
289
|
+
{ verb: "V(r) := 0", kind: "processing" },
|
|
290
|
+
{ verb: "Select_T1_Value", kind: "subroutine" },
|
|
291
|
+
{ verb: "MDL_NEGOTIATE_request", kind: "internal_out" },
|
|
292
|
+
],
|
|
293
|
+
next: "Connected",
|
|
294
|
+
notes: "V(s) ≠ V(a) recovery branch: re-init timer values + Start T3\nBEFORE the standard housekeeping which ALSO restarts T3. Same\n\"Start T3 twice\" pattern as figc4.2's t07. rax25 author flagged\nthis exact pattern as a spec bug at src/state.rs:1226 (\"bug in\nthe 2017 spec...start T1, then immediately stop it again\").\n",
|
|
295
|
+
references: [
|
|
296
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "ua_frame", line: 4848, note: "case state_1/state_5, f==1, !L3, 'else if (S->vs != S->va)' branch (4848-4877). Active '#if 1' block (Erratum: '2006 version has this') does INIT_T1V_SRT then START_T3 (with note that it's pointless) and server_link_established. Then common tail at 4879-4915 (housekeeping + MDL-NEGOTIATE for state_5)" },
|
|
297
|
+
{ source: "rax25", cite: "", quote: "", path: "src/state.rs", function: "AwaitingConnection::ua", line: 1212, note: "'!data.layer3_initiated && vs!=va' branch (1212-1232): srt=srt_default, t1v=srt+srt, common tail. Author comments: 'We're awaiting a connection confirmation, but vs!=va? What does that mean?' and 'bug in the 2017 spec. This path says to start T1, then immediately stop it again.' warn!('Strange state entered: UA received while vs != va')" },
|
|
298
|
+
],
|
|
299
|
+
loops: [],
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
id: "t19_t1_expiry_rc_eq_n2",
|
|
303
|
+
from: "AwaitingConnection22",
|
|
304
|
+
on: "T1_expiry",
|
|
305
|
+
guard: "RC_eq_N2",
|
|
306
|
+
actions: [
|
|
307
|
+
{ verb: "discard_frame_queue", kind: "processing" },
|
|
308
|
+
{ verb: "DL_ERROR_indication_G", kind: "signal_upper" },
|
|
309
|
+
{ verb: "DL_DISCONNECT_indication", kind: "signal_upper" },
|
|
310
|
+
],
|
|
311
|
+
next: "Disconnected",
|
|
312
|
+
notes: "Retry exhaustion while awaiting UA for our SABME — discard queue,\nemit DL-ERROR(G), DL-DISCONNECT indication, drop to Disconnected.\nMirrors figc4.2's t08 with the additional Discard Frame Queue\nstep (figure-authoritative).\n",
|
|
313
|
+
references: [
|
|
314
|
+
{ source: "spec_prose", cite: "§6.3.1 ¶2", quote: "The originating TNC tries to establish a connection until it has tried unsuccessfully N2 times.", path: "", function: "", line: 0, note: "" },
|
|
315
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "t1_expiry", line: 5461, note: "case state_1/state_5 (5450-5451). 'if (S->rc == S->n2_retry)' branch (5461-5468): discard_i_queue, server_link_terminated, enter state_0. DL-ERROR(G) implied via 'Failed to connect after %d tries' but not emitted as a typed error" },
|
|
316
|
+
{ source: "rax25", cite: "", quote: "", path: "src/state.rs", function: "AwaitingConnection::t1", line: 1189, note: "lines 1189-1195: 'if data.rc == data.n2 { data.clear_iframe_queue(); vec![Action::DlError(DlError::G), Action::State(Box::new(Disconnected::new()))] }'. Author comment 1192: 'Typo in 1998 spec: G, not g.' No explicit DL-DISCONNECT indication" },
|
|
317
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_timer.c", function: "ax25_std_t1timer_expiry", line: 124, note: "if (n2count == n2): for AX25_MODULUS calls ax25_disconnect(ETIMEDOUT). For AX25_EMODULUS instead drops to v2.0 (modulus:=AX25_MODULUS, n2count:=0, resend SABM) — Linux's v2.2→v2.0 fallback rather than spec disconnect" },
|
|
318
|
+
],
|
|
319
|
+
loops: [],
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
id: "t20_t1_expiry_rc_neq_n2",
|
|
323
|
+
from: "AwaitingConnection22",
|
|
324
|
+
on: "T1_expiry",
|
|
325
|
+
guard: "not RC_eq_N2",
|
|
326
|
+
actions: [
|
|
327
|
+
{ verb: "RC := RC + 1", kind: "processing" },
|
|
328
|
+
{ verb: "SABME (P = 1)", kind: "signal_lower" },
|
|
329
|
+
{ verb: "Select_T1_Value", kind: "subroutine" },
|
|
330
|
+
{ verb: "start_T1", kind: "processing" },
|
|
331
|
+
],
|
|
332
|
+
next: "AwaitingConnection22",
|
|
333
|
+
notes: "Below retry limit — bump RC, resend SABME(P=1), recalc T1V via\nSelect T1 Value, restart T1, keep waiting. Mirrors figc4.2's t09\n(which retransmits SABM instead of SABME).\n",
|
|
334
|
+
references: [
|
|
335
|
+
{ source: "spec_prose", cite: "§6.3.1 ¶2", quote: "If the distant TNC doesn't respond before T1 times out, the originating TNC resends the SABM frame and starts T1 running again.", path: "", function: "", line: 0, note: "" },
|
|
336
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "t1_expiry", line: 5469, note: "case state_1/state_5, 'else' branch (5469-5484): SET_RC(rc+1), build SABME (state_5) or SABM (state_1) via 'frame_type_U_SABME : frame_type_U_SABM' ternary at 5479, lm_data_request, select_t1_value, START_T1. Matches figure" },
|
|
337
|
+
{ source: "rax25", cite: "", quote: "", path: "src/state.rs", function: "AwaitingConnection::t1", line: 1196, note: "1196-1201: else branch increments rc, select_t1_value, t1.start(srt), sends SendSabm{pf:true}. NB: rax25 sends SABM not SABME — no v2.2-aware state" },
|
|
338
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_timer.c", function: "ax25_std_t1timer_expiry", line: 134, note: "else branch: n2count++, retransmit SABM or SABME based on current modulus. No Select_T1_Value — T1 implicitly restarted by ax25_send_control machinery" },
|
|
339
|
+
],
|
|
340
|
+
loops: [],
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
id: "t21_frmr_received",
|
|
344
|
+
from: "AwaitingConnection22",
|
|
345
|
+
on: "FRMR_received",
|
|
346
|
+
guard: "",
|
|
347
|
+
actions: [
|
|
348
|
+
{ verb: "SRT := Initial Default", kind: "processing" },
|
|
349
|
+
{ verb: "T1V := 2 * SRT", kind: "processing" },
|
|
350
|
+
{ verb: "Establish_Data_Link", kind: "subroutine" },
|
|
351
|
+
{ verb: "set_layer_3_initiated", kind: "processing" },
|
|
352
|
+
{ verb: "set_version_2_0", kind: "processing" },
|
|
353
|
+
],
|
|
354
|
+
next: "AwaitingConnection",
|
|
355
|
+
notes: "FRMR while negotiating v2.2 — peer is v2.0 (or pre-2.2 in v2.0\nmode), so re-initialise timers, run the Establish Data Link\nsubroutine, force v2.0, and fall to AwaitingConnection (state 1).\n\nOnly direwolf implements this — with its own erratum at 5047\nflagging spec inconsistency: \"State 1 clears it. State 5 sets it.\nWhy not the same?\" re: layer_3_initiated.\n",
|
|
356
|
+
references: [
|
|
357
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "frmr_frame", line: 5035, note: "case state_5 (5035-5051): INIT_T1V_SRT, set_version_2_0 (Erratum at 5044: 'Need to force v2.0. This is not in flow chart'), establish_data_link, S->layer_3_initiated = 1 (Erratum at 5047: 'State 1 clears it. State 5 sets it. Why not the same?'), enter state_1" },
|
|
358
|
+
],
|
|
359
|
+
loops: [],
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
id: "t22_sabme_received",
|
|
363
|
+
from: "AwaitingConnection22",
|
|
364
|
+
on: "SABME_received",
|
|
365
|
+
guard: "",
|
|
366
|
+
actions: [
|
|
367
|
+
{ verb: "F := P", kind: "processing" },
|
|
368
|
+
{ verb: "UA", kind: "signal_lower" },
|
|
369
|
+
],
|
|
370
|
+
next: "AwaitingConnection22",
|
|
371
|
+
notes: "SABME from peer while our own SABME is in flight — collision\nrecovery: respond UA, stay (our own SABME may still get its UA).\nMirrors figc4.2's t23 SABM-while-SABM-pending collision.\n",
|
|
372
|
+
references: [
|
|
373
|
+
{ source: "spec_prose", cite: "§6.3.6.2", quote: "If sent and received SABM(E) or DISC command frames are the same, both TNCs send a UA response at the earliest opportunity, and both devices enter the indicated state.", path: "", function: "", line: 0, note: "" },
|
|
374
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "sabm_e_frame", line: 4406, note: "case state_5, 'if (extended)' branch (4406-4413): build UA response with f=p, lm_data_request, '// stay in state 5'. Matches figure" },
|
|
375
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_in.c", function: "ax25_std_state1_machine", line: 48, note: "case AX25_SABME: modulus:=AX25_EMODULUS, window:=EWINDOW, send UA(F=pf). Stays in AX25_STATE_1 — same fused state for v2.0/v2.2" },
|
|
376
|
+
],
|
|
377
|
+
loops: [],
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
id: "t23_sabm_received",
|
|
381
|
+
from: "AwaitingConnection22",
|
|
382
|
+
on: "SABM_received",
|
|
383
|
+
guard: "",
|
|
384
|
+
actions: [
|
|
385
|
+
{ verb: "F := P", kind: "processing" },
|
|
386
|
+
{ verb: "UA", kind: "signal_lower" },
|
|
387
|
+
{ verb: "set_version_2_0", kind: "processing" },
|
|
388
|
+
],
|
|
389
|
+
next: "AwaitingConnection",
|
|
390
|
+
notes: "SABM (v2.0) from peer while we're trying v2.2 — peer doesn't\nsupport v2.2 or is downgrading. Reply UA, set version 2.0, fall to\nv2.0 AwaitingConnection (state 1).\n",
|
|
391
|
+
references: [
|
|
392
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "sabm_e_frame", line: 4415, note: "case state_5, 'else' branch — SABM (not extended) at 4415-4423: build UA response with f=p, lm_data_request, enter state_1. DIVERGES: direwolf does NOT explicitly call set_version_2_0 here as figure prescribes" },
|
|
393
|
+
{ source: "rax25", cite: "", quote: "", path: "src/state.rs", function: "AwaitingConnection::sabm", line: 1250, note: "1250-1252: returns SendUa{pf:packet.poll}. Matches UA(F:=P) but omits 'Set Version 2.0' and there's no v2.2 state to leave" },
|
|
394
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_in.c", function: "ax25_std_state1_machine", line: 42, note: "case AX25_SABM: modulus:=AX25_MODULUS, window:=WINDOW, send UA(F=pf). Stays AX25_STATE_1 (no v2.0/v2.2 state distinction)" },
|
|
395
|
+
],
|
|
396
|
+
loops: [],
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
id: "t24_disc_received",
|
|
400
|
+
from: "AwaitingConnection22",
|
|
401
|
+
on: "DISC_received",
|
|
402
|
+
guard: "",
|
|
403
|
+
actions: [
|
|
404
|
+
{ verb: "F := P", kind: "processing" },
|
|
405
|
+
{ verb: "DM", kind: "signal_lower" },
|
|
406
|
+
],
|
|
407
|
+
next: "AwaitingConnection22",
|
|
408
|
+
notes: "DISC from peer while negotiating v2.2: respond DM (we're not\nconnected yet), stay in AwaitingConnection22 waiting for our\nSABME's UA. Unlike figc4.3 (Awaiting Release), which responds UA\nto a cross-DISC, figc4.6 responds DM because we haven't\nestablished the link yet.\n",
|
|
409
|
+
references: [
|
|
410
|
+
{ source: "direwolf", cite: "", quote: "", path: "src/ax25_link.c", function: "disc_frame", line: 4531, note: "case state_0/state_1/state_5 shared body (4529-4542): build DM response with f=p, lm_data_request, '// keep current state, 0, 1, or 5.' Matches figure" },
|
|
411
|
+
{ source: "linux_oot", cite: "", quote: "", path: "net/ax25/ax25_std_in.c", function: "ax25_std_state1_machine", line: 54, note: "case AX25_DISC: ax25_send_control(AX25_DM, pf, RESPONSE) — F:=P via pf, stays in state 1" },
|
|
412
|
+
],
|
|
413
|
+
loops: [],
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
id: "t25_all_other_primitives_from_upper_layer",
|
|
417
|
+
from: "AwaitingConnection22",
|
|
418
|
+
on: "all_other_primitives__from_upper_layer",
|
|
419
|
+
guard: "",
|
|
420
|
+
actions: [],
|
|
421
|
+
next: "AwaitingConnection22",
|
|
422
|
+
notes: "Catch-all for unhandled primitives drawn with d5\n\"Signal reception from upper layer\". No action — stay.\n",
|
|
423
|
+
references: [],
|
|
424
|
+
loops: [],
|
|
425
|
+
},
|
|
426
|
+
],
|
|
427
|
+
};
|
|
428
|
+
//# sourceMappingURL=awaiting_v22_connection.g.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awaiting_v22_connection.g.js","sourceRoot":"","sources":["../../src/ax25sdl/awaiting_v22_connection.g.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awaiting_v22_connection.g.test.d.ts","sourceRoot":"","sources":["../../src/ax25sdl/awaiting_v22_connection.g.test.ts"],"names":[],"mappings":""}
|