func NewConn()

in internal/ip/ip.go [275:298]


func NewConn(af int, listenPort layers.TCPPort, intf string, srcAddr net.IP, logger *log.Logger) *Conn {
	fdSend, err := getSendSocket(af)
	if err != nil {
		logger.Fatal("Error creating send socket",
			zap.Int("address_family", af),
			zap.Error(err))
	}

	rs, err := getRecvSource(af, listenPort, intf, logger)
	if err != nil {
		logger.Fatal("Error creating recv source",
			zap.Any("listenPort", listenPort),
			zap.String("interface", intf),
			zap.Error(err))
	}

	return &Conn{
		SrcAddr:    srcAddr,
		AF:         af,
		sendFD:     fdSend,
		recvSrc:    rs,
		ListenPort: listenPort,
	}
}