Using sctp_sendv()[The current approved way from RFC6458] in an IpV6 environment from a client does not work and returns "Invalid Argument". Same sequence using the deprecated sctp_sendmsg() works fine. This is for the socket created in SOCK_STREAM. But sctp_recv() works fine from the client. And both sctp_sendv() and sctp_recv() works fine from the server. Same scenario with sctp_sendv() works fine in an IpV4 client.
Can you provide a small test program which can be used to reproduce the issue? Best regards Michael
Created attachment 188543 [details] Example of a client using sctp_sendv()
I just attached a simple client using sctp_sendv() for performing an implicit association setup to an IPv6 server. It works on my test system.
Yes I see this working too. After digging into my code and this it looks like the only real difference was that I have the length set to 0 i.e. addr.sin6_len in your code was not set to size of sockaddr_in6. And this caused the problem. Of course my IpV4 code was setting the length in the corresponding struct and so was ok. So, I guess this can is not a bug!
I agree, will close the issue.