Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
knet_handle_enable_filterKronosnet Programmer's	Maknet_handle_enable_filter(3)

NAME
       knet_handle_enable_filter - install a filter to route packets

SYNOPSIS
       #include	<libknet.h>

       int knet_handle_enable_filter(
	   knet_handle_t  knet_h,
	   void		 *dst_host_filter_fn_private_data,
	   int(*)(void *private_data, const unsigned char *outdata, ssize_t outdata_len, uint8_t tx_rx,	knet_node_id_t this_host_id, knet_node_id_t src_host_id, int8_t	*channel, knet_node_id_t *dst_host_ids,	size_t *dst_host_ids_entries)  dst_host_filter_fn
       );

DESCRIPTION
       knet_handle_enable_filter

       knet_h -	pointer	to knet_handle_t

       dst_host_filter_fn_private_data	void  pointer to data that can be used
       to identify the callback.

       dst_host_filter_fn - is a callback function that	is invoked every  time
       a  packet  hits	datafd	(see  knet_handle_new(3)). the function	allows
       users to	tell libknet where the packet has to be	delivered.

       const unsigned char *outdata - is  a  pointer  to  the  current	packet
       ssize_t	outdata_len  - length of the above data	uint8_t	tx_rx -	filter
       is called on tx or rx (KNET_NOTIFY_TX,  KNET_NOTIFY_RX)	knet_node_id_t
       this_host_id - host_id processing the packet knet_node_id_t src_host_id
       - host_id that generated	the packet knet_node_id_t *dst_host_ids	-  ar-
       ray  of	KNET_MAX_HOST  knet_node_id_t  where to	store the destinations
       size_t *dst_host_ids_entries - number of	hosts to send the message

       dst_host_filter_fn should return	-1 on error, packet  is	 discarded.  0
       packet  is  unicast  and	 should	 be sent to dst_host_ids and there are
       dst_host_ids_entries in the buffer. 1 packet is broadcast/multicast and
       is  sent	 all  hosts. contents of dst_host_ids and dst_host_ids_entries
       are ignored. (see also kronosnetd/etherfilter.*	for  an	 example  that
       filters based on	ether protocol)

RETURN VALUE
       knet_handle_enable_filter returns 0 on success -1 on error and errno is
       set.

SEE ALSO
       knet_handle_remove_datafd(3), knet_handle_get_stats(3),
       knet_host_add(3), knet_handle_pmtud_setfreq(3),
       knet_handle_pmtud_get(3), knet_host_get_id_by_host_name(3),
       knet_host_get_status(3),	knet_link_add_acl(3),
       knet_link_get_pong_count(3), knet_link_get_priority(3),
       knet_handle_free(3), knet_handle_enable_sock_notify(3),
       knet_handle_get_datafd(3), knet_recv(3),	knet_link_get_ping_timers(3),
       knet_log_get_subsystem_id(3), knet_host_remove(3),
       knet_host_enable_status_change_notify(3), knet_strtoaddr(3),
       knet_link_rm_acl(3), knet_send(3), knet_handle_enable_pmtud_notify(3),
       knet_handle_get_transport_reconnect_interval(3),
       knet_link_get_enable(3),	knet_link_set_priority(3),
       knet_log_set_loglevel(3), knet_handle_get_channel(3),
       knet_link_get_config(3),	knet_link_get_link_list(3),
       knet_get_transport_list(3), knet_get_transport_id_by_name(3),
       knet_log_get_loglevel_id(3), knet_handle_new_ex(3),
       knet_host_set_name(3), knet_addrtostr(3), knet_handle_setfwd(3),
       knet_get_compress_list(3), knet_host_set_policy(3),
       knet_get_transport_name_by_id(3), knet_handle_compress(3),
       knet_link_get_status(3),	knet_handle_add_datafd(3), knet_send_sync(3),
       knet_log_get_loglevel_name(3), knet_handle_enable_access_lists(3),
       knet_host_get_host_list(3), knet_host_get_policy(3),
       knet_link_set_enable(3),	knet_link_set_pong_count(3),
       knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3),
       knet_link_clear_config(3), knet_log_get_loglevel(3),
       knet_handle_new(3), knet_handle_pmtud_getfreq(3),
       knet_handle_pmtud_set(3), knet_handle_clear_stats(3),
       knet_link_set_config(3),	knet_handle_crypto(3),
       knet_get_crypto_list(3),
       knet_handle_set_transport_reconnect_interval(3),
       knet_link_clear_acl(3), knet_link_set_ping_timers(3),
       knet_link_insert_acl(3)

COPYRIGHT
       Copyright (C) 2010-2020 Red Hat,	Inc. All rights	reserved.

kronosnet			  2020-04-23	  knet_handle_enable_filter(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=knet_handle_enable_filter&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help