VintageNet.Route.IPRoute (vintage_net v0.11.3) View Source

This module knows how to invoke the ip command to modify the Linux routing tables

Link to this section Summary

Functions

Add a source IP address -> routing table rule

Clear one local route generically

Clear one default route out of the main table for any interface

Clear one default route that goes to the specified interface

Clear out one rule

Clear all routes on all interfaces

Clear all rules that select the specified table or tables

Link to this section Functions

Link to this function

add_default_route(ifname, route, metric, table_index)

View Source

Specs

add_default_route(
  VintageNet.ifname(),
  :inet.ip_address(),
  VintageNet.Route.metric(),
  VintageNet.Route.table_index()
) :: :ok | {:error, any()}

Add a default route

Link to this function

add_local_route(ifname, ip, subnet_bits, metric, table_index)

View Source

Specs

Add a local route

Link to this function

add_rule(ip_address, table_index)

View Source

Specs

add_rule(:inet.ip_address(), VintageNet.Route.table_index()) ::
  :ok | {:error, any()}

Add a source IP address -> routing table rule

Link to this function

clear_a_local_route(ifname)

View Source

Specs

clear_a_local_route(VintageNet.ifname()) :: :ok | {:error, any()}

Clear one local route generically

Link to this function

clear_a_local_route(ifname, ip, subnet_bits, metric, table_index)

View Source

Specs

Clear one local route

Specs

clear_a_route() :: :ok | {:error, any()}

Clear one default route out of the main table for any interface

Link to this function

clear_a_route(ifname, table_index \\ :main)

View Source

Specs

clear_a_route(VintageNet.ifname(), VintageNet.Route.table_index()) ::
  :ok | {:error, any()}

Clear one default route that goes to the specified interface

Link to this function

clear_a_rule(table_index)

View Source

Specs

clear_a_rule(VintageNet.Route.table_index()) :: :ok | {:error, any()}

Clear out one rule

Specs

clear_all_routes() :: :ok

Clear all routes on all interfaces

Link to this function

clear_all_rules(table_index)

View Source

Specs

clear_all_rules(VintageNet.Route.table_index() | Enumerable.t()) :: :ok

Clear all rules that select the specified table or tables