linux/net/core
Arnd Bergmann 07f3355df7 infiniband: i40iw, nes: don't use wall time for TCP sequence numbers
The nes infiniband driver uses current_kernel_time() to get a nanosecond
granunarity timestamp to initialize its tcp sequence counters. This is
one of only a few remaining users of that deprecated function, so we
should try to get rid of it.

Aside from using a deprecated API, there are several problems I see here:

- Using a CLOCK_REALTIME based time source makes it predictable in
  case the time base is synchronized.
- Using a coarse timestamp means it only gets updated once per jiffie,
  making it even more predictable in order to avoid having to access
  the hardware clock source
- The upper 2 bits are always zero because the nanoseconds are at most
  999999999.

For the Linux TCP implementation, we use secure_tcp_seq(), which appears
to be appropriate here as well, and solves all the above problems.

i40iw uses a variant of the same code, so I do that same thing there
for ipv4. Unlike nes, i40e also supports ipv6, which needs to call
secure_tcpv6_seq instead.

Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-07-11 12:10:19 -06:00
..
datagram.c
dev_addr_lists.c
dev_ioctl.c
dev.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
devlink.c devlink: Add extack to reload and port_{un, }split operations 2018-06-05 12:32:37 -04:00
drop_monitor.c
dst_cache.c
dst.c
ethtool.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
failover.c
fib_notifier.c
fib_rules.c
filter.c bpf: flowlabel in bpf_fib_lookup should be flowinfo 2018-06-03 18:29:07 -07:00
flow_dissector.c ipv6: omit traffic class when calculating flow hash 2018-06-04 13:21:18 -04:00
gen_estimator.c
gen_stats.c
gro_cells.c
hwbm.c
link_watch.c
lwt_bpf.c
lwtunnel.c
Makefile
neighbour.c neighbour: skip NTF_EXT_LEARNED entries during forced gc 2018-06-15 09:37:33 -07:00
net_namespace.c
net-procfs.c
net-sysfs.c
net-sysfs.h
net-traces.c
netclassid_cgroup.c
netevent.c
netpoll.c
netprio_cgroup.c
page_pool.c
pktgen.c treewide: Use array_size() in vzalloc_node() 2018-06-12 16:19:22 -07:00
ptp_classifier.c
request_sock.c
rtnetlink.c rtnetlink: validate attributes in do_setlink() 2018-06-05 12:45:29 -04:00
scm.c
secure_seq.c infiniband: i40iw, nes: don't use wall time for TCP sequence numbers 2018-07-11 12:10:19 -06:00
skbuff.c
sock_diag.c
sock_reuseport.c
sock.c Revert "net: do not allow changing SO_REUSEADDR/SO_REUSEPORT on bound sockets" 2018-06-12 11:09:23 -07:00
stream.c
sysctl_net_core.c
timestamping.c
tso.c
utils.c
xdp.c xdp: add MEM_TYPE_ZERO_COPY 2018-06-05 15:46:26 +02:00