]> git.baikalelectronics.ru Git - kernel.git/commitdiff
tipc: fix incompatible mtu of transmission
authorHoang Le <hoang.h.le@dektech.com.au>
Mon, 30 Nov 2020 02:55:44 +0000 (09:55 +0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 1 Dec 2020 23:26:57 +0000 (15:26 -0800)
In commit 682cd3cf946b6
("tipc: confgiure and apply UDP bearer MTU on running links"), we
introduced a function to change UDP bearer MTU and applied this new value
across existing per-link. However, we did not apply this new MTU value at
node level. This lead to packet dropped at link level if its size is
greater than new MTU value.

To fix this issue, we also apply this new MTU value for node level.

Fixes: 682cd3cf946b6 ("tipc: confgiure and apply UDP bearer MTU on running links")
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au>
Link: https://lore.kernel.org/r/20201130025544.3602-1-hoang.h.le@dektech.com.au
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/tipc/node.c

index d269ebe382e1fb9cea17e4ad5f3021bfad111f37..c95d037fde51eafcf95991e84cd4c0c1cff27bbc 100644 (file)
@@ -2182,6 +2182,8 @@ void tipc_node_apply_property(struct net *net, struct tipc_bearer *b,
                        else if (prop == TIPC_NLA_PROP_MTU)
                                tipc_link_set_mtu(e->link, b->mtu);
                }
+               /* Update MTU for node link entry */
+               e->mtu = tipc_link_mss(e->link);
                tipc_node_write_unlock(n);
                tipc_bearer_xmit(net, bearer_id, &xmitq, &e->maddr, NULL);
        }