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