Changing FD mode may trigger change of MTU and maximum MTU size.
See kernel documents about CAN FD mode:
https://docs.kernel.org/networking/can.html#can-fd-flexible-data-rate-driver-support
break;
}
case REQUEST_TYPE_SET_LINK_MTU: {
- Request req_ipoib = {
- .link = link,
- .type = REQUEST_TYPE_SET_LINK_IPOIB,
- };
+ if (ordered_set_contains(link->manager->request_queue,
+ &(const Request) {
+ .link = link,
+ .type = REQUEST_TYPE_SET_LINK_IPOIB,
+ }))
+ return false;
- return !ordered_set_contains(link->manager->request_queue, &req_ipoib);
+ /* Changing FD mode may affect MTU. */
+ if (ordered_set_contains(link->manager->request_queue,
+ &(const Request) {
+ .link = link,
+ .type = REQUEST_TYPE_SET_LINK_CAN,
+ }))
+ return false;
}
default:
break;