david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/net
Michael Brown e191298a1d [tcp] Calculate correct MSS from peer address
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>
2014-03-04 13:23:29 +00:00
..
80211 [settings] Force settings into alphabetical order within sections 2013-12-05 12:43:28 +00:00
infiniband [infiniband] Include destination address vector in ib_complete_recv() 2012-08-31 21:22:58 +01:00
oncrpc [nfs] Fix an issue with the selection of a local port 2013-08-06 15:58:35 +01:00
tcp [uri] Refactor URI parsing and formatting 2014-02-27 13:32:53 +00:00
udp [uri] Refactor URI parsing and formatting 2014-02-27 13:32:53 +00:00
aoe.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
arp.c [neighbour] Generalise concept of neighbour discovery 2013-09-03 02:02:58 +01:00
dhcpopts.c [dhcp] Copy exactly the required length when resizing DHCP options 2014-02-26 16:44:05 +00:00
dhcppkt.c [settings] Explicitly separate the concept of a completed fetched setting 2013-12-05 00:37:02 +00:00
eapol.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
eth_slow.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
ethernet.c [ethernet] Add support for generating multicast hash for IPv6 addresses 2013-09-03 02:02:51 +01:00
fakedhcp.c [settings] Explicitly separate the concept of a completed fetched setting 2013-12-05 00:37:02 +00:00
fc.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
fcels.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
fcns.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
fcoe.c [build] Fix dubious uses of bitwise operators 2013-04-28 17:31:23 +01:00
fcp.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
fragment.c [tcpip] Add IP statistics collection as per RFC 4293 2014-03-02 20:33:35 +00:00
icmp.c [icmp] Add support for sending ICMP echo requests 2013-10-21 15:08:12 +01:00
icmpv4.c [icmp] Add support for sending ICMP echo requests 2013-10-21 15:08:12 +01:00
icmpv6.c [icmp] Add support for sending ICMP echo requests 2013-10-21 15:08:12 +01:00
infiniband.c [infiniband] Include destination address vector in ib_complete_recv() 2012-08-31 21:22:58 +01:00
iobpad.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
ipv4.c [tcpip] Provide tcpip_mtu() to determine the maximum transmission unit 2014-03-04 13:13:54 +00:00
ipv6.c [tcpip] Provide tcpip_mtu() to determine the maximum transmission unit 2014-03-04 13:13:54 +00:00
ndp.c [dns] Support DNS search lists 2014-02-05 14:56:49 +00:00
neighbour.c [netdevice] Make all net_driver methods optional 2013-11-01 02:26:44 +00:00
netdev_settings.c [settings] Force settings into alphabetical order within sections 2013-12-05 12:43:28 +00:00
netdevice.c [netdevice] Add generic concept of a network device configurator 2013-11-05 17:30:15 +00:00
nullnet.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
ping.c [ping] Add concept of a ping socket 2013-10-21 15:08:18 +01:00
rarp.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
retry.c [retry] Expose retry_poll() to explicitly poll all running timers 2012-08-31 20:21:15 +01:00
socket.c [socket] Add concept of a generalised socket address converter 2013-10-21 14:34:03 +01:00
tcp.c [tcp] Calculate correct MSS from peer address 2014-03-04 13:23:29 +00:00
tcpip.c [tcpip] Provide tcpip_mtu() to determine the maximum transmission unit 2014-03-04 13:13:54 +00:00
tls.c [tls] Concatenate received non-data records before processing 2013-01-31 09:59:36 +00:00
udp.c [udp] Add AF_INET6 socket opener 2013-10-21 14:34:02 +01:00
validator.c [settings] Force settings into alphabetical order within sections 2013-12-05 12:43:28 +00:00
vlan.c [netdevice] Make all net_driver methods optional 2013-11-01 02:26:44 +00:00