summaryrefslogtreecommitdiff
path: root/src/irmd/main.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-05-08 12:37:47 +0200
committerSander Vrijders <sander@ouroboros.rocks>2026-05-20 08:17:06 +0200
commit9b1e5b3ac032449deb47357784b108551702e748 (patch)
tree9438312bbf79ab0f2a80d2cfe080d0483aa79238 /src/irmd/main.c
parent86dbd8db9b051c8d1e08071cb8aae180a799427a (diff)
downloadouroboros-9b1e5b3ac032449deb47357784b108551702e748.tar.gz
ouroboros-9b1e5b3ac032449deb47357784b108551702e748.zip
irmd: Pass MTU from IPCP to process for FRCT
FRCT needs to know the MTU for fragmentation. The MTU is now passed from the layer serving the flow to the process as part of flow allocation. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/irmd/main.c')
-rw-r--r--src/irmd/main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/irmd/main.c b/src/irmd/main.c
index 5a6245e0..ffb07334 100644
--- a/src/irmd/main.c
+++ b/src/irmd/main.c
@@ -87,6 +87,8 @@
#define OAP_SEEN_TIMER 20 /* s */
#define DEALLOC_TIME 300 /* s */
#define DIRECT_MPL 1 /* s */
+/* bytes; in-process, bounded only by PUP/GSPP. */
+#define DIRECT_MTU 65000
enum irm_state {
IRMD_NULL = 0,
@@ -1216,6 +1218,7 @@ static int flow_alloc_direct(const char * dst,
acc.n_1_pid = flow->n_pid;
acc.mpl = DIRECT_MPL;
+ acc.mtu = DIRECT_MTU;
acc.qs = flow->qs;
acc.state = FLOW_ALLOCATED;
@@ -1251,6 +1254,7 @@ static int flow_alloc_direct(const char * dst,
flow->id = acc.id;
flow->n_1_pid = acc.n_pid;
flow->mpl = DIRECT_MPL;
+ flow->mtu = DIRECT_MTU;
flow->state = FLOW_ALLOCATED;
log_info("Flow %d allocated (direct) for %d to %s.",