directflow

DirectFlow management and status module

DirectFlow is a software feature that allows OpenFlow-like rules to be programmed in switch hardware manually. Because a DirectFlow enabled switch allows normal forwarding features to operate, it gives operators a reliable way of building for the exceptional “just this one feature” parts of their network in a flexible manner. This module allows for the management of DirectFlow configuration as well as reactions to changes in status of flows.

namespace eos
class flow_handler
#include <directflow.h>

Flow handler.

A flow handler is notified when the status of configured flows changes.

Public Functions

flow_handler(directflow_mgr *)
directflow_mgr * get_directflow_mgr() const
void watch_all_flows(bool)

Registers this class to receive updates on changes to flow state. Expects a boolean signifying whether notifications should be propagated to this instance or not.

void watch_flow(std::string const &, bool)

Registers this class to receive updates on changes to flow state for the given flow name. Expects the name of the flow to watch and a boolean signifying whether notifications should be propagated to this instance or not.

virtual void on_flow_status(std::string const &, flow_status_t)

Handler called when flow status changes.

class flow_entry_iter_t
#include <directflow.h>

An iterator providing forwards iteration through the configured flows.

Private Functions

flow_entry_iter_t(flow_entry_iter_impl * const)

Friends

friend class flow_entry_iter_impl
class directflow_mgr
#include <directflow.h>

DirectFlow configuration and status manager.

Public Functions

virtual ~directflow_mgr()
virtual flow_entry_iter_t flow_entry_iter() const = 0

Iterate across all configured flows.

virtual bool exists(std::string const &) const = 0

Tests for existence of a flow entry with the given name.

virtual flow_entry_t flow_entry(std::string const &) const = 0

Return the flow entry with the given name.

virtual void flow_entry_set(flow_entry_t const &) = 0

Insert or update a flow.

virtual void flow_entry_del(std::string const &) = 0

Delete a flow.

virtual flow_status_t flow_status(std::string const & name) const = 0

Return the status of the given flow.

virtual flow_rejected_reason_t flow_rejected_reason(std::string const & name) const = 0

The reason a flow was not programmed. Only valid if the flow’s status is FLOW_REJECTED

virtual flow_counters_t flow_counters(std::string const & name) const = 0

Return the counters for a flow.

Protected Functions

directflow_mgr()

Private Members

directflow_mgr

Friends

friend class flow_handler

Type definitions in directflow

Warning

doxygenfile: Found multiple matches for file “eos/types/directflow.h

Table Of Contents

Previous topic

decap_group

Next topic

eth