summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/link/fdbased
diff options
context:
space:
mode:
authorGoogler <noreply@google.com>2019-02-26 14:57:27 -0800
committerShentubot <shentubot@google.com>2019-02-26 14:58:37 -0800
commit12d9cf6fabb53d18da3602564f45ff6fbbf032d6 (patch)
tree176227d1ca05a54c89d1236e58dc2793b8b74abb /pkg/tcpip/link/fdbased
parenta2b794b30dd952793f4d99a9423cef7efdc7843f (diff)
Adds a WriteRawPacket method to the InjectableLinkEndpoint interface.
Also exposes ipv4.MaxTotalSize since it is a generally useful constant. PiperOrigin-RevId: 235799755 Change-Id: I1fa8d5294bf355acf5527cfdf274b3687d3c8b13
Diffstat (limited to 'pkg/tcpip/link/fdbased')
-rw-r--r--pkg/tcpip/link/fdbased/endpoint.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkg/tcpip/link/fdbased/endpoint.go b/pkg/tcpip/link/fdbased/endpoint.go
index 20f379ab0..fa980716d 100644
--- a/pkg/tcpip/link/fdbased/endpoint.go
+++ b/pkg/tcpip/link/fdbased/endpoint.go
@@ -288,6 +288,11 @@ func (e *endpoint) WritePacket(r *stack.Route, hdr buffer.Prependable, payload b
return rawfile.NonBlockingWrite2(e.fd, hdr.View(), payload.ToView())
}
+// WriteRawPacket writes a raw packet directly to the file descriptor.
+func (e *endpoint) WriteRawPacket(dest tcpip.Address, packet []byte) *tcpip.Error {
+ return rawfile.NonBlockingWrite(e.fd, packet)
+}
+
func (e *endpoint) capViews(k, n int, buffers []int) int {
c := 0
for i, s := range buffers {