diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-11-08 12:19:56 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-12-05 00:19:01 +0900 |
commit | c3747f90b1a4fa74a6a88dd50f98c871ae35ea7c (patch) | |
tree | 046673a01d181cbae5c121da4a6c8801102b97bf /src/network/networkd-setlink.c | |
parent | 72e65e6ffd9d8f2ea52c8c6f76fbf6e5cc5da3ab (diff) | |
download | systemd-c3747f90b1a4fa74a6a88dd50f98c871ae35ea7c.tar.gz |
network: set MTU after IPoIB configs are applied
MTU is updated when IB mode is changed.
Diffstat (limited to 'src/network/networkd-setlink.c')
-rw-r--r-- | src/network/networkd-setlink.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c index d32dc81794..177c054f46 100644 --- a/src/network/networkd-setlink.c +++ b/src/network/networkd-setlink.c @@ -518,6 +518,9 @@ static bool link_is_ready_to_call_set_link(Request *req) { int r; assert(req); + assert(req->link); + assert(req->link->manager); + assert(req->link->network); link = req->link; op = PTR_TO_INT(req->set_link_operation_ptr); @@ -566,8 +569,6 @@ static bool link_is_ready_to_call_set_link(Request *req) { case SET_LINK_MASTER: { uint32_t m = 0; - assert(link->network); - if (link->network->batadv) { if (!netdev_is_ready(link->network->batadv)) return false; @@ -600,6 +601,15 @@ static bool link_is_ready_to_call_set_link(Request *req) { req->userdata = UINT32_TO_PTR(m); break; } + case SET_LINK_MTU: { + Request req_ipoib = { + .link = link, + .type = REQUEST_TYPE_SET_LINK, + .set_link_operation_ptr = INT_TO_PTR(SET_LINK_IPOIB), + }; + + return !ordered_set_contains(link->manager->request_queue, &req_ipoib); + } default: break; } |