cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ipsec.h (1175B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Copyright(c) 2018 Oracle and/or its affiliates. All rights reserved. */
      3
      4#ifndef _IXGBEVF_IPSEC_H_
      5#define _IXGBEVF_IPSEC_H_
      6
      7#define IXGBE_IPSEC_MAX_SA_COUNT	1024
      8#define IXGBE_IPSEC_BASE_RX_INDEX	0
      9#define IXGBE_IPSEC_BASE_TX_INDEX	IXGBE_IPSEC_MAX_SA_COUNT
     10#define IXGBE_IPSEC_AUTH_BITS		128
     11
     12#define IXGBE_RXMOD_VALID		0x00000001
     13#define IXGBE_RXMOD_PROTO_ESP		0x00000004
     14#define IXGBE_RXMOD_DECRYPT		0x00000008
     15#define IXGBE_RXMOD_IPV6		0x00000010
     16
     17struct rx_sa {
     18	struct hlist_node hlist;
     19	struct xfrm_state *xs;
     20	__be32 ipaddr[4];
     21	u32 key[4];
     22	u32 salt;
     23	u32 mode;
     24	u32 pfsa;
     25	bool used;
     26	bool decrypt;
     27};
     28
     29struct rx_ip_sa {
     30	__be32 ipaddr[4];
     31	u32 ref_cnt;
     32	bool used;
     33};
     34
     35struct tx_sa {
     36	struct xfrm_state *xs;
     37	u32 key[4];
     38	u32 salt;
     39	u32 pfsa;
     40	bool encrypt;
     41	bool used;
     42};
     43
     44struct ixgbevf_ipsec_tx_data {
     45	u32 flags;
     46	u16 trailer_len;
     47	u16 pfsa;
     48};
     49
     50struct ixgbevf_ipsec {
     51	u16 num_rx_sa;
     52	u16 num_tx_sa;
     53	struct rx_sa *rx_tbl;
     54	struct tx_sa *tx_tbl;
     55	DECLARE_HASHTABLE(rx_sa_list, 10);
     56};
     57
     58struct sa_mbx_msg {
     59	__be32 spi;
     60	u8 dir;
     61	u8 proto;
     62	u16 family;
     63	__be32 addr[4];
     64	u32 key[5];
     65};
     66#endif /* _IXGBEVF_IPSEC_H_ */