39 #ifndef DOCA_TELEMETRY_EXPORTER_NETFLOW_H_
40 #define DOCA_TELEMETRY_EXPORTER_NETFLOW_H_
58 #define DOCA_NETFLOW_APP_ID \
60 0x99, 0x10, 0xc1, 0x28, 0x39, 0x61, 0x47, 0xe6, 0xbe, 0x6c, 0x71, 0x5a, 0x0f, 0x03, 0xad, 0xd6 \
64 #define DOCA_NETFLOW_DEFAULT_PORT 2055
69 struct doca_telemetry_exporter_netflow_flowset_field;
93 struct doca_telemetry_exporter_netflow_template;
291 struct doca_telemetry_exporter_netflow_flowset_field *field);
464 const void **records,
466 size_t *nof_records_sent);
char path[MAX_PATH_LEN+1]
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
enum doca_error doca_error_t
DOCA API return codes.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_source_set_id(const char *source_id)
Set source id.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_get_buf_data_root(const char **path)
Get data root path.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_destroy(void)
Free the exporter memory and close the connection.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_get_file_write_max_size(size_t *size)
Get file maximum size.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_file_write_enabled(void)
Enable file write file write is disabled by default.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_source_set_tag(const char *source_tag)
Set source tag.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_field_set_len(struct doca_telemetry_exporter_netflow_flowset_field *field, uint16_t length)
Set doca telemetry netflow field length.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_send(const struct doca_telemetry_exporter_netflow_template *netflow_template, const void **records, size_t nof_records, size_t *nof_records_sent)
Sending netflow records. Need to init first.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_start(void)
Finalizes netflow setup.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_buf_data_root(const char *path)
Set buffer data root Default path is "/opt/mellanox/doca/services/telemetry/data/".
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_get_buf_size(uint64_t *size)
Get buffer size.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_ipc_enabled(void)
Enable IPC IPC is disabled by default.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_template_destroy(struct doca_telemetry_exporter_netflow_template *netflow_template)
Destructor for DOCA netflow template.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_file_write_max_size(size_t size)
Set file maximum size Default value is 1MB.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_field_destroy(struct doca_telemetry_exporter_netflow_flowset_field *field)
Destructor for DOCA netflow field.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_buf_size(uint64_t size)
Set buffer size Default value is 60000 bytes.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_collector_addr(const char *collector_addr)
Set collector address.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_field_set_type(struct doca_telemetry_exporter_netflow_flowset_field *field, uint16_t type)
Set doca telemetry netflow field type.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_collector_port(uint16_t collector_port)
Set collector port. See DOCA_NETFLOW_DEFAULT_PORT for default value.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_ipc_sockets_dir(const char *path)
Set IPC socket directory. Default path is "/opt/mellanox/doca/services/telemetry/ipc_sockets".
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_template_create(struct doca_telemetry_exporter_netflow_template **netflow_template)
Create new telemetry netflow template.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_init(uint16_t source_id)
Init exporter memory, set configs and open connection.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_get_file_write_max_age(doca_telemetry_exporter_timestamp_t *max_age)
Get file maximum age.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_get_ipc_sockets_dir(const char **path)
Get IPC socket directory.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_template_add_field(struct doca_telemetry_exporter_netflow_template *netflow_template, struct doca_telemetry_exporter_netflow_flowset_field *field)
Add DOCA telemetry netflow field to netflow_template. The user loses the ownership of the field after...
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_flush(void)
Immediately flush the data of the DOCA internal Netflow source.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_max_packet_size(uint16_t max_packet_size)
Set max packet size.
DOCA_EXPERIMENTAL void doca_telemetry_exporter_netflow_set_file_write_max_age(doca_telemetry_exporter_timestamp_t max_age)
Set file maximum age Default value is 1 hour.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_exporter_netflow_field_create(struct doca_telemetry_exporter_netflow_flowset_field **field)
Create new telemetry netflow field.
uint64_t doca_telemetry_exporter_timestamp_t
DOCA schema type index type.
static struct doca_telemetry_exporter_netflow_template * netflow_template