/linux/net/xfrm/ |
H A D | xfrm_device.c | 133 if (xo->flags & XFRM_GRO || x->xso.dir == XFRM_DEV_OFFLOAD_IN) in validate_xmit_xfrm() 140 if (x->xso.type == XFRM_DEV_OFFLOAD_PACKET && x->xso.dev != dev) { in validate_xmit_xfrm() 147 if ((x->xso.dev != dev) && (x->xso.real_dev == dev)) in validate_xmit_xfrm() 160 if (skb_is_gso(skb) && (unlikely(x->xso.dev != dev) || in validate_xmit_xfrm() 240 struct xfrm_dev_offload *xso = &x->xso; in xfrm_dev_state_add() local 298 xso->dev = NULL; in xfrm_dev_state_add() 306 xso->dev = NULL; in xfrm_dev_state_add() 311 xso->dev = dev; in xfrm_dev_state_add() 312 netdev_tracker_alloc(dev, &xso->dev_tracker, GFP_ATOMIC); in xfrm_dev_state_add() 313 xso->real_dev = dev; in xfrm_dev_state_add() [all …]
|
H A D | xfrm_state.c | 94 if (_x->xso.type == XFRM_DEV_OFFLOAD_PACKET) \ 100 if (!_x || _x->xso.type == XFRM_DEV_OFFLOAD_PACKET) \ 123 XFRM_STATE_INSERT(bydst, &x->bydst, ndsttable + h, x->xso.type); in xfrm_hash_transfer() 128 XFRM_STATE_INSERT(bysrc, &x->bysrc, nsrctable + h, x->xso.type); in xfrm_hash_transfer() 135 x->xso.type); in xfrm_hash_transfer() 141 x->xso.type); in xfrm_hash_transfer() 691 struct xfrm_dev_offload *xso = &x->xso; in xfrm_dev_state_delete() local 692 struct net_device *dev = READ_ONCE(xso->dev); in xfrm_dev_state_delete() 705 struct xfrm_dev_offload *xso = &x->xso; in xfrm_dev_state_free() local 706 struct net_device *dev = READ_ONCE(xso->dev); in xfrm_dev_state_free() [all …]
|
H A D | xfrm_output.c | 496 if (err <= 0 || x->xso.type == XFRM_DEV_OFFLOAD_PACKET) in xfrm_output_one() 710 family = (x->xso.type != XFRM_DEV_OFFLOAD_PACKET) ? x->outer_mode.family in xfrm_output() 725 if (x->xso.type == XFRM_DEV_OFFLOAD_PACKET) { in xfrm_output() 762 if (x->xso.dev && x->xso.dev->features & NETIF_F_HW_ESP_TX_CSUM) in xfrm_output()
|
H A D | xfrm_user.c | 1011 if (x->xso.dev) in copy_to_user_state() 1054 static int copy_user_offload(struct xfrm_dev_offload *xso, struct sk_buff *skb) in copy_user_offload() argument 1065 xuo->ifindex = xso->dev->ifindex; in copy_user_offload() 1066 if (xso->dir == XFRM_DEV_OFFLOAD_IN) in copy_user_offload() 1068 if (xso->type == XFRM_DEV_OFFLOAD_PACKET) in copy_user_offload() 1280 if(x->xso.dev) in copy_to_user_state_extra() 1281 ret = copy_user_offload(&x->xso, skb); in copy_to_user_state_extra() 3476 if (x->xso.dev) in xfrm_sa_len()
|
H A D | xfrm_policy.c | 2720 if (xfrm[i]->xso.type != XFRM_DEV_OFFLOAD_PACKET) in xfrm_bundle_create() 3739 (xfrm_input_state(skb)->xso.type == XFRM_DEV_OFFLOAD_CRYPTO); in __xfrm_policy_check()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
H A D | ipsec.c | 51 return (struct mlx5e_ipsec_sa_entry *)x->xso.offload_handle; in to_ipsec_sa_entry() 97 switch (x->xso.type) { in mlx5e_ipsec_update_esn_state() 99 switch (x->xso.dir) { in mlx5e_ipsec_update_esn_state() 127 if (x->xso.type == XFRM_DEV_OFFLOAD_CRYPTO) in mlx5e_ipsec_update_esn_state() 280 netdev = x->xso.real_dev; in mlx5e_ipsec_init_macs() 345 attrs->dir = x->xso.dir; in mlx5e_ipsec_build_accel_xfrm_attrs() 387 attrs->type = x->xso.type; in mlx5e_ipsec_build_accel_xfrm_attrs() 447 if (x->xso.type != XFRM_DEV_OFFLOAD_PACKET) { in mlx5e_xfrm_validate_state() 494 switch (x->xso.type) { in mlx5e_xfrm_validate_state() 515 if (x->replay_esn && x->xso.dir == XFRM_DEV_OFFLOAD_IN && in mlx5e_xfrm_validate_state() [all …]
|
H A D | ipsec_rxtx.c | 236 if (unlikely(!x->xso.offload_handle || in mlx5e_ipsec_tx_build_eseg() 283 if (unlikely(!x->xso.offload_handle || in mlx5e_ipsec_handle_tx_skb() 296 sa_entry = (struct mlx5e_ipsec_sa_entry *)x->xso.offload_handle; in mlx5e_ipsec_handle_tx_skb()
|
H A D | ipsec_rxtx.h | 97 if (!x || !x->xso.offload_handle) in mlx5e_ipsec_feature_check()
|
/linux/drivers/net/netdevsim/ |
H A D | ipsec.c | 88 struct net_device *dev = xs->xso.real_dev; in nsim_ipsec_parse_proto_keys() 138 dev = xs->xso.real_dev; in nsim_ipsec_add_sa() 152 if (xs->xso.type != XFRM_DEV_OFFLOAD_CRYPTO) { in nsim_ipsec_add_sa() 179 if (xs->xso.dir == XFRM_DEV_OFFLOAD_IN) { in nsim_ipsec_add_sa() 194 xs->xso.offload_handle = sa_idx | NSIM_IPSEC_VALID; in nsim_ipsec_add_sa() 202 struct netdevsim *ns = netdev_priv(xs->xso.real_dev); in nsim_ipsec_del_sa() 206 sa_idx = xs->xso.offload_handle & ~NSIM_IPSEC_VALID; in nsim_ipsec_del_sa() 219 struct netdevsim *ns = netdev_priv(xs->xso.real_dev); in nsim_ipsec_offload_ok() 257 sa_idx = xs->xso.offload_handle & ~NSIM_IPSEC_VALID; in nsim_ipsec_tx()
|
/linux/drivers/net/ethernet/intel/ixgbevf/ |
H A D | ipsec.c | 28 sam->dir = xs->xso.dir; in ixgbevf_ipsec_set_pf_sa() 214 struct net_device *dev = xs->xso.real_dev; in ixgbevf_ipsec_parse_proto_keys() 265 struct net_device *dev = xs->xso.real_dev; in ixgbevf_ipsec_add_sa() 284 if (xs->xso.type != XFRM_DEV_OFFLOAD_CRYPTO) { in ixgbevf_ipsec_add_sa() 289 if (xs->xso.dir == XFRM_DEV_OFFLOAD_IN) { in ixgbevf_ipsec_add_sa() 341 xs->xso.offload_handle = sa_idx + IXGBE_IPSEC_BASE_RX_INDEX; in ixgbevf_ipsec_add_sa() 381 xs->xso.offload_handle = sa_idx + IXGBE_IPSEC_BASE_TX_INDEX; in ixgbevf_ipsec_add_sa() 395 struct net_device *dev = xs->xso.real_dev; in ixgbevf_ipsec_del_sa() 403 if (xs->xso.dir == XFRM_DEV_OFFLOAD_IN) { in ixgbevf_ipsec_del_sa() 404 sa_idx = xs->xso.offload_handle - IXGBE_IPSEC_BASE_RX_INDEX; in ixgbevf_ipsec_del_sa() [all …]
|
/linux/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_ipsec.c | 430 struct net_device *dev = xs->xso.real_dev; in ixgbe_ipsec_parse_proto_keys() 480 struct net_device *dev = xs->xso.real_dev; in ixgbe_ipsec_check_mgmt_ip() 565 struct net_device *dev = xs->xso.real_dev; in ixgbe_ipsec_add_sa() 589 if (xs->xso.type != XFRM_DEV_OFFLOAD_CRYPTO) { in ixgbe_ipsec_add_sa() 594 if (xs->xso.dir == XFRM_DEV_OFFLOAD_IN) { in ixgbe_ipsec_add_sa() 698 xs->xso.offload_handle = sa_idx + IXGBE_IPSEC_BASE_RX_INDEX; in ixgbe_ipsec_add_sa() 739 xs->xso.offload_handle = sa_idx + IXGBE_IPSEC_BASE_TX_INDEX; in ixgbe_ipsec_add_sa() 759 struct net_device *dev = xs->xso.real_dev; in ixgbe_ipsec_del_sa() 766 if (xs->xso.dir == XFRM_DEV_OFFLOAD_IN) { in ixgbe_ipsec_del_sa() 770 sa_idx = xs->xso.offload_handle - IXGBE_IPSEC_BASE_RX_INDEX; in ixgbe_ipsec_del_sa() [all …]
|
/linux/drivers/net/ethernet/netronome/nfp/nfdk/ |
H A D | ipsec.c | 14 if (x->xso.dev && (x->xso.dev->features & NETIF_F_HW_ESP_TX_CSUM)) { in nfp_nfdk_ipsec_tx()
|
/linux/drivers/net/ethernet/netronome/nfp/crypto/ |
H A D | ipsec.c | 272 struct net_device *netdev = x->xso.real_dev; in nfp_net_xfrm_add_state() 312 if (x->xso.type != XFRM_DEV_OFFLOAD_CRYPTO) { in nfp_net_xfrm_add_state() 523 cfg->ctrl_word.dir = x->xso.dir; in nfp_net_xfrm_add_state() 545 x->xso.offload_handle = saidx + 1; in nfp_net_xfrm_add_state() 553 .sa_idx = x->xso.offload_handle - 1, in nfp_net_xfrm_del_state() 555 struct net_device *netdev = x->xso.real_dev; in nfp_net_xfrm_del_state() 565 xa_erase(&nn->xa_ipsec, x->xso.offload_handle - 1); in nfp_net_xfrm_del_state() 614 offload_info->handle = x->xso.offload_handle; in nfp_net_ipsec_tx_prep()
|
/linux/drivers/net/ethernet/netronome/nfp/nfd3/ |
H A D | ipsec.c | 17 if (x->xso.dev && (x->xso.dev->features & NETIF_F_HW_ESP_TX_CSUM)) { in nfp_nfd3_ipsec_tx()
|
/linux/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/ |
H A D | chcr_ipsec.c | 286 if (x->xso.type != XFRM_DEV_OFFLOAD_CRYPTO) { in ch_ipsec_xfrm_add_state() 301 x->xso.offload_handle = (unsigned long)sa_entry; in ch_ipsec_xfrm_add_state() 310 if (!x->xso.offload_handle) in ch_ipsec_xfrm_del_state() 318 if (!x->xso.offload_handle) in ch_ipsec_xfrm_free_state() 321 sa_entry = (struct ipsec_sa_entry *)x->xso.offload_handle; in ch_ipsec_xfrm_free_state() 343 if (!x->xso.offload_handle) in ch_ipsec_advance_esn_state() 722 if (!x->xso.offload_handle) in ch_ipsec_xmit() 725 sa_entry = (struct ipsec_sa_entry *)x->xso.offload_handle; in ch_ipsec_xmit()
|
/linux/include/net/ |
H A D | xfrm.h | 276 struct xfrm_dev_offload xso; member 1220 if (x->xso.type == XFRM_DEV_OFFLOAD_PACKET) in __xfrm_policy_check2() 1631 struct xfrm_dev_offload *xdo = &x->xso; in xfrm_dev_state_update_stats() 1992 struct xfrm_dev_offload *xso = &x->xso; in xfrm_dev_state_advance_esn() local 1993 struct net_device *dev = READ_ONCE(xso->dev); in xfrm_dev_state_advance_esn() 2008 if (!x->xso.offload_handle && !xdst->child->xfrm) in xfrm_dst_offload_ok() 2010 if (x->xso.offload_handle && (x->xso.dev == xfrm_dst_path(dst)->dev) && in xfrm_dst_offload_ok()
|
/linux/net/ipv6/ |
H A D | esp6_offload.c | 275 if (!(features & NETIF_F_HW_ESP) || x->xso.dev != skb->dev) in esp6_gso_segment() 320 if (!(features & NETIF_F_HW_ESP) || x->xso.dev != skb->dev) { in esp6_xmit()
|
/linux/net/ipv4/ |
H A D | esp4_offload.c | 236 !(features & NETIF_F_HW_ESP)) || x->xso.dev != skb->dev) in esp4_gso_segment() 285 x->xso.dev != skb->dev) { in esp_xmit()
|
/linux/drivers/net/bonding/ |
H A D | bond_main.c | 431 struct net_device *bond_dev = xs->xso.dev; in bond_ipsec_dev() 446 if (!xs->xso.real_dev) in bond_ipsec_dev() 449 if (xs->xso.real_dev != slave->dev) in bond_ipsec_dev() 451 bond_dev->name, slave->dev->name, xs->xso.real_dev->name); in bond_ipsec_dev() 464 struct net_device *bond_dev = xs->xso.dev; in bond_ipsec_add_sa() 500 xs->xso.real_dev = real_dev; in bond_ipsec_add_sa() 541 if (ipsec->xs->xso.real_dev == real_dev) in bond_ipsec_add_sa_all() 544 ipsec->xs->xso.real_dev = real_dev; in bond_ipsec_add_sa_all() 547 ipsec->xs->xso.real_dev = NULL; in bond_ipsec_add_sa_all() 560 struct net_device *bond_dev = xs->xso.dev; in bond_ipsec_del_sa() [all …]
|
/linux/Documentation/networking/ |
H A D | xfrm_device.rst | 121 xs->xso.offload_handle = context; 137 context = xs->xso.offload_handle;
|
/linux/drivers/net/ethernet/chelsio/cxgb4/ |
H A D | cxgb4_main.c | 6495 struct adapter *adap = netdev2adap(x->xso.dev); in cxgb4_xfrm_add_state() 6516 struct adapter *adap = netdev2adap(x->xso.dev); in cxgb4_xfrm_del_state() 6534 struct adapter *adap = netdev2adap(x->xso.dev); in cxgb4_xfrm_free_state() 6552 struct adapter *adap = netdev2adap(x->xso.dev); in cxgb4_ipsec_offload_ok() 6572 struct adapter *adap = netdev2adap(x->xso.dev); in cxgb4_advance_esn_state()
|