Lines Matching refs:sa_entry

1322 static int rx_add_rule(struct mlx5e_ipsec_sa_entry *sa_entry)  in rx_add_rule()  argument
1324 struct mlx5_accel_esp_xfrm_attrs *attrs = &sa_entry->attrs; in rx_add_rule()
1325 struct mlx5_core_dev *mdev = mlx5e_ipsec_sa2dev(sa_entry); in rx_add_rule()
1326 struct mlx5e_ipsec *ipsec = sa_entry->ipsec; in rx_add_rule()
1358 sa_entry->ipsec_obj_id | BIT(31), in rx_add_rule()
1361 err = mlx5_esw_ipsec_rx_setup_modify_header(sa_entry, &flow_act); in rx_add_rule()
1382 flow_act.crypto.obj_id = sa_entry->ipsec_obj_id; in rx_add_rule()
1402 sa_entry->ipsec_rule.rule = rule; in rx_add_rule()
1403 sa_entry->ipsec_rule.modify_hdr = flow_act.modify_hdr; in rx_add_rule()
1404 sa_entry->ipsec_rule.fc = counter; in rx_add_rule()
1405 sa_entry->ipsec_rule.pkt_reformat = flow_act.pkt_reformat; in rx_add_rule()
1422 static int tx_add_rule(struct mlx5e_ipsec_sa_entry *sa_entry) in tx_add_rule() argument
1424 struct mlx5_accel_esp_xfrm_attrs *attrs = &sa_entry->attrs; in tx_add_rule()
1425 struct mlx5_core_dev *mdev = mlx5e_ipsec_sa2dev(sa_entry); in tx_add_rule()
1426 struct mlx5e_ipsec *ipsec = sa_entry->ipsec; in tx_add_rule()
1477 flow_act.crypto.obj_id = sa_entry->ipsec_obj_id; in tx_add_rule()
1498 sa_entry->ipsec_rule.rule = rule; in tx_add_rule()
1499 sa_entry->ipsec_rule.fc = counter; in tx_add_rule()
1500 sa_entry->ipsec_rule.pkt_reformat = flow_act.pkt_reformat; in tx_add_rule()
1871 int mlx5e_accel_ipsec_fs_add_rule(struct mlx5e_ipsec_sa_entry *sa_entry) in mlx5e_accel_ipsec_fs_add_rule() argument
1875 if (sa_entry->attrs.type == XFRM_DEV_OFFLOAD_PACKET) { in mlx5e_accel_ipsec_fs_add_rule()
1876 err = mlx5e_ipsec_block_tc_offload(sa_entry->ipsec->mdev); in mlx5e_accel_ipsec_fs_add_rule()
1881 if (sa_entry->attrs.dir == XFRM_DEV_OFFLOAD_OUT) in mlx5e_accel_ipsec_fs_add_rule()
1882 err = tx_add_rule(sa_entry); in mlx5e_accel_ipsec_fs_add_rule()
1884 err = rx_add_rule(sa_entry); in mlx5e_accel_ipsec_fs_add_rule()
1892 if (sa_entry->attrs.type == XFRM_DEV_OFFLOAD_PACKET) in mlx5e_accel_ipsec_fs_add_rule()
1893 mlx5e_ipsec_unblock_tc_offload(sa_entry->ipsec->mdev); in mlx5e_accel_ipsec_fs_add_rule()
1897 void mlx5e_accel_ipsec_fs_del_rule(struct mlx5e_ipsec_sa_entry *sa_entry) in mlx5e_accel_ipsec_fs_del_rule() argument
1899 struct mlx5e_ipsec_rule *ipsec_rule = &sa_entry->ipsec_rule; in mlx5e_accel_ipsec_fs_del_rule()
1900 struct mlx5_core_dev *mdev = mlx5e_ipsec_sa2dev(sa_entry); in mlx5e_accel_ipsec_fs_del_rule()
1907 if (sa_entry->attrs.type == XFRM_DEV_OFFLOAD_PACKET) in mlx5e_accel_ipsec_fs_del_rule()
1910 if (sa_entry->attrs.dir == XFRM_DEV_OFFLOAD_OUT) { in mlx5e_accel_ipsec_fs_del_rule()
1911 tx_ft_put(sa_entry->ipsec, sa_entry->attrs.type); in mlx5e_accel_ipsec_fs_del_rule()
1916 mlx5_esw_ipsec_rx_id_mapping_remove(sa_entry); in mlx5e_accel_ipsec_fs_del_rule()
1917 rx_ft_put(sa_entry->ipsec, sa_entry->attrs.family, sa_entry->attrs.type); in mlx5e_accel_ipsec_fs_del_rule()
2068 void mlx5e_accel_ipsec_fs_modify(struct mlx5e_ipsec_sa_entry *sa_entry) in mlx5e_accel_ipsec_fs_modify() argument
2073 memcpy(&sa_entry_shadow, sa_entry, sizeof(*sa_entry)); in mlx5e_accel_ipsec_fs_modify()
2074 memset(&sa_entry_shadow.ipsec_rule, 0x00, sizeof(sa_entry->ipsec_rule)); in mlx5e_accel_ipsec_fs_modify()
2080 mlx5e_accel_ipsec_fs_del_rule(sa_entry); in mlx5e_accel_ipsec_fs_modify()
2081 memcpy(sa_entry, &sa_entry_shadow, sizeof(*sa_entry)); in mlx5e_accel_ipsec_fs_modify()
2084 bool mlx5e_ipsec_fs_tunnel_enabled(struct mlx5e_ipsec_sa_entry *sa_entry) in mlx5e_ipsec_fs_tunnel_enabled() argument
2086 struct mlx5_accel_esp_xfrm_attrs *attrs = &sa_entry->attrs; in mlx5e_ipsec_fs_tunnel_enabled()
2090 rx = ipsec_rx(sa_entry->ipsec, attrs->family, attrs->type); in mlx5e_ipsec_fs_tunnel_enabled()
2091 tx = ipsec_tx(sa_entry->ipsec, attrs->type); in mlx5e_ipsec_fs_tunnel_enabled()
2092 if (sa_entry->attrs.dir == XFRM_DEV_OFFLOAD_OUT) in mlx5e_ipsec_fs_tunnel_enabled()