Yuchung Cheng
cf60af03ca
net-tcp: Fast Open client - sendmsg(MSG_FASTOPEN)
...
sendmsg() (or sendto()) with MSG_FASTOPEN is a combo of connect(2)
and write(2). The application should replace connect() with it to
send data in the opening SYN packet.
For blocking socket, sendmsg() blocks until all the data are buffered
locally and the handshake is completed like connect() call. It
returns similar errno like connect() if the TCP handshake fails.
For non-blocking socket, it returns the number of bytes queued (and
transmitted in the SYN-data packet) if cookie is available. If cookie
is not available, it transmits a data-less SYN packet with Fast Open
cookie request option and returns -EINPROGRESS like connect().
Using MSG_FASTOPEN on connecting or connected socket will result in
simlar errno like repeating connect() calls. Therefore the application
should only use this flag on new sockets.
The buffer size of sendmsg() is independent of the MSS of the connection.
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-07-19 11:02:03 -07:00
..
9p
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2012-06-13 15:35:35 -04:00
caif
caif-hsi: Remove use of module parameters
2012-06-25 16:44:12 -07:00
irda
iucv
af_iucv: add shutdown for HS transport
2012-03-07 22:52:24 -08:00
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2012-07-10 23:56:33 -07:00
netns
ipv4: tcp: remove per net tcp_sock
2012-07-19 10:35:30 -07:00
nfc
NFC: Allow HCI driver to pre-open pipes to some gates
2012-07-09 16:42:12 -04:00
phonet
net: remove my future former mail address
2012-06-17 16:29:38 -07:00
sctp
sctp: Adjust PMTU updates to accomodate route invalidation.
2012-07-16 03:57:14 -07:00
tc_act
act_api.h
addrconf.h
ipv6: add ipv6_addr_hash() helper
2012-07-18 11:28:46 -07:00
af_ieee802154.h
af_rxrpc.h
af_unix.h
af_unix: speedup /proc/net/unix
2012-06-08 14:27:23 -07:00
ah.h
arp.h
ipv4: Make neigh lookups directly in output packet path.
2012-07-05 01:02:12 -07:00
atmclip.h
ax25.h
net ax25: Fix the build when sysctl support is disabled.
2012-04-23 22:14:47 -04:00
ax88796.h
cfg80211-wext.h
cfg80211.h
cfg80211: bitrate calculation for 60g
2012-07-05 15:18:32 +02:00
checksum.h
cipso_ipv4.h
cipso: handle CIPSO options correctly when NetLabel is disabled
2012-06-01 14:18:29 -04:00
cls_cgroup.h
codel.h
fq_codel: should use qdisc backlog as threshold
2012-05-16 15:30:26 -04:00
compat.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
datalink.h
dcbevent.h
dcbnl.h
net/dcb: Add an optional max rate attribute
2012-04-05 05:08:04 -04:00
dn.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
dn_dev.h
dn_fib.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
dn_neigh.h
dn_nsp.h
dn_route.h
decnet: Use neighbours privately in dn_route struct.
2012-07-05 01:12:14 -07:00
dsa.h
dsfield.h
dst.h
net: Kill set_dst_metric_rtt().
2012-07-10 22:40:07 -07:00
dst_ops.h
net: Fix warnings in dst_ops.h
2012-07-19 10:43:03 -07:00
esp.h
ethoc.h
fib_rules.h
ipv4: Elide fib_validate_source() completely when possible.
2012-06-29 01:36:36 -07:00
flow.h
inet: Kill FLOWI_FLAG_PRECOW_METRICS.
2012-07-10 22:40:12 -07:00
flow_keys.h
garp.h
gen_stats.h
genetlink.h
net: Use NLMSG_DEFAULT_SIZE in combination with nlmsg_new()
2012-06-28 17:56:43 -07:00
gre.h
icmp.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
ieee80211_radiotap.h
ieee802154.h
ieee802154_netdev.h
mac802154: declare reduced mlme operations
2012-05-16 15:16:56 -04:00
if_inet6.h
net: delete all instances of special processing for token ring
2012-05-15 20:14:35 -04:00
inet6_connection_sock.h
ipv6: Add helper inet6_csk_update_pmtu().
2012-07-16 03:44:56 -07:00
inet6_hashtables.h
inet_common.h
net-tcp: Fast Open client - sendmsg(MSG_FASTOPEN)
2012-07-19 11:02:03 -07:00
inet_connection_sock.h
ipv4: Add helper inet_csk_update_pmtu().
2012-07-16 03:28:06 -07:00
inet_ecn.h
inet_frag.h
ip_frag: struct inet_frags match() method returns a bool
2012-05-18 01:40:27 -04:00
inet_hashtables.h
ipv4: Early TCP socket demux.
2012-06-19 21:22:05 -07:00
inet_sock.h
inet: Kill FLOWI_FLAG_PRECOW_METRICS.
2012-07-10 22:40:12 -07:00
inet_timewait_sock.h
inetpeer.h
ipv4: Maintain redirect and PMTU info in struct rtable again.
2012-07-10 22:40:14 -07:00
ip.h
ipv4: tcp: remove per net tcp_sock
2012-07-19 10:35:30 -07:00
ip6_checksum.h
ip6_fib.h
ipv6: Store route neighbour in rt6_info struct.
2012-07-05 02:41:58 -07:00
ip6_route.h
ipv6: fix inet6_csk_xmit()
2012-07-18 08:59:58 -07:00
ip6_tunnel.h
ipv6_tunnel: Allow receiving packets on the fallback tunnel if they pass sanity checks
2012-06-29 00:52:32 -07:00
ip_fib.h
ipv4: use seqlock for nh_exceptions
2012-07-19 10:30:14 -07:00
ip_vs.h
ipvs: add support for sync threads
2012-05-08 19:40:33 +02:00
ipcomp.h
ipconfig.h
ipip.h
tunnel: implement 64 bits statistics
2012-04-14 14:47:05 -04:00
ipv6.h
ipv6: add ipv6_addr_hash() helper
2012-07-18 11:28:46 -07:00
ipx.h
iw_handler.h
lapb.h
lapb: Neaten debugging
2012-05-17 18:45:20 -04:00
lib80211.h
llc.h
llc_c_ac.h
llc_c_ev.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
net: delete all instances of special processing for token ring
2012-05-15 20:14:35 -04:00
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h
mac80211: add TX prepare API
2012-07-03 13:50:34 +02:00
mac802154.h
mac802154: add wpan device-class support
2012-06-26 21:06:11 -07:00
mip6.h
mld.h
ndisc.h
ipv6: Export ndisc option parsing from ndisc.c
2012-07-11 23:39:11 -07:00
neighbour.h
net: Do delayed neigh confirmation.
2012-07-05 01:03:06 -07:00
net_namespace.h
net: make sock diag per-namespace
2012-07-16 22:31:34 -07:00
net_ratelimit.h
netdma.h
netevent.h
net: Pass neighbours and dest address into NETEVENT_REDIRECT events.
2012-07-05 02:21:55 -07:00
netlabel.h
netlink.h
netlink: Delete all NLA_PUT*() macros.
2012-04-02 04:33:45 -04:00
netprio_cgroup.h
netprio_cgroup: fix wrong memory access when NETPRIO_CGROUP=m
2012-02-10 15:08:57 -05:00
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h
pkt_cls.h
pkt_sched.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
protocol.h
ipv4: Kill early demux method return value.
2012-06-27 22:01:22 -07:00
psnap.h
raw.h
rawv6.h
ipv6: bool/const conversions phase2
2012-05-19 01:08:16 -04:00
red.h
net_sched: red: Make minor corrections to comments
2012-04-16 23:53:11 -04:00
regulatory.h
request_sock.h
rose.h
route.h
ipv4: Kill ip_rt_redirect().
2012-07-11 21:30:08 -07:00
rtnetlink.h
rtnetlink: ops->get_tx_queue() cannot take a const 'tb'.
2012-04-13 14:21:04 -04:00
sch_generic.h
bonding: Fix corrupted queue_mapping
2012-06-12 15:29:21 -07:00
scm.h
secure_seq.h
slhc_vj.h
snmp.h
sock.h
tcp: TCP Small Queues
2012-07-11 18:12:59 -07:00
stp.h
tcp.h
net-tcp: Fast Open client - sendmsg(MSG_FASTOPEN)
2012-07-19 11:02:03 -07:00
tcp_memcontrol.h
cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg
2012-04-10 10:04:07 -07:00
tcp_states.h
timewait_sock.h
[PATCH] tcp: Cache inetpeer in timewait socket, and only when necessary.
2012-06-09 14:56:12 -07:00
transp_v6.h
udp.h
net/ipv6/udp: UDP encapsulation: introduce encap_rcv hook into IPv6
2012-04-28 22:21:51 -04:00
udplite.h
net: ipv4: Standardize prefixes for message logging
2012-03-12 17:05:21 -07:00
wext.h
wimax.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
wpan-phy.h
mac802154: monitor device support
2012-05-16 15:17:08 -04:00
x25.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
x25device.h
xfrm.h
net/ipv4: VTI support rx-path hook in xfrm4_mode_tunnel.
2012-07-18 09:36:12 -07:00