ipfix.h (3739B)
1 /* 2 * 3 * 4 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 5 * 6 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 7 * 8 * DO NOT EDIT THIS FILE! 9 * This file is auto-generated. 10 * Edits to this file will be lost when it is regenerated. 11 */ 12 13 #ifndef __BCMX_IPFIX_H__ 14 #define __BCMX_IPFIX_H__ 15 16 #include <bcm/types.h> 17 #include <bcmx/bcmx.h> 18 #include <bcm/ipfix.h> 19 20 typedef bcm_ipfix_config_t bcmx_ipfix_config_t; 21 22 typedef bcm_ipfix_rate_t bcmx_ipfix_rate_t; 23 24 typedef bcm_ipfix_mirror_config_t bcmx_ipfix_mirror_config_t; 25 26 /* Structure initializer */ 27 extern void bcmx_ipfix_config_t_init( 28 bcmx_ipfix_config_t *config); 29 30 /* Structure initializer */ 31 extern void bcmx_ipfix_rate_t_init( 32 bcmx_ipfix_rate_t *rate_info); 33 34 /* Structure initializer */ 35 extern void bcmx_ipfix_mirror_config_t_init( 36 bcmx_ipfix_mirror_config_t *config); 37 38 /* Set the IPFIX configuration of the specified port */ 39 extern int bcmx_ipfix_config_set( 40 bcm_ipfix_stage_t stage, 41 bcmx_lport_t port, 42 bcmx_ipfix_config_t *config); 43 44 /* Get the IPFIX configuration of the specified port */ 45 extern int bcmx_ipfix_config_get( 46 bcm_ipfix_stage_t stage, 47 bcmx_lport_t port, 48 bcmx_ipfix_config_t *config); 49 50 /* Add an IPFIX flow rate meter entry */ 51 extern int bcmx_ipfix_rate_create( 52 bcmx_ipfix_rate_t *rate_info); 53 54 /* Delete an IPFIX flow rate meter entry */ 55 extern int bcmx_ipfix_rate_destroy( 56 bcm_ipfix_rate_id_t rate_id); 57 58 /* Get IPFIX flow rate meter entry for the specified id */ 59 extern int bcmx_ipfix_rate_get( 60 bcmx_ipfix_rate_t *rate_info); 61 62 /* Delete all IPFIX flow rate meter entries */ 63 extern int bcmx_ipfix_rate_destroy_all(void); 64 65 /* Add a mirror destination to the IPFIX flow rate meter entry */ 66 extern int bcmx_ipfix_rate_mirror_add( 67 bcm_ipfix_rate_id_t rate_id, 68 bcm_gport_t mirror_dest_id); 69 70 /* Delete a mirror destination from the IPFIX flow rate meter entry */ 71 extern int bcmx_ipfix_rate_mirror_delete( 72 bcm_ipfix_rate_id_t rate_id, 73 bcm_gport_t mirror_dest_id); 74 75 /* 76 * Delete all mirror destination associated to the IPFIX flow rate meter 77 * entry 78 */ 79 extern int bcmx_ipfix_rate_mirror_delete_all( 80 bcm_ipfix_rate_id_t rate_id); 81 82 /* Get all mirror destination from the IPFIX flow rate meter entry */ 83 extern int bcmx_ipfix_rate_mirror_get( 84 bcm_ipfix_rate_id_t rate_id, 85 int mirror_dest_size, 86 bcm_gport_t *mirror_dest_id, 87 int *mirror_dest_count); 88 89 /* Set IPFIX mirror control configuration of the specified port */ 90 extern int bcmx_ipfix_mirror_config_set( 91 bcm_ipfix_stage_t stage, 92 bcm_gport_t port, 93 bcmx_ipfix_mirror_config_t *config); 94 95 /* Get all IPFIX mirror control configuration of the specified port */ 96 extern int bcmx_ipfix_mirror_config_get( 97 bcm_ipfix_stage_t stage, 98 bcm_gport_t port, 99 bcmx_ipfix_mirror_config_t *config); 100 101 /* Add an IPFIX mirror destination to the specified port */ 102 extern int bcmx_ipfix_mirror_port_dest_add( 103 bcm_ipfix_stage_t stage, 104 bcm_gport_t port, 105 bcm_gport_t mirror_dest_id); 106 107 /* Delete an IPFIX mirror destination from the specified port */ 108 extern int bcmx_ipfix_mirror_port_dest_delete( 109 bcm_ipfix_stage_t stage, 110 bcm_gport_t port, 111 bcm_gport_t mirror_dest_id); 112 113 /* Delete all IPFIX mirror destination from the specified port */ 114 extern int bcmx_ipfix_mirror_port_dest_delete_all( 115 bcm_ipfix_stage_t stage, 116 bcm_gport_t port); 117 118 /* Get IPFIX mirror destination of the specified port */ 119 extern int bcmx_ipfix_mirror_port_dest_get( 120 bcm_ipfix_stage_t stage, 121 bcm_gport_t port, 122 int mirror_dest_size, 123 bcm_gport_t *mirror_dest_id, 124 int *mirror_dest_count); 125 126 #endif /* __BCMX_IPFIX_H__ */