github.com/sagernet/sing@v0.2.6/common/control/bind_linux.go (about)

     1  package control
     2  
     3  import (
     4  	"syscall"
     5  
     6  	"golang.org/x/sys/unix"
     7  )
     8  
     9  func bindToInterface(conn syscall.RawConn, network string, address string, interfaceName string, interfaceIndex int) error {
    10  	return Raw(conn, func(fd uintptr) error {
    11  		return unix.BindToDevice(int(fd), interfaceName)
    12  	})
    13  }