mirror of
https://github.com/moby/moby.git
synced 2026-08-04 15:11:00 +00:00
This new struct allocates ports from the operating system by creating sockets and binding them. It's based on the existing bindTCPOrUDP and bindSCTP functions previously defined in the bridge driver. It tries to detect conflicts on best effort basis, and doesn't guarantee that the ports it allocates are not in use by other processes. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
22 lines
446 B
Go
22 lines
446 B
Go
//go:build linux && !386
|
|
|
|
package portallocator
|
|
|
|
import (
|
|
"syscall"
|
|
"unsafe"
|
|
|
|
"github.com/ishidawataru/sctp"
|
|
)
|
|
|
|
func setSCTPInitMsg(sd int, options sctp.InitMsg) syscall.Errno {
|
|
_, _, errno := syscall.Syscall6(syscall.SYS_SETSOCKOPT,
|
|
uintptr(sd),
|
|
sctp.SOL_SCTP,
|
|
sctp.SCTP_INITMSG,
|
|
uintptr(unsafe.Pointer(&options)), // #nosec G103 -- Ignore "G103: Use of unsafe calls should be audited"
|
|
unsafe.Sizeof(options),
|
|
0)
|
|
return errno
|
|
}
|