diff options
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/mlx4.h | 79 | ||||
-rw-r--r-- | include/linux/mlx4/device.h | 79 |
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 | ||
704 | struct 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 | |||
714 | struct 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 | |||
725 | struct 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 | |||
744 | struct 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 | |||
758 | struct 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 | |||
769 | struct _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 | |||
783 | enum { | 704 | enum { |
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 | ||
965 | struct 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 | |||
975 | struct 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 | |||
986 | struct 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 | |||
1005 | struct 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 | |||
1019 | struct 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 | |||
1030 | struct _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 | |||
965 | int mlx4_flow_steer_promisc_add(struct mlx4_dev *dev, u8 port, u32 qpn, | 1044 | int 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); |
967 | int mlx4_flow_steer_promisc_remove(struct mlx4_dev *dev, u8 port, | 1046 | int mlx4_flow_steer_promisc_remove(struct mlx4_dev *dev, u8 port, |