ROFL-pipeline
v0.6.0dev
|
Port abstraction and API. More...
#include <stdbool.h>
#include <inttypes.h>
#include "rofl.h"
#include "port_queue.h"
#include "common/bitmap.h"
#include "platform/lock.h"
Go to the source code of this file.
Data Structures | |
struct | port_stats |
Port stats. More... | |
struct | switch_port |
Port abstraction. More... | |
struct | logical_switch_port |
struct | __switch_port_name |
List of ports name (snapshots) More... | |
struct | switch_port_name_list |
Macros | |
#define | SW_PORT_ETH_ALEN 6 |
#define | SWITCH_PORT_MAX_LEN_NAME 32 |
#define | SWITCH_PORT_MAX_QUEUES 16 |
Typedefs | |
typedef enum port_features | port_features_t |
Port features. More... | |
typedef void | platform_port_state_t |
typedef struct port_stats | port_stats_t |
Port stats. More... | |
typedef enum port_type | port_type_t |
Port type enumeration. More... | |
typedef struct switch_port | switch_port_t |
Port abstraction. More... | |
typedef enum logical_switch_port_attachment_state | logical_switch_port_attachment_state_t |
typedef struct logical_switch_port | logical_switch_port_t |
typedef switch_port_t | switch_port_snapshot_t |
Snapshot of the port. More... | |
typedef struct __switch_port_name | __switch_port_name_t |
List of ports name (snapshots) More... | |
typedef struct switch_port_name_list | switch_port_name_list_t |
Enumerations | |
enum | port_state_t { PORT_STATE_NONE = 0 << 0, PORT_STATE_LINK_DOWN = 1 << 0, PORT_STATE_BLOCKED = 1 << 1, PORT_STATE_LIVE = 1 << 2 } |
Port state. More... | |
enum | port_features { PORT_FEATURE_10MB_HD = 1 << 0, PORT_FEATURE_10MB_FD = 1 << 1, PORT_FEATURE_100MB_HD = 1 << 2, PORT_FEATURE_100MB_FD = 1 << 3, PORT_FEATURE_1GB_HD = 1 << 4, PORT_FEATURE_1GB_FD = 1 << 5, PORT_FEATURE_10GB_FD = 1 << 6, PORT_FEATURE_40GB_FD = 1 << 7, PORT_FEATURE_100GB_FD = 1 << 8, PORT_FEATURE_1TB_FD = 1 << 9, PORT_FEATURE_OTHER = 1 << 10, PORT_FEATURE_COPPER = 1 << 11, PORT_FEATURE_FIBER = 1 << 12, PORT_FEATURE_AUTONEG = 1 << 13, PORT_FEATURE_PAUSE = 1 << 14, PORT_FEATURE_PAUSE_ASYM = 1 << 15 } |
Port features. More... | |
enum | port_type { PORT_TYPE_INVALID = 0, PORT_TYPE_PHYSICAL = 1, PORT_TYPE_VIRTUAL = 2, PORT_TYPE_TUNNEL = 3, PORT_TYPE_META_FLOOD = 5, PORT_TYPE_META_IN_PORT = 6, PORT_TYPE_META_ALL = 7, PORT_TYPE_NF_NATIVE = 8, PORT_TYPE_NF_SHMEM = 9, PORT_TYPE_NF_EXTERNAL = 10 } |
Port type enumeration. More... | |
enum | logical_switch_port_attachment_state { LOGICAL_PORT_STATE_FREE = 0, LOGICAL_PORT_STATE_ATTACHED = 1, LOGICAL_PORT_STATE_DETACHED = 2 } |
Functions | |
ROFL_BEGIN_DECLS switch_port_t * | switch_port_init (char *name, bool up, port_type_t type, port_state_t state) |
Init a switch_port structure. More... | |
rofl_result_t | switch_port_destroy (switch_port_t *port) |
Destroy a switch_port structure. More... | |
rofl_result_t | switch_port_add_queue (switch_port_t *port, uint32_t id, char *name, uint16_t length, uint16_t min_rate, uint16_t max_rate) |
Add queue to port. More... | |
rofl_result_t | switch_port_remove_queue (switch_port_t *port, uint32_t id) |
Remove queue from port. More... | |
void | switch_port_add_capabilities (bitmap32_t *bitmap, bitmap32_t features) |
Adds capabilities to the port. More... | |
void | switch_port_remove_capabilities (bitmap32_t *bitmap, bitmap32_t features) |
Removes capabilities to the port. More... | |
void | switch_port_set_current_speed (switch_port_t *port, port_features_t speed) |
Sets current speed. More... | |
void | switch_port_set_current_max_speed (switch_port_t *port, port_features_t speed) |
Sets current MAX speed. More... | |
switch_port_snapshot_t * | __switch_port_get_snapshot (switch_port_t *port) |
switch_port_snapshot_t * | switch_port_clone_snapshot (switch_port_snapshot_t *orig) |
Clone a snapshot. More... | |
void | switch_port_destroy_snapshot (switch_port_snapshot_t *snapshot) |
Destroy a switch port snapshot. More... | |
void | switch_port_name_list_destroy (switch_port_name_list_t *list) |
Destroys a port name list, previously generated by calling fwd_module_get_all_port_names() More... | |
Port abstraction and API.
Definition in file switch_port.h.
typedef struct __switch_port_name __switch_port_name_t |
List of ports name (snapshots)
typedef switch_port_t switch_port_snapshot_t |
Snapshot of the port.
Definition at line 228 of file switch_port.h.