Mercurial > hg > freeDiameter
comparison libfdcore/cnxctx.h @ 1540:407e0a889c7e
SCTP ConnectPeer: sctp_bindx() to local endpoints
When connecting to an SCTP peer using sctp_connectx() with local
addresses configured with ListenOn, bind to the ListenOn addresses
using sctp_bindx() so that the SCTP INIT only contains the
configured local addresses, matching what is advertised in the CER,
and disable SCTP_AUTO_ASCONF.
If no local addresses are configured with ListenOn, the previous
behaviour of sctp_connectx() and enable SCTP_AUTO_ASCONF is used.
author | Luke Mewburn <luke@mewburn.net> |
---|---|
date | Fri, 01 May 2020 18:20:33 +1000 |
parents | 3ac2877628a5 |
children | 566bb46cc73f |
comparison
equal
deleted
inserted
replaced
1539:d25ce064c667 | 1540:407e0a889c7e |
---|---|
115 | 115 |
116 #ifndef DISABLE_SCTP | 116 #ifndef DISABLE_SCTP |
117 /* SCTP */ | 117 /* SCTP */ |
118 int fd_sctp_create_bind_server( int * sock, int family, struct fd_list * list, uint16_t port ); | 118 int fd_sctp_create_bind_server( int * sock, int family, struct fd_list * list, uint16_t port ); |
119 int fd_sctp_listen( int sock ); | 119 int fd_sctp_listen( int sock ); |
120 int fd_sctp_client( int *sock, int no_ip6, uint16_t port, struct fd_list * list ); | 120 int fd_sctp_client( int *sock, int no_ip6, uint16_t port, struct fd_list * list, struct fd_list * src_list ); |
121 int fd_sctp_get_local_ep(int sock, struct fd_list * list); | 121 int fd_sctp_get_local_ep(int sock, struct fd_list * list); |
122 int fd_sctp_get_remote_ep(int sock, struct fd_list * list); | 122 int fd_sctp_get_remote_ep(int sock, struct fd_list * list); |
123 int fd_sctp_get_str_info( int sock, uint16_t *in, uint16_t *out, sSS *primary ); | 123 int fd_sctp_get_str_info( int sock, uint16_t *in, uint16_t *out, sSS *primary ); |
124 ssize_t fd_sctp_sendstrv(struct cnxctx * conn, uint16_t strid, const struct iovec *iov, int iovcnt); | 124 ssize_t fd_sctp_sendstrv(struct cnxctx * conn, uint16_t strid, const struct iovec *iov, int iovcnt); |
125 int fd_sctp_recvmeta(struct cnxctx * conn, uint16_t * strid, uint8_t ** buf, size_t * len, int *event); | 125 int fd_sctp_recvmeta(struct cnxctx * conn, uint16_t * strid, uint8_t ** buf, size_t * len, int *event); |