raw

package
v0.0.0-...-73a4147 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2024 License: Apache-2.0, MIT Imports: 15 Imported by: 0

Documentation

Overview

Package raw provides the implementation of raw sockets (see raw(7)). Raw sockets allow applications to:

  • manually write and inspect transport layer headers and payloads
  • receive all traffic of a given transport protocol (e.g. ICMP or UDP)
  • optionally write and inspect network layer headers of packets

Raw sockets don't have any notion of ports, and incoming packets are demultiplexed solely by protocol number. Thus, a raw UDP endpoint will receive every UDP packet received by netstack. bind(2) and connect(2) can be used to filter incoming packets by source and destination.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewEndpoint

func NewEndpoint(stack *stack.Stack, netProto tcpip.NetworkProtocolNumber, transProto tcpip.TransportProtocolNumber, waiterQueue *waiter.Queue) (tcpip.Endpoint, tcpip.Error)

NewEndpoint returns a raw endpoint for the given protocols.

Types

type CreateOnlyFactory

type CreateOnlyFactory struct{}

CreateOnlyFactory implements stack.RawFactory. It allows creation of raw endpoints that do not support reading, writing, binding, etc.

func (CreateOnlyFactory) NewPacketEndpoint

NewPacketEndpoint implements stack.RawFactory.NewPacketEndpoint.

func (CreateOnlyFactory) NewUnassociatedEndpoint

NewUnassociatedEndpoint implements stack.RawFactory.NewUnassociatedEndpoint.

type EndpointFactory

type EndpointFactory struct{}

EndpointFactory implements stack.RawFactory.

func (EndpointFactory) NewPacketEndpoint

func (EndpointFactory) NewPacketEndpoint(stack *stack.Stack, cooked bool, netProto tcpip.NetworkProtocolNumber, waiterQueue *waiter.Queue) (tcpip.Endpoint, tcpip.Error)

NewPacketEndpoint implements stack.RawFactory.NewPacketEndpoint.

func (EndpointFactory) NewUnassociatedEndpoint

func (EndpointFactory) NewUnassociatedEndpoint(stack *stack.Stack, netProto tcpip.NetworkProtocolNumber, transProto tcpip.TransportProtocolNumber, waiterQueue *waiter.Queue) (tcpip.Endpoint, tcpip.Error)

NewUnassociatedEndpoint implements stack.RawFactory.NewUnassociatedEndpoint.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL