mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-24 06:44:23 +08:00
mlx4_core: Move DMFS HW structs to common header file
Move flow steering HW structures to be on the public mlx4 include directory, as a pre-step for the mlx4 IB driver to use them too. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
3528f69637
commit
3cd0e1789a
@ -701,85 +701,6 @@ struct mlx4_steer {
|
||||
struct list_head steer_entries[MLX4_NUM_STEERS];
|
||||
};
|
||||
|
||||
struct mlx4_net_trans_rule_hw_ctrl {
|
||||
__be32 ctrl;
|
||||
u8 rsvd1;
|
||||
u8 funcid;
|
||||
u8 vep;
|
||||
u8 port;
|
||||
__be32 qpn;
|
||||
__be32 rsvd2;
|
||||
};
|
||||
|
||||
struct mlx4_net_trans_rule_hw_ib {
|
||||
u8 size;
|
||||
u8 rsvd1;
|
||||
__be16 id;
|
||||
u32 rsvd2;
|
||||
__be32 qpn;
|
||||
__be32 qpn_mask;
|
||||
u8 dst_gid[16];
|
||||
u8 dst_gid_msk[16];
|
||||
} __packed;
|
||||
|
||||
struct mlx4_net_trans_rule_hw_eth {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
u8 rsvd1[6];
|
||||
u8 dst_mac[6];
|
||||
u16 rsvd2;
|
||||
u8 dst_mac_msk[6];
|
||||
u16 rsvd3;
|
||||
u8 src_mac[6];
|
||||
u16 rsvd4;
|
||||
u8 src_mac_msk[6];
|
||||
u8 rsvd5;
|
||||
u8 ether_type_enable;
|
||||
__be16 ether_type;
|
||||
__be16 vlan_id_msk;
|
||||
__be16 vlan_id;
|
||||
} __packed;
|
||||
|
||||
struct mlx4_net_trans_rule_hw_tcp_udp {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
__be16 rsvd1[3];
|
||||
__be16 dst_port;
|
||||
__be16 rsvd2;
|
||||
__be16 dst_port_msk;
|
||||
__be16 rsvd3;
|
||||
__be16 src_port;
|
||||
__be16 rsvd4;
|
||||
__be16 src_port_msk;
|
||||
} __packed;
|
||||
|
||||
struct mlx4_net_trans_rule_hw_ipv4 {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
__be32 rsvd1;
|
||||
__be32 dst_ip;
|
||||
__be32 dst_ip_msk;
|
||||
__be32 src_ip;
|
||||
__be32 src_ip_msk;
|
||||
} __packed;
|
||||
|
||||
struct _rule_hw {
|
||||
union {
|
||||
struct {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
};
|
||||
struct mlx4_net_trans_rule_hw_eth eth;
|
||||
struct mlx4_net_trans_rule_hw_ib ib;
|
||||
struct mlx4_net_trans_rule_hw_ipv4 ipv4;
|
||||
struct mlx4_net_trans_rule_hw_tcp_udp tcp_udp;
|
||||
};
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX4_PCI_DEV_IS_VF = 1 << 0,
|
||||
MLX4_PCI_DEV_FORCE_SENSE_PORT = 1 << 1,
|
||||
|
@ -962,6 +962,85 @@ struct mlx4_net_trans_rule {
|
||||
u32 qpn;
|
||||
};
|
||||
|
||||
struct mlx4_net_trans_rule_hw_ctrl {
|
||||
__be32 ctrl;
|
||||
u8 rsvd1;
|
||||
u8 funcid;
|
||||
u8 vep;
|
||||
u8 port;
|
||||
__be32 qpn;
|
||||
__be32 rsvd2;
|
||||
};
|
||||
|
||||
struct mlx4_net_trans_rule_hw_ib {
|
||||
u8 size;
|
||||
u8 rsvd1;
|
||||
__be16 id;
|
||||
u32 rsvd2;
|
||||
__be32 qpn;
|
||||
__be32 qpn_mask;
|
||||
u8 dst_gid[16];
|
||||
u8 dst_gid_msk[16];
|
||||
} __packed;
|
||||
|
||||
struct mlx4_net_trans_rule_hw_eth {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
u8 rsvd1[6];
|
||||
u8 dst_mac[6];
|
||||
u16 rsvd2;
|
||||
u8 dst_mac_msk[6];
|
||||
u16 rsvd3;
|
||||
u8 src_mac[6];
|
||||
u16 rsvd4;
|
||||
u8 src_mac_msk[6];
|
||||
u8 rsvd5;
|
||||
u8 ether_type_enable;
|
||||
__be16 ether_type;
|
||||
__be16 vlan_id_msk;
|
||||
__be16 vlan_id;
|
||||
} __packed;
|
||||
|
||||
struct mlx4_net_trans_rule_hw_tcp_udp {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
__be16 rsvd1[3];
|
||||
__be16 dst_port;
|
||||
__be16 rsvd2;
|
||||
__be16 dst_port_msk;
|
||||
__be16 rsvd3;
|
||||
__be16 src_port;
|
||||
__be16 rsvd4;
|
||||
__be16 src_port_msk;
|
||||
} __packed;
|
||||
|
||||
struct mlx4_net_trans_rule_hw_ipv4 {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
__be32 rsvd1;
|
||||
__be32 dst_ip;
|
||||
__be32 dst_ip_msk;
|
||||
__be32 src_ip;
|
||||
__be32 src_ip_msk;
|
||||
} __packed;
|
||||
|
||||
struct _rule_hw {
|
||||
union {
|
||||
struct {
|
||||
u8 size;
|
||||
u8 rsvd;
|
||||
__be16 id;
|
||||
};
|
||||
struct mlx4_net_trans_rule_hw_eth eth;
|
||||
struct mlx4_net_trans_rule_hw_ib ib;
|
||||
struct mlx4_net_trans_rule_hw_ipv4 ipv4;
|
||||
struct mlx4_net_trans_rule_hw_tcp_udp tcp_udp;
|
||||
};
|
||||
};
|
||||
|
||||
int mlx4_flow_steer_promisc_add(struct mlx4_dev *dev, u8 port, u32 qpn,
|
||||
enum mlx4_net_trans_promisc_mode mode);
|
||||
int mlx4_flow_steer_promisc_remove(struct mlx4_dev *dev, u8 port,
|
||||
|
Loading…
Reference in New Issue
Block a user