Drop nicID from transport endpoint reg/cleanup fns
...as it is unused. PiperOrigin-RevId: 353896981
This commit is contained in:
parent
abdff88748
commit
9ba24d449f
|
@ -1629,25 +1629,25 @@ func (s *Stack) ClearNeighbors(nicID tcpip.NICID) *tcpip.Error {
|
|||
// transport dispatcher. Received packets that match the provided id will be
|
||||
// delivered to the given endpoint; specifying a nic is optional, but
|
||||
// nic-specific IDs have precedence over global ones.
|
||||
func (s *Stack) RegisterTransportEndpoint(nicID tcpip.NICID, netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, ep TransportEndpoint, flags ports.Flags, bindToDevice tcpip.NICID) *tcpip.Error {
|
||||
func (s *Stack) RegisterTransportEndpoint(netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, ep TransportEndpoint, flags ports.Flags, bindToDevice tcpip.NICID) *tcpip.Error {
|
||||
return s.demux.registerEndpoint(netProtos, protocol, id, ep, flags, bindToDevice)
|
||||
}
|
||||
|
||||
// CheckRegisterTransportEndpoint checks if an endpoint can be registered with
|
||||
// the stack transport dispatcher.
|
||||
func (s *Stack) CheckRegisterTransportEndpoint(nicID tcpip.NICID, netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, flags ports.Flags, bindToDevice tcpip.NICID) *tcpip.Error {
|
||||
func (s *Stack) CheckRegisterTransportEndpoint(netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, flags ports.Flags, bindToDevice tcpip.NICID) *tcpip.Error {
|
||||
return s.demux.checkEndpoint(netProtos, protocol, id, flags, bindToDevice)
|
||||
}
|
||||
|
||||
// UnregisterTransportEndpoint removes the endpoint with the given id from the
|
||||
// stack transport dispatcher.
|
||||
func (s *Stack) UnregisterTransportEndpoint(nicID tcpip.NICID, netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, ep TransportEndpoint, flags ports.Flags, bindToDevice tcpip.NICID) {
|
||||
func (s *Stack) UnregisterTransportEndpoint(netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, ep TransportEndpoint, flags ports.Flags, bindToDevice tcpip.NICID) {
|
||||
s.demux.unregisterEndpoint(netProtos, protocol, id, ep, flags, bindToDevice)
|
||||
}
|
||||
|
||||
// StartTransportEndpointCleanup removes the endpoint with the given id from
|
||||
// the stack transport dispatcher. It also transitions it to the cleanup stage.
|
||||
func (s *Stack) StartTransportEndpointCleanup(nicID tcpip.NICID, netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, ep TransportEndpoint, flags ports.Flags, bindToDevice tcpip.NICID) {
|
||||
func (s *Stack) StartTransportEndpointCleanup(netProtos []tcpip.NetworkProtocolNumber, protocol tcpip.TransportProtocolNumber, id TransportEndpointID, ep TransportEndpoint, flags ports.Flags, bindToDevice tcpip.NICID) {
|
||||
s.cleanupEndpointsMu.Lock()
|
||||
s.cleanupEndpoints[ep] = struct{}{}
|
||||
s.cleanupEndpointsMu.Unlock()
|
||||
|
@ -1672,13 +1672,13 @@ func (s *Stack) FindTransportEndpoint(netProto tcpip.NetworkProtocolNumber, tran
|
|||
// RegisterRawTransportEndpoint registers the given endpoint with the stack
|
||||
// transport dispatcher. Received packets that match the provided transport
|
||||
// protocol will be delivered to the given endpoint.
|
||||
func (s *Stack) RegisterRawTransportEndpoint(nicID tcpip.NICID, netProto tcpip.NetworkProtocolNumber, transProto tcpip.TransportProtocolNumber, ep RawTransportEndpoint) *tcpip.Error {
|
||||
func (s *Stack) RegisterRawTransportEndpoint(netProto tcpip.NetworkProtocolNumber, transProto tcpip.TransportProtocolNumber, ep RawTransportEndpoint) *tcpip.Error {
|
||||
return s.demux.registerRawEndpoint(netProto, transProto, ep)
|
||||
}
|
||||
|
||||
// UnregisterRawTransportEndpoint removes the endpoint for the transport
|
||||
// protocol from the stack transport dispatcher.
|
||||
func (s *Stack) UnregisterRawTransportEndpoint(nicID tcpip.NICID, netProto tcpip.NetworkProtocolNumber, transProto tcpip.TransportProtocolNumber, ep RawTransportEndpoint) {
|
||||
func (s *Stack) UnregisterRawTransportEndpoint(netProto tcpip.NetworkProtocolNumber, transProto tcpip.TransportProtocolNumber, ep RawTransportEndpoint) {
|
||||
s.demux.unregisterRawEndpoint(netProto, transProto, ep)
|
||||
}
|
||||
|
||||
|
|
|
@ -194,7 +194,7 @@ func TestTransportDemuxerRegister(t *testing.T) {
|
|||
if !ok {
|
||||
t.Fatalf("%T does not implement stack.TransportEndpoint", ep)
|
||||
}
|
||||
if got, want := s.RegisterTransportEndpoint(0, []tcpip.NetworkProtocolNumber{test.proto}, udp.ProtocolNumber, stack.TransportEndpointID{}, tEP, ports.Flags{}, 0), test.want; got != want {
|
||||
if got, want := s.RegisterTransportEndpoint([]tcpip.NetworkProtocolNumber{test.proto}, udp.ProtocolNumber, stack.TransportEndpointID{}, tEP, ports.Flags{}, 0), test.want; got != want {
|
||||
t.Fatalf("s.RegisterTransportEndpoint(...) = %s, want %s", got, want)
|
||||
}
|
||||
})
|
||||
|
|
|
@ -149,7 +149,7 @@ func (f *fakeTransportEndpoint) Connect(addr tcpip.FullAddress) *tcpip.Error {
|
|||
|
||||
// Try to register so that we can start receiving packets.
|
||||
f.ID.RemoteAddress = addr.Addr
|
||||
err = f.proto.stack.RegisterTransportEndpoint(0, []tcpip.NetworkProtocolNumber{fakeNetNumber}, fakeTransNumber, f.ID, f, ports.Flags{}, 0 /* bindToDevice */)
|
||||
err = f.proto.stack.RegisterTransportEndpoint([]tcpip.NetworkProtocolNumber{fakeNetNumber}, fakeTransNumber, f.ID, f, ports.Flags{}, 0 /* bindToDevice */)
|
||||
if err != nil {
|
||||
r.Release()
|
||||
return err
|
||||
|
@ -190,7 +190,6 @@ func (f *fakeTransportEndpoint) Accept(*tcpip.FullAddress) (tcpip.Endpoint, *wai
|
|||
|
||||
func (f *fakeTransportEndpoint) Bind(a tcpip.FullAddress) *tcpip.Error {
|
||||
if err := f.proto.stack.RegisterTransportEndpoint(
|
||||
a.NIC,
|
||||
[]tcpip.NetworkProtocolNumber{fakeNetNumber},
|
||||
fakeTransNumber,
|
||||
stack.TransportEndpointID{LocalAddress: a.Addr},
|
||||
|
|
|
@ -124,7 +124,7 @@ func (e *endpoint) Close() {
|
|||
e.shutdownFlags = tcpip.ShutdownRead | tcpip.ShutdownWrite
|
||||
switch e.state {
|
||||
case stateBound, stateConnected:
|
||||
e.stack.UnregisterTransportEndpoint(e.RegisterNICID, []tcpip.NetworkProtocolNumber{e.NetProto}, e.TransProto, e.ID, e, ports.Flags{}, 0 /* bindToDevice */)
|
||||
e.stack.UnregisterTransportEndpoint([]tcpip.NetworkProtocolNumber{e.NetProto}, e.TransProto, e.ID, e, ports.Flags{}, 0 /* bindToDevice */)
|
||||
}
|
||||
|
||||
// Close the receive list and drain it.
|
||||
|
@ -579,14 +579,14 @@ func (e *endpoint) registerWithStack(nicID tcpip.NICID, netProtos []tcpip.Networ
|
|||
if id.LocalPort != 0 {
|
||||
// The endpoint already has a local port, just attempt to
|
||||
// register it.
|
||||
err := e.stack.RegisterTransportEndpoint(nicID, netProtos, e.TransProto, id, e, ports.Flags{}, 0 /* bindToDevice */)
|
||||
err := e.stack.RegisterTransportEndpoint(netProtos, e.TransProto, id, e, ports.Flags{}, 0 /* bindToDevice */)
|
||||
return id, err
|
||||
}
|
||||
|
||||
// We need to find a port for the endpoint.
|
||||
_, err := e.stack.PickEphemeralPort(func(p uint16) (bool, *tcpip.Error) {
|
||||
id.LocalPort = p
|
||||
err := e.stack.RegisterTransportEndpoint(nicID, netProtos, e.TransProto, id, e, ports.Flags{}, 0 /* bindtodevice */)
|
||||
err := e.stack.RegisterTransportEndpoint(netProtos, e.TransProto, id, e, ports.Flags{}, 0 /* bindtodevice */)
|
||||
switch err {
|
||||
case nil:
|
||||
return true, nil
|
||||
|
|
|
@ -136,7 +136,7 @@ func newEndpoint(s *stack.Stack, netProto tcpip.NetworkProtocolNumber, transProt
|
|||
return e, nil
|
||||
}
|
||||
|
||||
if err := e.stack.RegisterRawTransportEndpoint(e.RegisterNICID, e.NetProto, e.TransProto, e); err != nil {
|
||||
if err := e.stack.RegisterRawTransportEndpoint(e.NetProto, e.TransProto, e); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -157,7 +157,7 @@ func (e *endpoint) Close() {
|
|||
return
|
||||
}
|
||||
|
||||
e.stack.UnregisterRawTransportEndpoint(e.RegisterNICID, e.NetProto, e.TransProto, e)
|
||||
e.stack.UnregisterRawTransportEndpoint(e.NetProto, e.TransProto, e)
|
||||
|
||||
e.rcvMu.Lock()
|
||||
defer e.rcvMu.Unlock()
|
||||
|
@ -405,11 +405,11 @@ func (e *endpoint) Connect(addr tcpip.FullAddress) *tcpip.Error {
|
|||
|
||||
if e.associated {
|
||||
// Re-register the endpoint with the appropriate NIC.
|
||||
if err := e.stack.RegisterRawTransportEndpoint(addr.NIC, e.NetProto, e.TransProto, e); err != nil {
|
||||
if err := e.stack.RegisterRawTransportEndpoint(e.NetProto, e.TransProto, e); err != nil {
|
||||
route.Release()
|
||||
return err
|
||||
}
|
||||
e.stack.UnregisterRawTransportEndpoint(e.RegisterNICID, e.NetProto, e.TransProto, e)
|
||||
e.stack.UnregisterRawTransportEndpoint(e.NetProto, e.TransProto, e)
|
||||
e.RegisterNICID = nic
|
||||
}
|
||||
|
||||
|
@ -447,16 +447,16 @@ func (e *endpoint) Bind(addr tcpip.FullAddress) *tcpip.Error {
|
|||
defer e.mu.Unlock()
|
||||
|
||||
// If a local address was specified, verify that it's valid.
|
||||
if len(addr.Addr) != 0 && e.stack.CheckLocalAddress(addr.NIC, e.NetProto, addr.Addr) == 0 {
|
||||
if len(addr.Addr) != 0 && e.stack.CheckLocalAddress(e.RegisterNICID, e.NetProto, addr.Addr) == 0 {
|
||||
return tcpip.ErrBadLocalAddress
|
||||
}
|
||||
|
||||
if e.associated {
|
||||
// Re-register the endpoint with the appropriate NIC.
|
||||
if err := e.stack.RegisterRawTransportEndpoint(addr.NIC, e.NetProto, e.TransProto, e); err != nil {
|
||||
if err := e.stack.RegisterRawTransportEndpoint(e.NetProto, e.TransProto, e); err != nil {
|
||||
return err
|
||||
}
|
||||
e.stack.UnregisterRawTransportEndpoint(e.RegisterNICID, e.NetProto, e.TransProto, e)
|
||||
e.stack.UnregisterRawTransportEndpoint(e.NetProto, e.TransProto, e)
|
||||
e.RegisterNICID = addr.NIC
|
||||
e.BindNICID = addr.NIC
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ func (e *endpoint) Resume(s *stack.Stack) {
|
|||
}
|
||||
|
||||
if e.associated {
|
||||
if err := e.stack.RegisterRawTransportEndpoint(e.RegisterNICID, e.NetProto, e.TransProto, e); err != nil {
|
||||
if err := e.stack.RegisterRawTransportEndpoint(e.NetProto, e.TransProto, e); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -288,7 +288,7 @@ func (l *listenContext) startHandshake(s *segment, opts *header.TCPSynOptions, q
|
|||
}
|
||||
|
||||
// Register new endpoint so that packets are routed to it.
|
||||
if err := ep.stack.RegisterTransportEndpoint(ep.boundNICID, ep.effectiveNetProtos, ProtocolNumber, ep.ID, ep, ep.boundPortFlags, ep.boundBindToDevice); err != nil {
|
||||
if err := ep.stack.RegisterTransportEndpoint(ep.effectiveNetProtos, ProtocolNumber, ep.ID, ep, ep.boundPortFlags, ep.boundBindToDevice); err != nil {
|
||||
ep.mu.Unlock()
|
||||
ep.Close()
|
||||
|
||||
|
@ -692,7 +692,7 @@ func (e *endpoint) handleListenSegment(ctx *listenContext, s *segment) *tcpip.Er
|
|||
}
|
||||
|
||||
// Register new endpoint so that packets are routed to it.
|
||||
if err := n.stack.RegisterTransportEndpoint(n.boundNICID, n.effectiveNetProtos, ProtocolNumber, n.ID, n, n.boundPortFlags, n.boundBindToDevice); err != nil {
|
||||
if err := n.stack.RegisterTransportEndpoint(n.effectiveNetProtos, ProtocolNumber, n.ID, n, n.boundPortFlags, n.boundBindToDevice); err != nil {
|
||||
n.mu.Unlock()
|
||||
n.Close()
|
||||
|
||||
|
|
|
@ -1087,7 +1087,7 @@ func (e *endpoint) closeNoShutdownLocked() {
|
|||
// in Listen() when trying to register.
|
||||
if e.EndpointState() == StateListen && e.isPortReserved {
|
||||
if e.isRegistered {
|
||||
e.stack.StartTransportEndpointCleanup(e.boundNICID, e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
e.stack.StartTransportEndpointCleanup(e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
e.isRegistered = false
|
||||
}
|
||||
|
||||
|
@ -1161,7 +1161,7 @@ func (e *endpoint) cleanupLocked() {
|
|||
e.workerCleanup = false
|
||||
|
||||
if e.isRegistered {
|
||||
e.stack.StartTransportEndpointCleanup(e.boundNICID, e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
e.stack.StartTransportEndpointCleanup(e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
e.isRegistered = false
|
||||
}
|
||||
|
||||
|
@ -2178,7 +2178,7 @@ func (e *endpoint) connect(addr tcpip.FullAddress, handshake bool, run bool) *tc
|
|||
|
||||
if e.ID.LocalPort != 0 {
|
||||
// The endpoint is bound to a port, attempt to register it.
|
||||
err := e.stack.RegisterTransportEndpoint(nicID, netProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
err := e.stack.RegisterTransportEndpoint(netProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -2266,7 +2266,7 @@ func (e *endpoint) connect(addr tcpip.FullAddress, handshake bool, run bool) *tc
|
|||
|
||||
id := e.ID
|
||||
id.LocalPort = p
|
||||
if err := e.stack.RegisterTransportEndpoint(nicID, netProtos, ProtocolNumber, id, e, e.portFlags, bindToDevice); err != nil {
|
||||
if err := e.stack.RegisterTransportEndpoint(netProtos, ProtocolNumber, id, e, e.portFlags, bindToDevice); err != nil {
|
||||
e.stack.ReleasePort(netProtos, ProtocolNumber, e.ID.LocalAddress, p, e.portFlags, bindToDevice, addr)
|
||||
if err == tcpip.ErrPortInUse {
|
||||
return false, nil
|
||||
|
@ -2470,7 +2470,7 @@ func (e *endpoint) listen(backlog int) *tcpip.Error {
|
|||
}
|
||||
|
||||
// Register the endpoint.
|
||||
if err := e.stack.RegisterTransportEndpoint(e.boundNICID, e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice); err != nil {
|
||||
if err := e.stack.RegisterTransportEndpoint(e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -2592,7 +2592,7 @@ func (e *endpoint) bindLocked(addr tcpip.FullAddress) (err *tcpip.Error) {
|
|||
// demuxer. Further connected endpoints always have a remote
|
||||
// address/port. Hence this will only return an error if there is a matching
|
||||
// listening endpoint.
|
||||
if err := e.stack.CheckRegisterTransportEndpoint(nic, netProtos, ProtocolNumber, id, e.portFlags, bindToDevice); err != nil {
|
||||
if err := e.stack.CheckRegisterTransportEndpoint(netProtos, ProtocolNumber, id, e.portFlags, bindToDevice); err != nil {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
|
|
|
@ -244,7 +244,7 @@ func (e *endpoint) Close() {
|
|||
|
||||
switch e.EndpointState() {
|
||||
case StateBound, StateConnected:
|
||||
e.stack.UnregisterTransportEndpoint(e.RegisterNICID, e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
e.stack.UnregisterTransportEndpoint(e.effectiveNetProtos, ProtocolNumber, e.ID, e, e.boundPortFlags, e.boundBindToDevice)
|
||||
e.stack.ReleasePort(e.effectiveNetProtos, ProtocolNumber, e.ID.LocalAddress, e.ID.LocalPort, e.boundPortFlags, e.boundBindToDevice, tcpip.FullAddress{})
|
||||
e.boundBindToDevice = 0
|
||||
e.boundPortFlags = ports.Flags{}
|
||||
|
@ -908,7 +908,7 @@ func (e *endpoint) Disconnect() *tcpip.Error {
|
|||
LocalPort: e.ID.LocalPort,
|
||||
LocalAddress: e.ID.LocalAddress,
|
||||
}
|
||||
id, btd, err = e.registerWithStack(e.RegisterNICID, e.effectiveNetProtos, id)
|
||||
id, btd, err = e.registerWithStack(e.effectiveNetProtos, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -923,7 +923,7 @@ func (e *endpoint) Disconnect() *tcpip.Error {
|
|||
e.setEndpointState(StateInitial)
|
||||
}
|
||||
|
||||
e.stack.UnregisterTransportEndpoint(e.RegisterNICID, e.effectiveNetProtos, ProtocolNumber, e.ID, e, boundPortFlags, e.boundBindToDevice)
|
||||
e.stack.UnregisterTransportEndpoint(e.effectiveNetProtos, ProtocolNumber, e.ID, e, boundPortFlags, e.boundBindToDevice)
|
||||
e.ID = id
|
||||
e.boundBindToDevice = btd
|
||||
e.route.Release()
|
||||
|
@ -996,7 +996,7 @@ func (e *endpoint) Connect(addr tcpip.FullAddress) *tcpip.Error {
|
|||
|
||||
oldPortFlags := e.boundPortFlags
|
||||
|
||||
id, btd, err := e.registerWithStack(nicID, netProtos, id)
|
||||
id, btd, err := e.registerWithStack(netProtos, id)
|
||||
if err != nil {
|
||||
r.Release()
|
||||
return err
|
||||
|
@ -1004,7 +1004,7 @@ func (e *endpoint) Connect(addr tcpip.FullAddress) *tcpip.Error {
|
|||
|
||||
// Remove the old registration.
|
||||
if e.ID.LocalPort != 0 {
|
||||
e.stack.UnregisterTransportEndpoint(e.RegisterNICID, e.effectiveNetProtos, ProtocolNumber, e.ID, e, oldPortFlags, e.boundBindToDevice)
|
||||
e.stack.UnregisterTransportEndpoint(e.effectiveNetProtos, ProtocolNumber, e.ID, e, oldPortFlags, e.boundBindToDevice)
|
||||
}
|
||||
|
||||
e.ID = id
|
||||
|
@ -1066,7 +1066,7 @@ func (*endpoint) Accept(*tcpip.FullAddress) (tcpip.Endpoint, *waiter.Queue, *tcp
|
|||
return nil, nil, tcpip.ErrNotSupported
|
||||
}
|
||||
|
||||
func (e *endpoint) registerWithStack(nicID tcpip.NICID, netProtos []tcpip.NetworkProtocolNumber, id stack.TransportEndpointID) (stack.TransportEndpointID, tcpip.NICID, *tcpip.Error) {
|
||||
func (e *endpoint) registerWithStack(netProtos []tcpip.NetworkProtocolNumber, id stack.TransportEndpointID) (stack.TransportEndpointID, tcpip.NICID, *tcpip.Error) {
|
||||
bindToDevice := tcpip.NICID(e.ops.GetBindToDevice())
|
||||
if e.ID.LocalPort == 0 {
|
||||
port, err := e.stack.ReservePort(netProtos, ProtocolNumber, id.LocalAddress, id.LocalPort, e.portFlags, bindToDevice, tcpip.FullAddress{}, nil /* testPort */)
|
||||
|
@ -1077,7 +1077,7 @@ func (e *endpoint) registerWithStack(nicID tcpip.NICID, netProtos []tcpip.Networ
|
|||
}
|
||||
e.boundPortFlags = e.portFlags
|
||||
|
||||
err := e.stack.RegisterTransportEndpoint(nicID, netProtos, ProtocolNumber, id, e, e.boundPortFlags, bindToDevice)
|
||||
err := e.stack.RegisterTransportEndpoint(netProtos, ProtocolNumber, id, e, e.boundPortFlags, bindToDevice)
|
||||
if err != nil {
|
||||
e.stack.ReleasePort(netProtos, ProtocolNumber, id.LocalAddress, id.LocalPort, e.boundPortFlags, bindToDevice, tcpip.FullAddress{})
|
||||
e.boundPortFlags = ports.Flags{}
|
||||
|
@ -1121,7 +1121,7 @@ func (e *endpoint) bindLocked(addr tcpip.FullAddress) *tcpip.Error {
|
|||
LocalPort: addr.Port,
|
||||
LocalAddress: addr.Addr,
|
||||
}
|
||||
id, btd, err := e.registerWithStack(nicID, netProtos, id)
|
||||
id, btd, err := e.registerWithStack(netProtos, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -132,7 +132,7 @@ func (e *endpoint) Resume(s *stack.Stack) {
|
|||
// pass it to the reservation machinery.
|
||||
id := e.ID
|
||||
e.ID.LocalPort = 0
|
||||
e.ID, e.boundBindToDevice, err = e.registerWithStack(e.RegisterNICID, e.effectiveNetProtos, id)
|
||||
e.ID, e.boundBindToDevice, err = e.registerWithStack(e.effectiveNetProtos, id)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ func (r *ForwarderRequest) CreateEndpoint(queue *waiter.Queue) (tcpip.Endpoint,
|
|||
}
|
||||
|
||||
ep := newEndpoint(r.stack, r.pkt.NetworkProtocolNumber, queue)
|
||||
if err := r.stack.RegisterTransportEndpoint(r.pkt.NICID, []tcpip.NetworkProtocolNumber{r.pkt.NetworkProtocolNumber}, ProtocolNumber, r.id, ep, ep.portFlags, tcpip.NICID(ep.ops.GetBindToDevice())); err != nil {
|
||||
if err := r.stack.RegisterTransportEndpoint([]tcpip.NetworkProtocolNumber{r.pkt.NetworkProtocolNumber}, ProtocolNumber, r.id, ep, ep.portFlags, tcpip.NICID(ep.ops.GetBindToDevice())); err != nil {
|
||||
ep.Close()
|
||||
route.Release()
|
||||
return nil, err
|
||||
|
|
Loading…
Reference in New Issue