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 |
|