51 lines · 1.2 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 */#ifndef _NET_SECURE_SEQ#define _NET_SECURE_SEQ #include <linux/types.h> struct net;extern struct net init_net; union tcp_seq_and_ts_off {	struct {		u32 seq;		u32 ts_off;	};	u64 hash64;}; u64 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport);u64 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr,			       __be16 dport);union tcp_seq_and_ts_offsecure_tcp_seq_and_ts_off(const struct net *net, __be32 saddr, __be32 daddr,			  __be16 sport, __be16 dport); static inline u32 secure_tcp_seq(__be32 saddr, __be32 daddr,				 __be16 sport, __be16 dport){	union tcp_seq_and_ts_off ts; 	ts = secure_tcp_seq_and_ts_off(&init_net, saddr, daddr,				       sport, dport); 	return ts.seq;} union tcp_seq_and_ts_offsecure_tcpv6_seq_and_ts_off(const struct net *net, const __be32 *saddr,			    const __be32 *daddr,			    __be16 sport, __be16 dport); static inline u32 secure_tcpv6_seq(const __be32 *saddr, const __be32 *daddr,				   __be16 sport, __be16 dport){	union tcp_seq_and_ts_off ts; 	ts = secure_tcpv6_seq_and_ts_off(&init_net, saddr, daddr,					 sport, dport); 	return ts.seq;}#endif /* _NET_SECURE_SEQ */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t