fib_impl

Warning

doxygenfile: Cannot find file “eos/fib_impl.h

Type definitions in fib_impl

namespace eos
class fib_route_key_impl_t
#include <fib_impl.h>

An IP route key that goes in FIB.

Public Functions

fib_route_key_impl_t()
fib_route_key_impl_t(ip_prefix_t const & prefix)
ip_prefix_t prefix() const

Getter for ‘prefix’: IP v4/v6 network prefix.

void prefix_is(ip_prefix_t const & prefix)

Setter for ‘prefix’.

bool operator==(fib_route_key_impl_t const & other) const
bool operator!=(fib_route_key_impl_t const & other) const
uint32_t hash() const

The hash function for type fib_route_key_t.

void mix_me(hash_mix & h) const

The hash mix function for type fib_route_key_t.

std::string to_string() const

Returns a string representation of the current object’s values.

Private Members

ip_prefix_t prefix_

Friends

friend std::ostream & operator<<

A utility stream operator that adds a string representation of fib_route_key_t to the ostream.

class fib_route_impl_t
#include <fib_impl.h>

An IP route that goes in FIB. The “fec_id” represents the fec a.k.a adjacency associated with the route. Note FEC stands for Forwarding Equivalence Class.

Public Functions

fib_route_impl_t()
fib_route_impl_t(fib_route_key_t const & route_key)
fib_route_key_t route_key() const

Getter for ‘route_key’: IP v4/v6 network route key consisting of prefix.

void route_key_is(fib_route_key_t const & route_key)

Setter for ‘route_key’.

ip_route_preference_t preference() const

Getter for ‘preference’: 0..255 only, defaults to 1.

void preference_is(ip_route_preference_t preference)

Setter for ‘preference’.

ip_route_metric_t metric() const
void metric_is(ip_route_metric_t metric)
fib_route_type_t route_type() const
void route_type_is(fib_route_type_t route_type)
uint64_t fec_id() const

Getter for ‘fec_id’: id that links prefix to the fec a.k.a Adjacency.

void fec_id_is(uint64_t fec_id)

Setter for ‘fec_id’.

bool operator==(fib_route_impl_t const & other) const
bool operator!=(fib_route_impl_t const & other) const
uint32_t hash() const

The hash function for type fib_route_t.

void mix_me(hash_mix & h) const

The hash mix function for type fib_route_t.

std::string to_string() const

Returns a string representation of the current object’s values.

Private Members

fib_route_key_t route_key_
ip_route_preference_t preference_
ip_route_metric_t metric_
fib_route_type_t route_type_
uint64_t fec_id_

Friends

friend std::ostream & operator<<

A utility stream operator that adds a string representation of fib_route_t to the ostream.

class fib_fec_key_impl_t
#include <fib_impl.h>

FEC key that goes in FIB.

Public Functions

fib_fec_key_impl_t()
fib_fec_key_impl_t(uint64_t fec_id)
uint64_t fec_id() const

Getter for ‘fec_id’: fec_id[56:63] denotes the feature, 0: fib Fec, 1: resilientEcmp feature, 2: nextHopGroup feature.

void fec_id_is(uint64_t fec_id)

Setter for ‘fec_id’.

bool operator==(fib_fec_key_impl_t const & other) const
bool operator!=(fib_fec_key_impl_t const & other) const
uint32_t hash() const

The hash function for type fib_fec_key_t.

void mix_me(hash_mix & h) const

The hash mix function for type fib_fec_key_t.

std::string to_string() const

Returns a string representation of the current object’s values.

Private Members

uint64_t fec_id_

Friends

friend std::ostream & operator<<

A utility stream operator that adds a string representation of fib_fec_key_t to the ostream.

class fib_via_impl_t
#include <fib_impl.h>

via (nexthop) information.

Public Functions

fib_via_impl_t()
fib_via_impl_t(ip_addr_t const & hop, intf_id_t intf)
ip_addr_t hop() const
void hop_is(ip_addr_t const & hop)
intf_id_t intf() const
void intf_is(intf_id_t intf)
mpls_label_t mpls_label() const
void mpls_label_is(mpls_label_t mpls_label)
bool operator==(fib_via_impl_t const & other) const
bool operator!=(fib_via_impl_t const & other) const
uint32_t hash() const

The hash function for type fib_via_t.

void mix_me(hash_mix & h) const

The hash mix function for type fib_via_t.

std::string to_string() const

Returns a string representation of the current object’s values.

Private Members

ip_addr_t hop_
intf_id_t intf_
mpls_label_t mpls_label_

Friends

friend std::ostream & operator<<

A utility stream operator that adds a string representation of fib_via_t to the ostream.

class fib_fec_impl_t
#include <fib_impl.h>

FEC (Forwarding Equivalence Class), consists of collection (one or more) vias.

Public Functions

fib_fec_impl_t()
fib_fec_impl_t(fib_fec_key_t fec_key)
fib_fec_key_t fec_key() const

Getter for ‘fec_key’: fec_key consisting of fec_id.

void fec_key_is(fib_fec_key_t fec_key)

Setter for ‘fec_key’.

fib_fec_type_t fec_type() const
void fec_type_is(fib_fec_type_t fec_type)
std::string nexthop_group_name() const

Getter for ‘nexthop_group_name’: Name of the nexthop group, in case fec_type is FEC_TYPE_NEXTHOP_GROUP.

void nexthop_group_name_is(std::string nexthop_group_name)

Setter for ‘nexthop_group_name’.

std::forward_list< fib_via_t > const & via() const

Getter for ‘via’: A list of vias that traffic will be distributed amongst. Duplicate vias will be weighted heavily.

void via_is(std::forward_list< fib_via_t > const & via)

Setter for ‘via’.

void via_set(fib_via_t const & via)

Prepend one via to the list.

void via_del(fib_via_t const & via)

Remove all matching via elements.

uint32_t hash() const

The hash function for type fib_fec_t.

void mix_me(hash_mix & h) const

The hash mix function for type fib_fec_t.

std::string to_string() const

Returns a string representation of the current object’s values.

Private Members

fib_fec_key_t fec_key_
fib_fec_type_t fec_type_
std::string nexthop_group_name_
std::forward_list< fib_via_t > via_

Friends

friend std::ostream & operator<<

A utility stream operator that adds a string representation of fib_fec_t to the ostream.