xref: /linux-6.15/include/net/secure_seq.h (revision 949d6b40)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
26e5714eaSDavid S. Miller #ifndef _NET_SECURE_SEQ
36e5714eaSDavid S. Miller #define _NET_SECURE_SEQ
46e5714eaSDavid S. Miller 
56e5714eaSDavid S. Miller #include <linux/types.h>
66e5714eaSDavid S. Miller 
7*949d6b40SJakub Kicinski struct net;
8*949d6b40SJakub Kicinski 
9b2d05756SWilly Tarreau u64 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport);
10b2d05756SWilly Tarreau u64 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr,
116e5714eaSDavid S. Miller 			       __be16 dport);
1284b114b9SEric Dumazet u32 secure_tcp_seq(__be32 saddr, __be32 daddr,
1384b114b9SEric Dumazet 		   __be16 sport, __be16 dport);
145d2ed052SEric Dumazet u32 secure_tcp_ts_off(const struct net *net, __be32 saddr, __be32 daddr);
1584b114b9SEric Dumazet u32 secure_tcpv6_seq(const __be32 *saddr, const __be32 *daddr,
1684b114b9SEric Dumazet 		     __be16 sport, __be16 dport);
175d2ed052SEric Dumazet u32 secure_tcpv6_ts_off(const struct net *net,
185d2ed052SEric Dumazet 			const __be32 *saddr, const __be32 *daddr);
19a4ea1fefSJoe Perches u64 secure_dccp_sequence_number(__be32 saddr, __be32 daddr,
206e5714eaSDavid S. Miller 				__be16 sport, __be16 dport);
21a4ea1fefSJoe Perches u64 secure_dccpv6_sequence_number(__be32 *saddr, __be32 *daddr,
226e5714eaSDavid S. Miller 				  __be16 sport, __be16 dport);
236e5714eaSDavid S. Miller 
246e5714eaSDavid S. Miller #endif /* _NET_SECURE_SEQ */
25