Lines Matching full:mtu
44 *info = ntohs(icmp->un.frag.mtu); in rxrpc_lookup_peer_icmp_rcu()
347 * Handle an MTU/fragmentation problem.
349 static void rxrpc_adjust_mtu(struct rxrpc_peer *peer, unsigned int mtu) in rxrpc_adjust_mtu() argument
351 _net("Rx ICMP Fragmentation Needed (%d)", mtu); in rxrpc_adjust_mtu()
353 /* wind down the local interface MTU */ in rxrpc_adjust_mtu()
354 if (mtu > 0 && peer->if_mtu == 65535 && mtu < peer->if_mtu) { in rxrpc_adjust_mtu()
355 peer->if_mtu = mtu; in rxrpc_adjust_mtu()
356 _net("I/F MTU %u", mtu); in rxrpc_adjust_mtu()
359 if (mtu == 0) { in rxrpc_adjust_mtu()
361 mtu = peer->if_mtu; in rxrpc_adjust_mtu()
362 if (mtu > 1500) { in rxrpc_adjust_mtu()
363 mtu >>= 1; in rxrpc_adjust_mtu()
364 if (mtu < 1500) in rxrpc_adjust_mtu()
365 mtu = 1500; in rxrpc_adjust_mtu()
367 mtu -= 100; in rxrpc_adjust_mtu()
368 if (mtu < peer->hdrsize) in rxrpc_adjust_mtu()
369 mtu = peer->hdrsize + 4; in rxrpc_adjust_mtu()
373 if (mtu < peer->mtu) { in rxrpc_adjust_mtu()
375 peer->mtu = mtu; in rxrpc_adjust_mtu()
376 peer->maxdata = peer->mtu - peer->hdrsize; in rxrpc_adjust_mtu()
378 _net("Net MTU %u (maxdata %u)", in rxrpc_adjust_mtu()
379 peer->mtu, peer->maxdata); in rxrpc_adjust_mtu()