sctp_af
Regular
4.4
: Absent ⚠️
4.8
: Absent ⚠️
4.10
: Absent ⚠️
4.13
: Absent ⚠️
4.15
: Absent ⚠️
4.18
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.0
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.3
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.4
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.8
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.11
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.13
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.15
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
5.19
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
6.2
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*skb_sdif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
6.5
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*skb_sdif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
6.8
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*skb_sdif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
arm64
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
armhf
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
ppc64el
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
riscv64
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
aws
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
azure
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
gcp
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
lowlatency
: ✅struct sctp_af {
int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *);
void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *);
void (*copy_addrlist)(struct list_head *, struct net_device *);
int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *);
void (*addr_copy)(union sctp_addr *, union sctp_addr *);
void (*from_skb)(union sctp_addr *, struct sk_buff *, int);
void (*from_sk)(union sctp_addr *, struct sock *);
void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int);
int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *);
int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *);
enum sctp_scope (*scope)(union sctp_addr *);
void (*inaddr_any)(union sctp_addr *, __be16);
int (*is_any)(const union sctp_addr *);
int (*available)(union sctp_addr *, struct sctp_sock *);
int (*skb_iif)(const struct sk_buff *);
int (*is_ce)(const struct sk_buff *);
void (*seq_dump_addr)(struct seq_file *, union sctp_addr *);
void (*ecn_capable)(struct sock *);
__u16 net_header_len;
int sockaddr_len;
int (*ip_options_len)(struct sock *);
sa_family_t sa_family;
struct list_head list;
};
Regular
4.18
and 5.0
✅
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
⚠️int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int)
int (*compat_getsockopt)(struct sock *, int, int, char *, int *)
int (*setsockopt)(struct sock *, int, int, char *, unsigned int)
➡️ int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int)
5.11
and 5.13
⚠️void (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int)
➡️ bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int)
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
⚠️int (*skb_sdif)(const struct sk_buff *)
6.2
and 6.5
✅
6.5
and 6.8
✅
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅