MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ixgbe_crypto_clear_ipsec_tables

Function ixgbe_crypto_clear_ipsec_tables

dpdk/drivers/net/ixgbe/ixgbe_ipsec.c:40–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38
39
40static void
41ixgbe_crypto_clear_ipsec_tables(struct rte_eth_dev *dev)
42{
43 struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
44 struct ixgbe_ipsec *priv = IXGBE_DEV_PRIVATE_TO_IPSEC(
45 dev->data->dev_private);
46 int i = 0;
47
48 /* clear Rx IP table*/
49 for (i = 0; i < IPSEC_MAX_RX_IP_COUNT; i++) {
50 uint16_t index = i << 3;
51 uint32_t reg_val = IPSRXIDX_WRITE | IPSRXIDX_TABLE_IP | index;
52 IXGBE_WRITE_REG(hw, IXGBE_IPSRXIPADDR(0), 0);
53 IXGBE_WRITE_REG(hw, IXGBE_IPSRXIPADDR(1), 0);
54 IXGBE_WRITE_REG(hw, IXGBE_IPSRXIPADDR(2), 0);
55 IXGBE_WRITE_REG(hw, IXGBE_IPSRXIPADDR(3), 0);
56 IXGBE_WAIT_RWRITE;
57 }
58
59 /* clear Rx SPI and Rx/Tx SA tables*/
60 for (i = 0; i < IPSEC_MAX_SA_COUNT; i++) {
61 uint32_t index = i << 3;
62 uint32_t reg_val = IPSRXIDX_WRITE | IPSRXIDX_TABLE_SPI | index;
63 IXGBE_WRITE_REG(hw, IXGBE_IPSRXSPI, 0);
64 IXGBE_WRITE_REG(hw, IXGBE_IPSRXIPIDX, 0);
65 IXGBE_WAIT_RWRITE;
66 reg_val = IPSRXIDX_WRITE | IPSRXIDX_TABLE_KEY | index;
67 IXGBE_WRITE_REG(hw, IXGBE_IPSRXKEY(0), 0);
68 IXGBE_WRITE_REG(hw, IXGBE_IPSRXKEY(1), 0);
69 IXGBE_WRITE_REG(hw, IXGBE_IPSRXKEY(2), 0);
70 IXGBE_WRITE_REG(hw, IXGBE_IPSRXKEY(3), 0);
71 IXGBE_WRITE_REG(hw, IXGBE_IPSRXSALT, 0);
72 IXGBE_WRITE_REG(hw, IXGBE_IPSRXMOD, 0);
73 IXGBE_WAIT_RWRITE;
74 reg_val = IPSRXIDX_WRITE | index;
75 IXGBE_WRITE_REG(hw, IXGBE_IPSTXKEY(0), 0);
76 IXGBE_WRITE_REG(hw, IXGBE_IPSTXKEY(1), 0);
77 IXGBE_WRITE_REG(hw, IXGBE_IPSTXKEY(2), 0);
78 IXGBE_WRITE_REG(hw, IXGBE_IPSTXKEY(3), 0);
79 IXGBE_WRITE_REG(hw, IXGBE_IPSTXSALT, 0);
80 IXGBE_WAIT_TWRITE;
81 }
82
83 memset(priv->rx_ip_tbl, 0, sizeof(priv->rx_ip_tbl));
84 memset(priv->rx_sa_tbl, 0, sizeof(priv->rx_sa_tbl));
85 memset(priv->tx_sa_tbl, 0, sizeof(priv->tx_sa_tbl));
86}
87
88static int
89ixgbe_crypto_add_sa(struct ixgbe_crypto_session *ic_session)

Callers 1

Calls 1

memsetFunction · 0.85

Tested by

no test coverage detected