Google is committed to advancing racial equity for Black communities. See how.

fuchsia.net.stack

PROTOCOLS

Log

Defined in fuchsia.net.stack/stack.fidl

SetLogPackets

Dynamically set packet logging.

Request

NameType
enabled bool

Response

<EMPTY>

Stack

Defined in fuchsia.net.stack/stack.fidl

AddEthernetInterface

Add an Ethernet interface to the network stack. On success, returns the identifier assigned by the stack for use in subsequent calls.

Request

NameType
topological_path device_path
device fuchsia.hardware.ethernet/Device

Response

NameType
result Stack_AddEthernetInterface_Result

AddForwardingEntry

Add a new entry to the forwarding table.

If the table already contains an entry with the same subnet and destination, an already exists error is returned.

Request

NameType
entry ForwardingEntry

Response

NameType
result Stack_AddForwardingEntry_Result

AddInterface

Add a new interface to the network stack backed by the provided DeviceDefinition. On success, returns the identifier assigned by the stack for use in subsequent calls.

Request

NameType
config InterfaceConfig
device DeviceDefinition

Response

NameType
result Stack_AddInterface_Result

AddInterfaceAddress

Add an address to the interface. If the interface already has an address of a given type that does not allow duplicates, this method will return an error.

DEPRECATED - Use fuchsia.net.interfaces.admin/Control.AddAddress

Request

NameType
id fuchsia.net/interface_id
addr fuchsia.net/Subnet

Response

NameType
result Stack_AddInterfaceAddress_Result

DelEthernetInterface

Remove an Ethernet interface from the network stack.

Request

NameType
id fuchsia.net/interface_id

Response

NameType
result Stack_DelEthernetInterface_Result

DelForwardingEntry

Removes the forwarding entry with the given subnet. This will not affect any overlapping subnets (superset or subset) so the subnet must exactly match an entry in the forwarding table. If no entry for the subnet exists, an error is returned.

Request

NameType
subnet fuchsia.net/Subnet

Response

NameType
result Stack_DelForwardingEntry_Result

DelInterfaceAddress

Remove the address from the interface. If the address is not assigned to the interface, an error is returned.

DEPRECATED - Use fuchsia.net.interfaces.admin/Control.RemoveAddress

Request

NameType
id fuchsia.net/interface_id
addr fuchsia.net/Subnet

Response

NameType
result Stack_DelInterfaceAddress_Result

DisableInterface

Disable the interface. The stack will no longer process packets after this call.

Request

NameType
id fuchsia.net/interface_id

Response

NameType
result Stack_DisableInterface_Result

DisableIpForwarding

Disable IP Forwarding for all interfaces and IP versions.

Request

<EMPTY>

Response

<EMPTY>

EnableInterface

Enable the interface. Packets may be processed by the stack after this call is processed.

Request

NameType
id fuchsia.net/interface_id

Response

NameType
result Stack_EnableInterface_Result

EnableIpForwarding

Enable IP Forwarding for all interfaces and IP versions.

Request

<EMPTY>

Response

<EMPTY>

GetDnsServerWatcher

Get a fuchsia.net.name/DnsServerWatcher.

Request

NameType
watcher request<fuchsia.net.name/DnsServerWatcher>

GetForwardingTable

List all the entries in the forwarding table for the network stack.

Request

<EMPTY>

Response

NameType
table vector<ForwardingEntry>

GetInterfaceInfo

Retrieve info about a specific interface.

DEPRECATED - Use fuchsia.net.interfaces/Watcher

Request

NameType
id fuchsia.net/interface_id

Response

NameType
result Stack_GetInterfaceInfo_Result

GetInterfaceIpForwarding

Returns the IP forwarding state for an interface.

Request

NameType
id fuchsia.net/interface_id
ip_version fuchsia.net/IpVersion

Response

NameType
result Stack_GetInterfaceIpForwarding_Result

ListInterfaces

List all the interfaces available in the network stack.

DEPRECATED - Use fuchsia.net.interfaces/Watcher

Request

<EMPTY>

Response

NameType
ifs vector<InterfaceInfo>[255]

SetInterfaceIpForwarding

Sets the IP forwarding state for an interface.

Request

NameType
id fuchsia.net/interface_id
ip_version fuchsia.net/IpVersion
enabled bool

Response

NameType
result Stack_SetInterfaceIpForwarding_Result

STRUCTS

EthernetDeviceDefinition resource

Defined in fuchsia.net.stack/stack.fidl

FieldTypeDescriptionDefault
network_device fuchsia.hardware.network/Device

The connection to the device's data plane.

No default
mac fuchsia.hardware.network/MacAddressing

The connection to the device's addressing control plane.

No default

ForwardingEntry

Defined in fuchsia.net.stack/stack.fidl

An entry in the forwarding table for the network stack.

FieldTypeDescriptionDefault
subnet fuchsia.net/Subnet

The subnet is the key for the entry in the table.

No default
destination ForwardingDestination

The destination that will receive the forwarded packet.

No default

InterfaceInfo

Defined in fuchsia.net.stack/stack.fidl

DEPRECATED - Use fuchsia.net.interfaces/Watcher

FieldTypeDescriptionDefault
id fuchsia.net/interface_id

An opaque identifier for the interface, assigned by the stack. This identifier will never be 0, and will not be reused even if the device is removed and subsequently re-added. It is not stable across netstack instances.

No default
properties InterfaceProperties

All info of an interface except the interface name.

No default

InterfaceProperties

Defined in fuchsia.net.stack/stack.fidl

FieldTypeDescriptionDefault
name fuchsia.net.interfaces/name

Human-readable name of the interface. eg. eth001, wlanx35.

No default
topopath device_path

The topological path to the device, representing a stable identifier for the interface hardware.

No default
filepath device_path

An unstable file path corresponding to the interface. Used in watching the creation and destruction of the interface, or in accessing the interface using netdump.

No default
mac fuchsia.hardware.ethernet/MacAddress?

The MAC address of the interface, if available.

No default
mtu uint32

The maximum transmission unit for the interface in bytes.

No default
features fuchsia.hardware.ethernet/Features

The features present on the interface.

No default
administrative_status AdministrativeStatus

The administrative status of the interface.

No default
physical_status PhysicalStatus

The physical link status of the interface.

No default
addresses vector<fuchsia.net/Subnet>

The list of addresses currently assigned to the interface.

No default

Stack_AddEthernetInterface_Response

Defined in fuchsia.net.stack/stack.fidl

FieldTypeDescriptionDefault
id fuchsia.net/interface_id No default

Stack_AddForwardingEntry_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

Stack_AddInterfaceAddress_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

Stack_AddInterface_Response

Defined in fuchsia.net.stack/stack.fidl

FieldTypeDescriptionDefault
id fuchsia.net/interface_id No default

Stack_DelEthernetInterface_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

Stack_DelForwardingEntry_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

Stack_DelInterfaceAddress_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

Stack_DisableInterface_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

Stack_EnableInterface_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

Stack_GetInterfaceInfo_Response

Defined in fuchsia.net.stack/stack.fidl

FieldTypeDescriptionDefault
info InterfaceInfo No default

Stack_GetInterfaceIpForwarding_Response

Defined in fuchsia.net.stack/stack.fidl

FieldTypeDescriptionDefault
enabled bool No default

Stack_SetInterfaceIpForwarding_Response

Defined in fuchsia.net.stack/stack.fidl

<EMPTY>

ENUMS

AdministrativeStatus strict

Type: uint32

Defined in fuchsia.net.stack/stack.fidl

NameValueDescription
DISABLED 1

The interface is administratively disabled.

ENABLED 2

The interface is administratively enabled.

Error strict

Type: uint32

Defined in fuchsia.net.stack/stack.fidl

NameValueDescription
INTERNAL 1
NOT_SUPPORTED 2
INVALID_ARGS 3
BAD_STATE 4
TIME_OUT 5
NOT_FOUND 6
ALREADY_EXISTS 7
IO 8

PhysicalStatus strict

Type: uint32

Defined in fuchsia.net.stack/stack.fidl

NameValueDescription
DOWN 1

The link is not attached to the medium.

UP 2

The link is attached to the medium.

TABLES

InterfaceConfig

Defined in fuchsia.net.stack/stack.fidl

OrdinalFieldTypeDescription
1 name fuchsia.net.interfaces/name

Human-readable name of the interface. eg. eth001, wlanx35. Will be set to a default generic name if not provided.

2 topopath device_path

The topological path to the device, representing a stable identifier for the interface hardware.

3 metric uint32

The default metric value used for routes to this interface.

UNIONS

DeviceDefinition strict resource

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 ip fuchsia.hardware.network/Device

A fuchsia.hardware.network.Device that exchanges only IP frames. It either doesn't have a layer 2 or its layer 2 is irrelevant to the Stack.

2 ethernet EthernetDeviceDefinition

An Ethernet device.

The provided network_device is expected to support Ethernet frames. Its MAC address and MAC filtering is controlled by mac.

ForwardingDestination strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 device_id fuchsia.net/interface_id

The opaque identifier of the device to which packets should be forwarded.

2 next_hop fuchsia.net/IpAddress

The IP address of the next hop, used to look up the next forwarding entry.

Stack_AddEthernetInterface_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_AddEthernetInterface_Response
2 err Error

Stack_AddForwardingEntry_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_AddForwardingEntry_Response
2 err Error

Stack_AddInterfaceAddress_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_AddInterfaceAddress_Response
2 err Error

Stack_AddInterface_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_AddInterface_Response
2 err Error

Stack_DelEthernetInterface_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_DelEthernetInterface_Response
2 err Error

Stack_DelForwardingEntry_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_DelForwardingEntry_Response
2 err Error

Stack_DelInterfaceAddress_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_DelInterfaceAddress_Response
2 err Error

Stack_DisableInterface_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_DisableInterface_Response
2 err Error

Stack_EnableInterface_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_EnableInterface_Response
2 err Error

Stack_GetInterfaceInfo_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_GetInterfaceInfo_Response
2 err Error

Stack_GetInterfaceIpForwarding_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_GetInterfaceIpForwarding_Response
2 err Error

Stack_SetInterfaceIpForwarding_Result strict

Defined in fuchsia.net.stack/stack.fidl

Ordinal
VariantTypeDescription
1 response Stack_SetInterfaceIpForwarding_Response
2 err Error

TYPE ALIASES

NameValueDescription
device_path string[255]

A path to a device node.