diff --git a/src/include/ci/efhw/efct_filters.h b/src/include/ci/efhw/efct_filters.h index 3fef7ab2..e01f86ec 100644 --- a/src/include/ci/efhw/efct_filters.h +++ b/src/include/ci/efhw/efct_filters.h @@ -15,6 +15,8 @@ struct efct_filter_insert_out { }; struct efct_filter_state; +#define EFCT_HW_FILTER_DRV_ID_DUMMY ((uint64_t)~0) + typedef int (*drv_filter_insert)(const struct efct_filter_insert_in *in, struct efct_filter_insert_out *out); diff --git a/src/lib/efhw/debugfs_efct.c b/src/lib/efhw/debugfs_efct.c index 0510979f..321072e2 100644 --- a/src/lib/efhw/debugfs_efct.c +++ b/src/lib/efhw/debugfs_efct.c @@ -10,6 +10,7 @@ #include #include #include +#include #include "linux_resource_internal.h" #include "debugfs.h" @@ -30,6 +31,8 @@ static int efct_debugfs_read_hw_filters(struct seq_file *file, for( i = 0; i < fs->hw_filters_n; i++ ) { filter = &fs->hw_filters[i]; if( filter->refcount > 0 ) { + if( filter->drv_id == EFCT_HW_FILTER_DRV_ID_DUMMY) + continue; if( filter->remote_ip ) snprintf(remote_ip_buf, sizeof(remote_ip_buf), "%pI4:%d ", &filter->remote_ip, ntohs(filter->remote_port)); diff --git a/src/lib/efhw/efct_filters.c b/src/lib/efhw/efct_filters.c index 1c6a83ff..d6cfc708 100644 --- a/src/lib/efhw/efct_filters.c +++ b/src/lib/efhw/efct_filters.c @@ -89,6 +89,7 @@ void efct_filter_state_reserve_rxq(struct efct_filter_state *state, int rxq) EFHW_ASSERT(state->hw_filters_n > rxq); state->hw_filters[rxq].rxq = 0; state->hw_filters[rxq].refcount = 1; + state->hw_filters[rxq].drv_id = EFCT_HW_FILTER_DRV_ID_DUMMY; }