l1_source¶
L1 source management module.
On platforms with a crosspoint, interfaces can configure their source using a config.
This module provides APIs to set and delete source configs, watch for config changes, get source configs and source statuses, and iterate through source configs and source statuses.
-
namespace
eos -
class
l1_source_handler Public Functions
-
l1_source_handler(l1_source_mgr *)
-
l1_source_mgr *
get_l1_source_mgr() const
-
void
watch_all_l1_source(bool) Register to receive notification when l1 source config for any interface changes.
-
void
watch_l1_source(intf_id_t, bool) Register to receive notification when l1 source config of an interface changes.
-
virtual void
on_l1_source_set(intf_id_t) Called when l1 source of an interface is set.
-
virtual void
on_l1_source_del(intf_id_t) Called when l1 source of an interface is removed.
-
-
class
l1_source_iter_t - #include <l1_source.h>
An iterator that yields a intf_id_t for each l1 source config/status.
Private Functions
-
l1_source_iter_t(l1_source_iter_impl * const)
Friends
-
friend class
l1_source_iter_impl
-
-
class
l1_source_mgr - #include <l1_source.h>
The l1 source manager. This class inspects and configures l1 source for an interface.
Public Functions
-
virtual
~l1_source_mgr()
-
virtual void
l1_source_is(intf_id_t, l1_source_t source) = 0 Configures l1 source of an interface.
-
virtual void
l1_source_del(intf_id_t) = 0 Remove the l1 source of an interface.
-
virtual bool
exists(intf_id_t) const = 0 Returns whether a l1 source config exists for the interface.
-
virtual l1_source_t
l1_source_config(intf_id_t) = 0 Returns the source config for an interface. If no source config is set, returns the default source config.
-
virtual l1_source_t
l1_source_status(intf_id_t) = 0 Returns the source status for an interface. If no source status exists, returns the default source status.
-
virtual l1_source_iter_t
l1_source_config_iter() const = 0 Iterator for l1 source configuration.
-
virtual l1_source_iter_t
l1_source_status_iter() const = 0 Iterator for l1 source status.
-
virtual void
app_description_is(intf_id_t, std::string) = 0 Configures the description of an application interface.
-
virtual void
app_description_del(intf_id_t) = 0 Remove the description of an application interface.
Protected Functions
-
l1_source_mgr()
Private Members
-
l1_source_mgr
Friends
-
friend class
l1_source_handler
-
virtual
-
class
Type definitions in l1_source¶
-
namespace
eos Enums
- l1_source_type_t enum
The type of an l1 source.
Values:
unknown-none-port-mac-switchPort-
-
class
l1_source_t - #include <l1_source.h>
L1 source class.
The interface id “port” should be defined only if l1 source type is port.
Public Functions
-
l1_source_t() Default constructor.
-
l1_source_t(l1_source_type_t l1_source_type) Constructor specifying only l1 source type.
-
l1_source_t(l1_source_type_t l1_source_type, intf_id_t port) Constructor specifying both l1 source type and interface id.
-
l1_source_t(const l1_source_t & other)
-
l1_source_t &
operator=(l1_source_t const & other)
-
l1_source_type_t
l1_source_type() const
-
void
l1_source_type_is(l1_source_type_t l1_source_type)
-
intf_id_t
port() const
-
void
port_is(intf_id_t port)
-
bool
operator==(l1_source_t const & other) const
-
bool
operator!=(l1_source_t const & other) const
-
bool
operator<(l1_source_t const & other) const
-
uint32_t
hash() const The hash function for type l1_source_t.
-
void
mix_me(hash_mix & h) const The hash mix function for type l1_source_t.
-
std::string
to_string() const Returns a string representation of the current object’s values.
Private Members
-
std::shared_ptr< l1_source_impl_t >
pimpl
Friends
-
friend std::ostream &
operator<< A utility stream operator that adds a string representation of l1_source_t to the ostream.
-