|
@@ -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,
|