/* SPDX-License-Identifier: BSD-3-Clause
*
- * Copyright (c) 2007-2018 Solarflare Communications Inc.
- * All rights reserved.
+ * Copyright(c) 2019-2020 Xilinx, Inc.
+ * Copyright(c) 2007-2019 Solarflare Communications Inc.
*/
#include "efx.h"
siena_filter_add(
__in efx_nic_t *enp,
__inout efx_filter_spec_t *spec,
- __in boolean_t may_replace);
+ __in efx_filter_replacement_policy_t policy);
static __checkReturn efx_rc_t
siena_filter_delete(
goto fail3;
}
- return (efop->efo_add(enp, spec, B_FALSE));
+ return (efop->efo_add(enp, spec,
+ EFX_FILTER_REPLACEMENT_HIGHER_PRIORITY));
fail3:
EFSYS_PROBE(fail3);
siena_filter_add(
__in efx_nic_t *enp,
__inout efx_filter_spec_t *spec,
- __in boolean_t may_replace)
+ __in efx_filter_replacement_policy_t policy)
{
efx_rc_t rc;
siena_filter_spec_t sf_spec;
saved_sf_spec = &sftp->sft_spec[filter_idx];
if (siena_filter_test_used(sftp, filter_idx)) {
- if (may_replace == B_FALSE) {
+ /* All Siena filter are considered the same priority */
+ switch (policy) {
+ case EFX_FILTER_REPLACEMENT_NEVER:
+ case EFX_FILTER_REPLACEMENT_HIGHER_PRIORITY:
rc = EEXIST;
goto fail4;
+ case EFX_FILTER_REPLACEMENT_HIGHER_OR_EQUAL_PRIORITY:
+ break;
+ default:
+ EFSYS_ASSERT(0);
+ break;
}
}
siena_filter_set_used(sftp, filter_idx);