iPXE currently advertises a fixed MSS of 1460, which is correct only for IPv4 over Ethernet. For IPv6 over Ethernet, the value should be 1440 (allowing for the larger IPv6 header). For non-Ethernet link layers, the value should reflect the MTU of the underlying network device. Use tcpip_mtu() to calculate the transport-layer MTU associated with the peer address, and calculate the MSS to allow for an optionless TCP header as per RFC 6691. As a side benefit, we can now fail a connection immediately with a meaningful error message if we have no route to the destination address. Reported-by: Anton D. Kachalov <mouse@yandex-team.ru> Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
330 |
|
330 |
|
331 |
|
331 |
|
332 |
|
332 |
|
333 |
|
|
|
334 |
|
|
|
335 |
|
|
|
336 |
|
|
|
337 |
|
|
|
338 |
|
|
|
339 |
|
|
|
340 |
|
|
|
341 |
|
|
|
342 |
|
|
|
343 |
|
333 |
|
344 |
|
334 |
|
345 |
|
335 |
|
|
|
||
43 |
|
43 |
|
44 |
|
44 |
|
45 |
|
45 |
|
|
46 |
|
|
|
47 |
|
|
46 |
|
48 |
|
47 |
|
49 |
|
48 |
|
50 |
|
|
|
||
250 |
|
252 |
|
251 |
|
253 |
|
252 |
|
254 |
|
|
255 |
|
|
253 |
|
256 |
|
254 |
|
257 |
|
255 |
|
258 |
|
|
|
||
271 |
|
274 |
|
272 |
|
275 |
|
273 |
|
276 |
|
|
277 |
|
|
|
278 |
|
|
|
279 |
|
|
|
280 |
|
|
|
281 |
|
|
|
282 |
|
|
|
283 |
|
|
|
284 |
|
|
|
285 |
|
|
|
286 |
|
|
274 |
|
287 |
|
275 |
|
288 |
|
276 |
|
289 |
|
|
|
||
552 |
|
565 |
|
553 |
|
566 |
|
554 |
|
567 |
|
555 |
|
|
|
|
568 |
|
|
556 |
|
569 |
|
557 |
|
570 |
|
558 |
|
571 |
|