ip_route_impl¶
Warning
doxygenfile: Cannot find file “eos/ip_route_impl.h
Type definitions in ip_route_impl¶
-
namespace
eos -
class
ip_route_key_impl_t¶ - #include <ip_route_impl.h>
An IP route key, consisting of a prefix and preference.
Public Functions
-
ip_route_key_impl_t()¶
-
ip_route_key_impl_t(ip_prefix_t const &prefix)¶
-
ip_route_key_impl_t(ip_prefix_t const &prefix, ip_route_preference_t preference)¶
-
ip_prefix_t
prefix() const¶ Getter for ‘prefix’: the IP v4/v6 network prefix.
-
void
prefix_is(ip_prefix_t const &prefix)¶ Setter for ‘prefix’.
-
ip_route_preference_t
preference() const¶ Getter for ‘preference’: a value 0..255, defaults to 1.
-
void
preference_is(ip_route_preference_t preference)¶ Setter for ‘preference’.
-
bool
operator==(ip_route_key_impl_t const &other) const¶
-
bool
operator!=(ip_route_key_impl_t const &other) const¶
-
uint32_t
hash() const¶ The hash function for type ip_route_key_t.
-
void
mix_me(hash_mix &h) const¶ The hash mix function for type ip_route_key_t.
Friends
-
std::ostream &
operator<<(std::ostream &os, const ip_route_key_impl_t &obj)¶ A utility stream operator that adds a string representation of ip_route_key_t to the ostream.
-
-
class
ip_route_impl_t¶ - #include <ip_route_impl.h>
An IP v4/v6 static route. “Via”, or nexthops, for this route are stored separately and are associated by route key.
Public Functions
-
ip_route_impl_t()¶
-
ip_route_impl_t(ip_route_key_t const &key)¶ Creates an IP static route for the route key.
-
ip_route_key_t
key() const¶ Getter for ‘key’: the route’s key.
-
void
key_is(ip_route_key_t const &key)¶ Setter for ‘key’.
-
ip_route_tag_t
tag() const¶ Getter for ‘tag’: a numbered tag, used for table segregation.
-
void
tag_is(ip_route_tag_t tag)¶ Setter for ‘tag’.
-
bool
operator==(ip_route_impl_t const &other) const¶
-
bool
operator!=(ip_route_impl_t const &other) const¶
-
uint32_t
hash() const¶ The hash function for type ip_route_t.
-
void
mix_me(hash_mix &h) const¶ The hash mix function for type ip_route_t.
Friends
-
std::ostream &
operator<<(std::ostream &os, const ip_route_impl_t &obj)¶ A utility stream operator that adds a string representation of ip_route_t to the ostream.
-
-
class
ip_route_via_impl_t¶ - #include <ip_route_impl.h>
A Via describing a particular set of nexthop information. A Via can describe either a nexthop group name to either forward traffic to, or drop traffic if the interface is Null0.
Public Functions
-
ip_route_via_impl_t()¶
-
ip_route_via_impl_t(ip_route_key_t const &route_key)¶ Creates a route via for a route key.
-
ip_route_key_t
route_key() const¶ Getter for ‘route_key’: key for the route that this via is attached to.
-
void
route_key_is(ip_route_key_t const &route_key)¶ Setter for ‘route_key’.
-
ip_addr_t
hop() const¶ Getter for ‘hop’: IP v4/v6 nexthop address, or a default ip_addr_t if not set.
-
intf_id_t
intf() const¶ Getter for ‘intf’: use the named interface if not a default intf_id_t. Using intf Null0 installs a “drop” route for the given prefix and preference.
-
std::string
nexthop_group() const¶ Getter for ‘nexthop_group’: name of the next-hop group to use. If this string is non-empty, the next-hop group of the given name will be used, and both “hop” and “intf” must be left to their default value otherwise we will panic(). Note this is currently only supported for IPv4 routes.
-
mpls_label_t
mpls_label() const¶ Getter for ‘mpls_label’: Push this MPLS label onto packets using this route.
-
void
mpls_label_is(mpls_label_t mpls_label)¶ Setter for ‘mpls_label’.
-
ip_addr_t
vtep_addr() const¶ Getter for ‘vtep_addr’: IP v4 destination address for the underlay IP header.
-
eth_addr_t
router_mac() const¶ Getter for ‘router_mac’: DMAC to use in the underlay ethernet header.
-
void
router_mac_is(eth_addr_t router_mac)¶ Setter for ‘router_mac’.
-
ip_via_metric_t
metric() const¶ Getter for ‘metric’: metric for the via.
-
void
metric_is(ip_via_metric_t metric)¶ Setter for ‘metric’.
-
bool
operator==(ip_route_via_impl_t const &other) const¶
-
bool
operator!=(ip_route_via_impl_t const &other) const¶
-
uint32_t
hash() const¶ The hash function for type ip_route_via_t.
-
void
mix_me(hash_mix &h) const¶ The hash mix function for type ip_route_via_t.
Private Members
-
ip_route_key_t
route_key_¶
-
mpls_label_t
mpls_label_¶
-
eth_addr_t
router_mac_¶
-
ip_via_metric_t
metric_¶
Friends
-
std::ostream &
operator<<(std::ostream &os, const ip_route_via_impl_t &obj)¶ A utility stream operator that adds a string representation of ip_route_via_t to the ostream.
-
-
class