sctp_afRegular
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 ✅