27 #define NBROKER_AUTO_RULE_ID 0 29 #define NBROKER_FLAGS_FAST (1 << 0) 35 NBROKER_RC_INTERNAL_ERROR,
36 NBROKER_RC_SYNTAX_ERROR,
37 NBROKER_RC_UNSUPPORTED_MODE,
38 NBROKER_RC_INVALID_DEVICE_PORT,
39 NBROKER_RC_INVALID_REDIRECTION_PORT,
40 NBROKER_RC_RULE_NOT_FOUND,
41 NBROKER_RC_RULE_EXISTS,
42 NBROKER_RC_DEVICE_COMMAND_ERROR,
43 NBROKER_RC_BAD_BINARY_VERSION,
44 NBROKER_RC_CONNECTION_ERROR,
50 u_int8_t binary_version;
52 nbroker_command_header_t;
62 NBROKER_TYPE_FILTERING,
64 } nbroker_filter_type_t;
75 #define CMD_QUEUE_ITEMS 1024 76 #define CMD_QUEUE_ITEMS_MASK (CMD_QUEUE_ITEMS - 1) 86 nbroker_filter_type_t type;
89 nbroker_policy_t policy;
90 char redirectionPort[IFNAMSIZ];
101 void *zmq_context, *zmq_requester;
104 pthread_t cmdqthread;
163 u_int32_t *rule_id,
const rrc_match_t *match, nbroker_policy_t policy);
175 u_int32_t *rule_id,
const rrc_match_t *match,
const char *steer_to);
186 u_int32_t rule_id, nbroker_filter_type_t filter_type);
197 const rrc_match_t *match, nbroker_filter_type_t filter_type);
209 nbroker_filter_type_t filter_type, u_int32_t *num_rules,
nbroker_rule_t **rules);
u_int32_t rule_id
Definition: nbroker_api.h:67
Definition: nbroker_api.h:94
Definition: nbroker_api.h:100
Definition: nbroker_api.h:66
nbroker_rc_t nbroker_set_steering_rule(nbroker_t *bkr, const char *port, u_int32_t *rule_id, const rrc_match_t *match, const char *steer_to)
Definition: pf_ring.h:259
nbroker_rc_t nbroker_remove_rule_by_id(nbroker_t *bkr, const char *port, u_int32_t rule_id, nbroker_filter_type_t filter_type)
nbroker_policy_t policy
Definition: nbroker_api.h:70
nbroker_rc_t nbroker_term(nbroker_t *bkr)
nbroker_rc_t nbroker_reset_rules(nbroker_t *bkr, const char *port, nbroker_filter_type_t filter_type)
rrc_match_t match
Definition: nbroker_api.h:68
nbroker_rc_t nbroker_remove_rule_by_match(nbroker_t *bkr, const char *port, const rrc_match_t *match, nbroker_filter_type_t filter_type)
nbroker_rc_t nbroker_set_default_steering(nbroker_t *bkr, const char *port, const char *steer_to)
nbroker_rc_t nbroker_set_auto_purge(nbroker_t *bkr, u_int32_t idle_for)
Definition: nbroker_api.h:82
nbroker_rc_t nbroker_ifname_to_internal_port(nbroker_t *bkr, const char *ifname, u_int8_t *port)
nbroker_rc_t nbroker_ifname_to_external_port(nbroker_t *bkr, const char *ifname, u_int8_t *port)
nbroker_rc_t nbroker_set_filtering_rule(nbroker_t *bkr, const char *port, u_int32_t *rule_id, const rrc_match_t *match, nbroker_policy_t policy)
nbroker_rc_t nbroker_set_default_policy(nbroker_t *bkr, const char *port, nbroker_policy_t policy)
u_int8_t steer_to
Definition: nbroker_api.h:71
RRC library header file (low-level API to configure the switch).
nbroker_rc_t nbroker_list_rules(nbroker_t *bkr, const char *port, nbroker_filter_type_t filter_type, u_int32_t *num_rules, nbroker_rule_t **rules)
nbroker_rc_t nbroker_purge_idle_rules(nbroker_t *bkr, u_int32_t idle_for)
nbroker_rc_t nbroker_init(nbroker_t **bkr, u_int32_t flags)
nbroker_rc_t nbroker_apply_pending_rules(nbroker_t *bkr)
rrc_match_t * nbroker_parse_rule(const char *rule)