^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (c) 2020 Mellanox Technologies. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #ifndef _RDMA_LAG_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define _RDMA_LAG_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include <net/lag.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) struct ib_device;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) struct rdma_ah_attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) enum rdma_lag_flags {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) RDMA_LAG_FLAGS_HASH_ALL_SLAVES = 1 << 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) void rdma_lag_put_ah_roce_slave(struct net_device *xmit_slave);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) struct net_device *rdma_lag_get_ah_roce_slave(struct ib_device *device,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) struct rdma_ah_attr *ah_attr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) gfp_t flags);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #endif /* _RDMA_LAG_H_ */