aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/mlx4.h79
-rw-r--r--include/linux/mlx4/device.h79
2 files changed, 79 insertions, 79 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4.h b/drivers/net/ethernet/mellanox/mlx4/mlx4.h
index d738454116a0..d5fdb19771e2 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mlx4.h
+++ b/drivers/net/ethernet/mellanox/mlx4/mlx4.h
@@ -701,85 +701,6 @@ struct mlx4_steer {
701 struct list_head steer_entries[MLX4_NUM_STEERS]; 701 struct list_head steer_entries[MLX4_NUM_STEERS];
702}; 702};
703 703
704struct mlx4_net_trans_rule_hw_ctrl {
705 __be32 ctrl;
706 u8 rsvd1;
707 u8 funcid;
708 u8 vep;
709 u8 port;
710 __be32 qpn;
711 __be32 rsvd2;
712};
713
714struct mlx4_net_trans_rule_hw_ib {
715 u8 size;
716 u8 rsvd1;
717 __be16 id;
718 u32 rsvd2;
719 __be32 qpn;
720 __be32 qpn_mask;
721 u8 dst_gid[16];
722 u8 dst_gid_msk[16];
723} __packed;
724
725struct mlx4_net_trans_rule_hw_eth {
726 u8 size;
727 u8 rsvd;
728 __be16 id;
729 u8 rsvd1[6];
730 u8 dst_mac[6];
731 u16 rsvd2;
732 u8 dst_mac_msk[6];
733 u16 rsvd3;
734 u8 src_mac[6];
735 u16 rsvd4;
736 u8 src_mac_msk[6];
737 u8 rsvd5;
738 u8 ether_type_enable;
739 __be16 ether_type;
740 __be16 vlan_id_msk;
741 __be16 vlan_id;
742} __packed;
743
744struct mlx4_net_trans_rule_hw_tcp_udp {
745 u8 size;
746 u8 rsvd;
747 __be16 id;
748 __be16 rsvd1[3];
749 __be16 dst_port;
750 __be16 rsvd2;
751 __be16 dst_port_msk;
752 __be16 rsvd3;
753 __be16 src_port;
754 __be16 rsvd4;
755 __be16 src_port_msk;
756} __packed;
757
758struct mlx4_net_trans_rule_hw_ipv4 {
759 u8 size;
760 u8 rsvd;
761 __be16 id;
762 __be32 rsvd1;
763 __be32 dst_ip;
764 __be32 dst_ip_msk;
765 __be32 src_ip;
766 __be32 src_ip_msk;
767} __packed;
768
769struct _rule_hw {
770 union {
771 struct {
772 u8 size;
773 u8 rsvd;
774 __be16 id;
775 };
776 struct mlx4_net_trans_rule_hw_eth eth;
777 struct mlx4_net_trans_rule_hw_ib ib;
778 struct mlx4_net_trans_rule_hw_ipv4 ipv4;
779 struct mlx4_net_trans_rule_hw_tcp_udp tcp_udp;
780 };
781};
782
783enum { 704enum {
784 MLX4_PCI_DEV_IS_VF = 1 << 0, 705 MLX4_PCI_DEV_IS_VF = 1 << 0,
785 MLX4_PCI_DEV_FORCE_SENSE_PORT = 1 << 1, 706 MLX4_PCI_DEV_FORCE_SENSE_PORT = 1 << 1,
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 811f91cf5e8c..9fbf416fa694 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -962,6 +962,85 @@ struct mlx4_net_trans_rule {
962 u32 qpn; 962 u32 qpn;
963}; 963};
964 964
965struct mlx4_net_trans_rule_hw_ctrl {
966 __be32 ctrl;
967 u8 rsvd1;
968 u8 funcid;
969 u8 vep;
970 u8 port;
971 __be32 qpn;
972 __be32 rsvd2;
973};
974
975struct mlx4_net_trans_rule_hw_ib {
976 u8 size;
977 u8 rsvd1;
978 __be16 id;
979 u32 rsvd2;
980 __be32 qpn;
981 __be32 qpn_mask;
982 u8 dst_gid[16];
983 u8 dst_gid_msk[16];
984} __packed;
985
986struct mlx4_net_trans_rule_hw_eth {
987 u8 size;
988 u8 rsvd;
989 __be16 id;
990 u8 rsvd1[6];
991 u8 dst_mac[6];
992 u16 rsvd2;
993 u8 dst_mac_msk[6];
994 u16 rsvd3;
995 u8 src_mac[6];
996 u16 rsvd4;
997 u8 src_mac_msk[6];
998 u8 rsvd5;
999 u8 ether_type_enable;
1000 __be16 ether_type;
1001 __be16 vlan_id_msk;
1002 __be16 vlan_id;
1003} __packed;
1004
1005struct mlx4_net_trans_rule_hw_tcp_udp {
1006 u8 size;
1007 u8 rsvd;
1008 __be16 id;
1009 __be16 rsvd1[3];
1010 __be16 dst_port;
1011 __be16 rsvd2;
1012 __be16 dst_port_msk;
1013 __be16 rsvd3;
1014 __be16 src_port;
1015 __be16 rsvd4;
1016 __be16 src_port_msk;
1017} __packed;
1018
1019struct mlx4_net_trans_rule_hw_ipv4 {
1020 u8 size;
1021 u8 rsvd;
1022 __be16 id;
1023 __be32 rsvd1;
1024 __be32 dst_ip;
1025 __be32 dst_ip_msk;
1026 __be32 src_ip;
1027 __be32 src_ip_msk;
1028} __packed;
1029
1030struct _rule_hw {
1031 union {
1032 struct {
1033 u8 size;
1034 u8 rsvd;
1035 __be16 id;
1036 };
1037 struct mlx4_net_trans_rule_hw_eth eth;
1038 struct mlx4_net_trans_rule_hw_ib ib;
1039 struct mlx4_net_trans_rule_hw_ipv4 ipv4;
1040 struct mlx4_net_trans_rule_hw_tcp_udp tcp_udp;
1041 };
1042};
1043
965int mlx4_flow_steer_promisc_add(struct mlx4_dev *dev, u8 port, u32 qpn, 1044int mlx4_flow_steer_promisc_add(struct mlx4_dev *dev, u8 port, u32 qpn,
966 enum mlx4_net_trans_promisc_mode mode); 1045 enum mlx4_net_trans_promisc_mode mode);
967int mlx4_flow_steer_promisc_remove(struct mlx4_dev *dev, u8 port, 1046int mlx4_flow_steer_promisc_remove(struct mlx4_dev *dev, u8 port,