PF_RING API
API documentation for PF_RING: high-speed packet capture, filtering and analysis framework.
__pfring Struct Reference

Public Attributes

u_int8_t initialized
 
u_int8_t enabled
 
u_int8_t long_header
 
u_int8_t force_timestamp
 
u_int8_t strip_hw_timestamp
 
u_int8_t disable_parsing
 
u_int8_t disable_timestamp
 
u_int8_t ixia_timestamp_enabled
 
u_int8_t vss_apcon_timestamp_enabled
 
u_int8_t chunk_mode_enabled
 
u_int8_t userspace_bpf
 
u_int8_t force_userspace_bpf
 
u_int32_t rss_mode
 
packet_direction direction
 
socket_mode mode
 
struct pfring_bpf_program userspace_bpf_filter
 
struct {
   u_int8_t   force_timestamp
 
   u_int8_t   is_silicom_hw_timestamp_card
 
   u_int8_t   enable_hw_timestamp
 
   u_int8_t   last_hw_timestamp_head_offset
 
   struct timespec   last_hw_timestamp
 
hw_ts
 
struct {
   u_int8_t   enabled_rx_packet_send
 
   struct pfring_pkthdr *   last_received_hdr
 
tx
 
u_int8_t zc_device
 
void * priv_data
 
void(* close )(pfring *)
 
int(* stats )(pfring *, pfring_stat *)
 
int(* recv )(pfring *, u_char **, u_int, struct pfring_pkthdr *, u_int8_t)
 
int(* set_poll_watermark )(pfring *, u_int16_t)
 
int(* set_poll_watermark_timeout )(pfring *, u_int16_t)
 
int(* set_poll_duration )(pfring *, u_int)
 
int(* set_tx_watermark )(pfring *, u_int16_t)
 
int(* set_channel_id )(pfring *, u_int32_t)
 
int(* set_channel_mask )(pfring *, u_int64_t)
 
int(* set_application_name )(pfring *, char *)
 
int(* set_application_stats )(pfring *, char *)
 
char *(* get_appl_stats_file_name )(pfring *ring, char *path, u_int path_len)
 
int(* set_vlan_id )(pfring *, u_int16_t)
 
int(* bind )(pfring *, char *)
 
int(* send )(pfring *, char *, u_int, u_int8_t)
 
int(* send_get_time )(pfring *, char *, u_int, struct timespec *)
 
u_int8_t(* get_num_rx_channels )(pfring *)
 
int(* get_card_settings )(pfring *, pfring_card_settings *)
 
int(* set_sampling_rate )(pfring *, u_int32_t)
 
int(* set_packet_slicing )(pfring *, packet_slicing_level, u_int32_t)
 
int(* get_selectable_fd )(pfring *)
 
int(* set_direction )(pfring *, packet_direction)
 
int(* set_socket_mode )(pfring *, socket_mode)
 
int(* set_cluster )(pfring *, u_int, cluster_type)
 
int(* remove_from_cluster )(pfring *)
 
int(* set_master_id )(pfring *, u_int32_t)
 
int(* set_master )(pfring *, pfring *)
 
u_int32_t(* get_ring_id )(pfring *)
 
u_int32_t(* get_num_queued_pkts )(pfring *)
 
int(* get_hash_filtering_rule_stats )(pfring *, hash_filtering_rule *, char *, u_int *)
 
int(* handle_hash_filtering_rule )(pfring *, hash_filtering_rule *, u_char)
 
int(* purge_idle_hash_rules )(pfring *, u_int16_t)
 
int(* add_filtering_rule )(pfring *, filtering_rule *)
 
int(* remove_filtering_rule )(pfring *, u_int16_t)
 
int(* purge_idle_rules )(pfring *, u_int16_t)
 
int(* get_filtering_rule_stats )(pfring *, u_int16_t, char *, u_int *)
 
int(* toggle_filtering_policy )(pfring *, u_int8_t)
 
int(* enable_rss_rehash )(pfring *)
 
int(* poll )(pfring *, u_int)
 
int(* is_pkt_available )(pfring *)
 
int(* next_pkt_time )(pfring *, struct timespec *)
 
int(* next_pkt_raw_timestamp )(pfring *, u_int64_t *ts)
 
int(* version )(pfring *, u_int32_t *)
 
int(* get_bound_device_address )(pfring *, u_char [6])
 
int(* get_bound_device_ifindex )(pfring *, int *)
 
int(* get_device_ifindex )(pfring *, char *, int *)
 
u_int16_t(* get_slot_header_len )(pfring *)
 
int(* set_virtual_device )(pfring *, virtual_filtering_device_info *)
 
int(* add_hw_rule )(pfring *, hw_filtering_rule *)
 
int(* remove_hw_rule )(pfring *, u_int16_t)
 
int(* loopback_test )(pfring *, char *, u_int, u_int)
 
int(* enable_ring )(pfring *)
 
int(* disable_ring )(pfring *)
 
void(* shutdown )(pfring *)
 
int(* set_bpf_filter )(pfring *, char *)
 
int(* remove_bpf_filter )(pfring *)
 
int(* get_device_clock )(pfring *, struct timespec *)
 
int(* set_device_clock )(pfring *, struct timespec *)
 
int(* adjust_device_clock )(pfring *, struct timespec *, int8_t)
 
void(* sync_indexes_with_kernel )(pfring *)
 
int(* send_last_rx_packet )(pfring *, int)
 
void(* flush_tx_packets )(pfring *)
 
int(* register_zerocopy_tx_ring )(pfring *, pfring *)
 
int(* recv_chunk )(pfring *, void **, pfring_chunk_info *, u_int8_t)
 
int(* set_bound_dev_name )(pfring *, char *)
 
int(* get_metadata )(pfring *, u_char **, u_int32_t *)
 
u_int32_t(* get_interface_speed )(pfring *)
 
struct {
   int8_t   device_id
 
   int8_t   port_id
 
rdi
 
filtering_mode ft_mode
 
pfring_device_type ft_device_type
 
char * buffer
 
char * slots
 
char * device_name
 
u_int32_t caplen
 
u_int16_t slot_header_len
 
u_int16_t mtu
 
u_int32_t sampling_rate
 
u_int32_t sampling_counter
 
packet_slicing_level slicing_level
 
u_int32_t slicing_additional_bytes
 
u_int8_t is_shutting_down
 
u_int8_t socket_default_accept_policy
 
int fd
 
int device_id
 
FlowSlotInfo * slots_info
 
u_int32_t poll_sleep
 
u_int16_t poll_duration
 
u_int8_t promisc
 
u_int8_t ft_enabled
 
u_int8_t reentrant
 
u_int8_t break_recv_loop
 
u_long num_poll_calls
 
pfring_rwlock_t rx_lock
 
pfring_rwlock_t tx_lock
 
u_int32_t flags
 
void * ft
 
struct sockaddr_ll sock_tx
 
pfringreflector_socket
 
pfringone_copy_rx_pfring
 

The documentation for this struct was generated from the following file: