@@ -48,7 +48,7 @@ type Endpoint struct {
48
48
mtu uint32
49
49
}
50
50
51
- func (e * Endpoint ) deliverPackets (r stack. RouteInfo , proto tcpip. NetworkProtocolNumber , pkts stack.PacketBufferList ) {
51
+ func (e * Endpoint ) deliverPackets (pkts stack.PacketBufferList ) {
52
52
if ! e .linked .IsAttached () {
53
53
return
54
54
}
@@ -65,15 +65,16 @@ func (e *Endpoint) deliverPackets(r stack.RouteInfo, proto tcpip.NetworkProtocol
65
65
newPkt := stack .NewPacketBuffer (stack.PacketBufferOptions {
66
66
Data : buffer .NewVectorisedView (pkt .Size (), pkt .Views ()),
67
67
})
68
- e .linked .dispatcher .DeliverNetworkPacket (r .LocalLinkAddress /* remote */ , r .RemoteLinkAddress /* local */ , proto , newPkt )
68
+ r := pkt .EgressRoute
69
+ e .linked .dispatcher .DeliverNetworkPacket (r .LocalLinkAddress /* remote */ , r .RemoteLinkAddress /* local */ , pkt .NetworkProtocolNumber , newPkt )
69
70
newPkt .DecRef ()
70
71
}
71
72
}
72
73
73
74
// WritePackets implements stack.LinkEndpoint.
74
- func (e * Endpoint ) WritePackets (r stack. RouteInfo , pkts stack.PacketBufferList , proto tcpip. NetworkProtocolNumber ) (int , tcpip.Error ) {
75
+ func (e * Endpoint ) WritePackets (pkts stack.PacketBufferList ) (int , tcpip.Error ) {
75
76
n := pkts .Len ()
76
- e .deliverPackets (r , proto , pkts )
77
+ e .deliverPackets (pkts )
77
78
return n , nil
78
79
}
79
80
@@ -123,6 +124,6 @@ func (*Endpoint) AddHeader(_, _ tcpip.LinkAddress, _ tcpip.NetworkProtocolNumber
123
124
func (e * Endpoint ) WriteRawPacket (pkt * stack.PacketBuffer ) tcpip.Error {
124
125
var pkts stack.PacketBufferList
125
126
pkts .PushBack (pkt )
126
- _ , err := e .WritePackets (stack. RouteInfo {}, pkts , 0 )
127
+ _ , err := e .WritePackets (pkts )
127
128
return err
128
129
}
0 commit comments