src/dpdk/drivers/net/cxgbe/cxgbe_filter.c
static void clear_filter(struct filter_entry *f)
{
	struct port_info *pi = ethdev2pinfo(f->dev);

	if (f->clipt)
		cxgbe_clip_release(f->dev, f->clipt);

	if (f->l2t)
		cxgbe_l2t_release(f->l2t);

	if (f->fs.mask.macidx)
		cxgbe_mpstcam_remove(pi, f->fs.val.macidx);

	if (f->smt)
		cxgbe_smt_release(f->smt);

	/* The zeroing of the filter rule below clears the filter valid,
	 * pending, locked flags etc. so it's all we need for
	 * this operation.
	 */
	memset(f, 0, sizeof(*f));
}
/**
 * Clear a filter and release any of its resources that we own.  This also
 * clears the filter's "pending" status.
 */
Clear a filter and release any of its resources that we own.  This also
clears the filter's "pending" status.
Clear a filter and release any of its resources that we own . This also clears the filter ' s " pending " status .
static void clear_filter(struct filter_entry *f)
{
	struct port_info *pi = ethdev2pinfo(f->dev);
	if (f->clipt)
		cxgbe_clip_release(f->dev, f->clipt);
	if (f->l2t)
		cxgbe_l2t_release(f->l2t);
	if (f->fs.mask.macidx)
		cxgbe_mpstcam_remove(pi, f->fs.val.macidx);
	if (f->smt)
		cxgbe_smt_release(f->smt);
	memset(f, 0, sizeof(*f));
}
static void clear_filter ( struct filter_entry * f ) { struct port_info * pi = ethdev2pinfo ( f -> dev ) ; if ( f -> clipt ) cxgbe_clip_release ( f -> dev , f -> clipt ) ; if ( f -> l2t ) cxgbe_l2t_release ( f -> l2t ) ; if ( f -> fs . mask . macidx ) cxgbe_mpstcam_remove ( pi , f -> fs . val . macidx ) ; if ( f -> smt ) cxgbe_smt_release ( f -> smt ) ; memset ( f , 0 , sizeof ( * f ) ) ; }
Clear a filter and release any of its resources that we own.
Clear a filter and release any of its resources that we own .
/* The zeroing of the filter rule below clears the filter valid,
	 * pending, locked flags etc. so it's all we need for
	 * this operation.
	 */