X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fsfc%2Fbase%2Fefx.h;h=07cd0bb398ba1a7674739493b9c435f7070007c7;hb=6cf2f95d4dfbae8c8b4ea31ec899e750dcbc62bb;hp=53ddaa987c3c2d5765dd3de2b8b8de24c789cd44;hpb=0270853d94e298820f3361b43dfdbf95e6a05c88;p=dpdk.git diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h index 53ddaa987c..07cd0bb398 100644 --- a/drivers/net/sfc/base/efx.h +++ b/drivers/net/sfc/base/efx.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-3-Clause * - * Copyright (c) 2006-2018 Solarflare Communications Inc. - * All rights reserved. + * Copyright(c) 2019-2020 Xilinx, Inc. + * Copyright(c) 2006-2019 Solarflare Communications Inc. */ #ifndef _SYS_EFX_H @@ -544,6 +544,12 @@ efx_mac_filter_set( __in boolean_t all_mulcst, __in boolean_t brdcst); +extern void +efx_mac_filter_get_all_ucast_mcast( + __in efx_nic_t *enp, + __out boolean_t *all_unicst, + __out boolean_t *all_mulcst); + extern __checkReturn efx_rc_t efx_mac_multicast_list_set( __in efx_nic_t *enp, @@ -2949,17 +2955,15 @@ typedef uint8_t efx_filter_flags_t; typedef uint32_t efx_filter_match_flags_t; +/* Filter priority from lowest to highest */ typedef enum efx_filter_priority_s { - EFX_FILTER_PRI_HINT = 0, /* Performance hint */ - EFX_FILTER_PRI_AUTO, /* Automatic filter based on device + EFX_FILTER_PRI_AUTO = 0, /* Automatic filter based on device * address list or hardware * requirements. This may only be used * by the filter implementation for * each NIC type. */ EFX_FILTER_PRI_MANUAL, /* Manually configured filter */ - EFX_FILTER_PRI_REQUIRED, /* Required for correct behaviour of the - * client (e.g. SR-IOV, HyperV VMQ etc.) - */ + EFX_FILTER_NPRI, } efx_filter_priority_t; /* @@ -2974,6 +2978,11 @@ typedef struct efx_filter_spec_s { uint16_t efs_dmaq_id; uint32_t efs_rss_context; uint32_t efs_mark; + /* + * Saved lower-priority filter. If it is set, it is restored on + * filter delete operation. + */ + struct efx_filter_spec_s *efs_overridden_spec; /* Fields below here are hashed for software filter lookup */ uint16_t efs_outer_vid; uint16_t efs_inner_vid;