Skip to content

Commit c04f6ca

Browse files
Alexander DuyckJeff Kirsher
authored andcommitted
ixgbe: update perfect filter framework to support retaining filters
This change is meant to update the internal framework of ixgbe so that perfect filters can be stored and tracked via software. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
1 parent 03ecf91 commit c04f6ca

File tree

4 files changed

+368
-280
lines changed

4 files changed

+368
-280
lines changed

drivers/net/ixgbe/ixgbe.h

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -543,16 +543,22 @@ extern void ixgbe_alloc_rx_buffers(struct ixgbe_ring *, u16);
543543
extern void ixgbe_write_eitr(struct ixgbe_q_vector *);
544544
extern int ethtool_ioctl(struct ifreq *ifr);
545545
extern s32 ixgbe_reinit_fdir_tables_82599(struct ixgbe_hw *hw);
546-
extern s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 pballoc);
547-
extern s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 pballoc);
546+
extern s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 fdirctrl);
547+
extern s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 fdirctrl);
548548
extern s32 ixgbe_fdir_add_signature_filter_82599(struct ixgbe_hw *hw,
549549
union ixgbe_atr_hash_dword input,
550550
union ixgbe_atr_hash_dword common,
551551
u8 queue);
552-
extern s32 ixgbe_fdir_add_perfect_filter_82599(struct ixgbe_hw *hw,
553-
union ixgbe_atr_input *input,
554-
struct ixgbe_atr_input_masks *input_masks,
555-
u16 soft_id, u8 queue);
552+
extern s32 ixgbe_fdir_set_input_mask_82599(struct ixgbe_hw *hw,
553+
union ixgbe_atr_input *input_mask);
554+
extern s32 ixgbe_fdir_write_perfect_filter_82599(struct ixgbe_hw *hw,
555+
union ixgbe_atr_input *input,
556+
u16 soft_id, u8 queue);
557+
extern s32 ixgbe_fdir_erase_perfect_filter_82599(struct ixgbe_hw *hw,
558+
union ixgbe_atr_input *input,
559+
u16 soft_id);
560+
extern void ixgbe_atr_compute_perfect_hash_82599(union ixgbe_atr_input *input,
561+
union ixgbe_atr_input *mask);
556562
extern void ixgbe_configure_rscctl(struct ixgbe_adapter *adapter,
557563
struct ixgbe_ring *ring);
558564
extern void ixgbe_clear_rscctl(struct ixgbe_adapter *adapter,

0 commit comments

Comments
 (0)