directflow_impl

Warning

doxygenfile: Cannot find file “eos/directflow_impl.h

Type definitions in directflow_impl

namespace eos
class flow_match_impl_t
#include <directflow_impl.h>

Match criteria for a flow.

Public Functions

flow_match_impl_t()
flow_match_field_set_t match_field_set() const

Getter for ‘match_field_set’: the fields to match on.

void match_field_set_is(flow_match_field_set_t match_field_set)

Setter for ‘match_field_set’.

std::set< intf_id_t > const & input_intfs() const

Getter for ‘input_intfs’: the input interfaces to match on.

void input_intfs_is(std::set< intf_id_t > const & input_intfs)

Setter for ‘input_intfs’.

void input_intf_set(intf_id_t const & value)

Inserts one input_intf of ‘value’ to the set.

void input_intf_del(intf_id_t const & value)

Deletes one input_intf of ‘value’ from the set.

eth_addr_t eth_src() const

Getter for ‘eth_src’: the source Ethernet address to match on.

void eth_src_is(eth_addr_t eth_src)

Setter for ‘eth_src’.

void eth_src_is(eth_addr_t src, eth_addr_t mask)
eth_addr_t eth_src_mask() const
void eth_src_mask_is(eth_addr_t eth_src_mask)
eth_addr_t eth_dst() const

Getter for ‘eth_dst’: the destination Ethernet address to match on.

void eth_dst_is(eth_addr_t eth_dst)

Setter for ‘eth_dst’.

void eth_dst_is(eth_addr_t dst, eth_addr_t mask)
eth_addr_t eth_dst_mask() const
void eth_dst_mask_is(eth_addr_t eth_dst_mask)
eth_type_t eth_type() const

Getter for ‘eth_type’: the Ethernet type to match on.

void eth_type_is(eth_type_t eth_type)

Setter for ‘eth_type’.

vlan_id_t vlan_id() const

Getter for ‘vlan_id’: the VLAN id to match.

void vlan_id_is(vlan_id_t vlan_id)

Setter for ‘vlan_id’.

void vlan_id_is(vlan_id_t vlan_id, uint16_t mask)
vlan_id_t vlan_id_mask() const
void vlan_id_mask_is(vlan_id_t vlan_id_mask)
cos_t cos() const

Getter for ‘cos’: the class of service to match on, only used if vlan_id is set to something other than 0.

void cos_is(cos_t cos)

Setter for ‘cos’.

ip_addr_t ip_src() const

Getter for ‘ip_src’: the source IPv4 address to match on.

void ip_src_is(ip_addr_t const & ip_src)

Setter for ‘ip_src’.

void ip_src_is(ip_addr_t const & src, ip_addr_t const & mask)
ip_addr_t ip_src_mask() const
void ip_src_mask_is(ip_addr_t const & ip_src_mask)
ip_addr_t ip_dst() const

Getter for ‘ip_dst’: the destination IPv4 address to match on.

void ip_dst_is(ip_addr_t const & ip_dst)

Setter for ‘ip_dst’.

void ip_dst_is(ip_addr_t const & dst, ip_addr_t const & mask)
ip_addr_t ip_dst_mask() const
void ip_dst_mask_is(ip_addr_t const & ip_dst_mask)
bool operator==(flow_match_impl_t const & other) const
bool operator!=(flow_match_impl_t const & other) const
bool operator<(flow_match_impl_t const & other) const
uint32_t hash() const

The hash function for type flow_match_t.

void mix_me(hash_mix & h) const

The hash mix function for type flow_match_t.

std::string to_string() const

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

Private Members

flow_match_field_set_t match_field_set_
std::set< intf_id_t > input_intfs_
eth_addr_t eth_src_
eth_addr_t eth_src_mask_
eth_addr_t eth_dst_
eth_addr_t eth_dst_mask_
eth_type_t eth_type_
vlan_id_t vlan_id_
vlan_id_t vlan_id_mask_
cos_t cos_
ip_addr_t ip_src_
ip_addr_t ip_src_mask_
ip_addr_t ip_dst_
ip_addr_t ip_dst_mask_

Friends

friend std::ostream & operator<<

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

class flow_action_impl_t
#include <directflow_impl.h>

Defines the actions to take on a matching flow.

Public Functions

flow_action_impl_t()
flow_action_set_t action_set() const

Getter for ‘action_set’: actions that are enabled.

void action_set_is(flow_action_set_t action_set)

Setter for ‘action_set’.

std::set< intf_id_t > const & output_intfs() const

Getter for ‘output_intfs’: 0 or more the output interfaces, passing in the empty set will cause the packet to be dropped.

void output_intfs_is(std::set< intf_id_t > const & output_intfs)

Setter for ‘output_intfs’.

void output_intf_set(intf_id_t const & value)

Inserts one output_intf of ‘value’ to the set.

void output_intf_del(intf_id_t const & value)

Deletes one output_intf of ‘value’ from the set.

vlan_id_t vlan_id() const
void vlan_id_is(vlan_id_t vlan_id)
cos_t cos() const

Getter for ‘cos’: the class of service.

void cos_is(cos_t cos)

Setter for ‘cos’.

eth_addr_t eth_src() const

Getter for ‘eth_src’: the source Ethernet address.

void eth_src_is(eth_addr_t eth_src)

Setter for ‘eth_src’.

eth_addr_t eth_dst() const

Getter for ‘eth_dst’: the destination Ethernet address.

void eth_dst_is(eth_addr_t eth_dst)

Setter for ‘eth_dst’.

ip_addr_t ip_src() const

Getter for ‘ip_src’: the source IPv4 address.

void ip_src_is(ip_addr_t const & ip_src)

Setter for ‘ip_src’.

ip_addr_t ip_dst() const

Getter for ‘ip_dst’: the destination IPv4 address.

void ip_dst_is(ip_addr_t const & ip_dst)

Setter for ‘ip_dst’.

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

The hash function for type flow_action_t.

void mix_me(hash_mix & h) const

The hash mix function for type flow_action_t.

std::string to_string() const

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

Private Members

flow_action_set_t action_set_
std::set< intf_id_t > output_intfs_
vlan_id_t vlan_id_
cos_t cos_
eth_addr_t eth_src_
eth_addr_t eth_dst_
ip_addr_t ip_src_
ip_addr_t ip_dst_

Friends

friend std::ostream & operator<<

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

class flow_entry_impl_t
#include <directflow_impl.h>

Defines a flow entry.

Public Functions

flow_entry_impl_t()
flow_entry_impl_t(std::string const & name, flow_match_t match, flow_action_t action, flow_priority_t priority)
std::string name() const
flow_match_t match() const
flow_action_t action() const
flow_priority_t priority() const
bool operator==(flow_entry_impl_t const & other) const
bool operator!=(flow_entry_impl_t const & other) const
uint32_t hash() const

The hash function for type flow_entry_t.

void mix_me(hash_mix & h) const

The hash mix function for type flow_entry_t.

std::string to_string() const

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

Private Members

std::string name_
flow_match_t match_
flow_action_t action_
flow_priority_t priority_

Friends

friend std::ostream & operator<<

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

class flow_counters_impl_t
#include <directflow_impl.h>

Defines counters for a flow.

Public Functions

flow_counters_impl_t()
uint64_t bytes() const
uint64_t packets() const
bool operator==(flow_counters_impl_t const & other) const
bool operator!=(flow_counters_impl_t const & other) const
uint32_t hash() const

The hash function for type flow_counters_t.

void mix_me(hash_mix & h) const

The hash mix function for type flow_counters_t.

std::string to_string() const

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

Private Members

uint64_t bytes_
uint64_t packets_

Friends

friend class flow_helper
friend std::ostream & operator<<

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