diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2021-07-02 16:23:06 +0200 |
---|---|---|
committer | Alexander Couzens <lynxis@fe80.eu> | 2021-07-02 17:38:02 +0200 |
commit | a6096ad36731ee1ca0eb8f509bd08fab5281ef58 (patch) | |
tree | 6d695f6582b872b57720eca5fa476a6d534a0a1b | |
parent | db7b2ab36bd6fb8ae766abd6e1bdf91d2e1a13c7 (diff) |
gprs_ns2: fix check of MTU changes for frame relay
The frame relay needs 2 byte for data packets.
Related: OS#5192
Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f
-rw-r--r-- | src/gb/gprs_ns2_fr.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 3113b002..35e0dd9e 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -601,14 +601,18 @@ static void mtu_change(struct gprs_ns2_vc_bind *bind, uint32_t mtu) struct priv_bind *bpriv = bind->priv; struct gprs_ns2_nse *nse; + /* 2 byte DLCI header */ + if (mtu <= 2) + return; + mtu -= 2; + if (mtu == bind->mtu) return; LOGBIND(bind, LOGL_INFO, "MTU changed from %d to %d.\n", - bind->mtu, mtu); + bind->mtu + 2, mtu + 2); - /* 2 byte DLCI header */ - bind->mtu = mtu - 2; + bind->mtu = mtu; if (!bpriv->if_running) return; |