|
|
@@ -66,6 +66,18 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
+ if sockopt != nil || len(d.controllers) > 0 {
|
|
|
+ file, err := packetConn.(*net.UDPConn).File()
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ fd := file.Fd()
|
|
|
+ if sockopt != nil {
|
|
|
+ if err := applyOutboundSocketOptions("udp", dest.NetAddr(), fd, sockopt); err != nil {
|
|
|
+ newError("failed to apply socket options").Base(err).WriteToLog(session.ExportIDToError(ctx))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return &PacketConnWrapper{
|
|
|
Conn: packetConn,
|
|
|
Dest: destAddr,
|