pub enum ControllerRequest {
AddEntry {
interface: u64,
neighbor: IpAddress,
mac: MacAddress,
responder: ControllerAddEntryResponder,
},
RemoveEntry {
interface: u64,
neighbor: IpAddress,
responder: ControllerRemoveEntryResponder,
},
ClearEntries {
interface: u64,
ip_version: IpVersion,
responder: ControllerClearEntriesResponder,
},
UpdateUnreachabilityConfig {
interface: u64,
ip_version: IpVersion,
config: UnreachabilityConfig,
responder: ControllerUpdateUnreachabilityConfigResponder,
},
}
Expand description
Modify the neighbor table and related interface configuration.
Variants§
AddEntry
Create a static entry. If a conflict is found, overwrite the existing entry. Conflicts occur when two entries have the same interface identifier and IP address.
- request
interface
identifier for the interface used for communicating with the neighbor. - request
neighbor
IP address of the neighbor. - request
mac
MAC address of the neighbor.
- error
ZX_ERR_NOT_FOUND
ifinterface
does not exist. - error
ZX_ERR_NOT_SUPPORTED
ifinterface
does not keep a neighbor table (e.g. point-to-point links).
RemoveEntry
Delete a dynamic or static entry.
- request
interface
identifier for the interface associated with the entry to be deleted. - request
neighbor
IP address of the entry to be deleted.
- error
ZX_ERR_NOT_FOUND
if no entries matchinterface
andneighbor
. - error
ZX_ERR_NOT_SUPPORTED
ifinterface
does not keep a neighbor table (e.g. point-to-point links).
ClearEntries
Delete all dynamic and static entries belonging to an interface.
- request
interface
identifier for the interface associated with the entries to be deleted. - request
ip_version
the IP version to clear entries from.
- error
ZX_ERR_NOT_FOUND
ifinterface
does not exist. - error
ZX_ERR_NOT_SUPPORTED
ifinterface
does not keep a neighbor table (e.g. point-to-point links).
UpdateUnreachabilityConfig
Change the configuration of the neighbor discovery algorithm for an interface.
- request
interface
the interface to be configured. - request
ip_version
the IP version to be configured. - request
config
used for updating the configuration for an interface. Only the specified fields will be changed. All other fields will remain the same as the original configuration.
- error
ZX_ERR_NOT_FOUND
ifinterface
references an interface that does not exist. - error
ZX_ERR_NOT_SUPPORTED
ifinterface
references an interface that does not keep a neighbor table (e.g. point-to-point links). - error
ZX_ERR_INVALID_ARGS
ifconfig
contains an invalid value, see [fuchsia.net.neighbor/UnreachabilityConfig
] for the list of constraints.
Implementations§
source§impl ControllerRequest
impl ControllerRequest
pub fn into_add_entry( self ) -> Option<(u64, IpAddress, MacAddress, ControllerAddEntryResponder)>
pub fn into_remove_entry( self ) -> Option<(u64, IpAddress, ControllerRemoveEntryResponder)>
pub fn into_clear_entries( self ) -> Option<(u64, IpVersion, ControllerClearEntriesResponder)>
pub fn into_update_unreachability_config( self ) -> Option<(u64, IpVersion, UnreachabilityConfig, ControllerUpdateUnreachabilityConfigResponder)>
sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL