diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/mlx4/cmd.h | 29 | ||||
| -rw-r--r-- | include/linux/mlx4/device.h | 3 |
2 files changed, 31 insertions, 1 deletions
diff --git a/include/linux/mlx4/cmd.h b/include/linux/mlx4/cmd.h index ff5f5deb3dcf..64d25941b329 100644 --- a/include/linux/mlx4/cmd.h +++ b/include/linux/mlx4/cmd.h | |||
| @@ -199,6 +199,33 @@ enum { | |||
| 199 | MLX4_CMD_NATIVE | 199 | MLX4_CMD_NATIVE |
| 200 | }; | 200 | }; |
| 201 | 201 | ||
| 202 | /* | ||
| 203 | * MLX4_RX_CSUM_MODE_VAL_NON_TCP_UDP - | ||
| 204 | * Receive checksum value is reported in CQE also for non TCP/UDP packets. | ||
| 205 | * | ||
| 206 | * MLX4_RX_CSUM_MODE_L4 - | ||
| 207 | * L4_CSUM bit in CQE, which indicates whether or not L4 checksum | ||
| 208 | * was validated correctly, is supported. | ||
| 209 | * | ||
| 210 | * MLX4_RX_CSUM_MODE_IP_OK_IP_NON_TCP_UDP - | ||
| 211 | * IP_OK CQE's field is supported also for non TCP/UDP IP packets. | ||
| 212 | * | ||
| 213 | * MLX4_RX_CSUM_MODE_MULTI_VLAN - | ||
| 214 | * Receive Checksum offload is supported for packets with more than 2 vlan headers. | ||
| 215 | */ | ||
| 216 | enum mlx4_rx_csum_mode { | ||
| 217 | MLX4_RX_CSUM_MODE_VAL_NON_TCP_UDP = 1UL << 0, | ||
| 218 | MLX4_RX_CSUM_MODE_L4 = 1UL << 1, | ||
| 219 | MLX4_RX_CSUM_MODE_IP_OK_IP_NON_TCP_UDP = 1UL << 2, | ||
| 220 | MLX4_RX_CSUM_MODE_MULTI_VLAN = 1UL << 3 | ||
| 221 | }; | ||
| 222 | |||
| 223 | struct mlx4_config_dev_params { | ||
| 224 | u16 vxlan_udp_dport; | ||
| 225 | u8 rx_csum_flags_port_1; | ||
| 226 | u8 rx_csum_flags_port_2; | ||
| 227 | }; | ||
| 228 | |||
| 202 | struct mlx4_dev; | 229 | struct mlx4_dev; |
| 203 | 230 | ||
| 204 | struct mlx4_cmd_mailbox { | 231 | struct mlx4_cmd_mailbox { |
| @@ -250,6 +277,8 @@ int mlx4_set_vf_vlan(struct mlx4_dev *dev, int port, int vf, u16 vlan, u8 qos); | |||
| 250 | int mlx4_set_vf_spoofchk(struct mlx4_dev *dev, int port, int vf, bool setting); | 277 | int mlx4_set_vf_spoofchk(struct mlx4_dev *dev, int port, int vf, bool setting); |
| 251 | int mlx4_get_vf_config(struct mlx4_dev *dev, int port, int vf, struct ifla_vf_info *ivf); | 278 | int mlx4_get_vf_config(struct mlx4_dev *dev, int port, int vf, struct ifla_vf_info *ivf); |
| 252 | int mlx4_set_vf_link_state(struct mlx4_dev *dev, int port, int vf, int link_state); | 279 | int mlx4_set_vf_link_state(struct mlx4_dev *dev, int port, int vf, int link_state); |
| 280 | int mlx4_config_dev_retrieval(struct mlx4_dev *dev, | ||
| 281 | struct mlx4_config_dev_params *params); | ||
| 253 | /* | 282 | /* |
| 254 | * mlx4_get_slave_default_vlan - | 283 | * mlx4_get_slave_default_vlan - |
| 255 | * return true if VST ( default vlan) | 284 | * return true if VST ( default vlan) |
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index e4c136ebe79b..5cc5eac47d1b 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
| @@ -188,7 +188,8 @@ enum { | |||
| 188 | MLX4_DEV_CAP_FLAG2_CQE_STRIDE = 1LL << 12, | 188 | MLX4_DEV_CAP_FLAG2_CQE_STRIDE = 1LL << 12, |
| 189 | MLX4_DEV_CAP_FLAG2_EQE_STRIDE = 1LL << 13, | 189 | MLX4_DEV_CAP_FLAG2_EQE_STRIDE = 1LL << 13, |
| 190 | MLX4_DEV_CAP_FLAG2_ETH_PROT_CTRL = 1LL << 14, | 190 | MLX4_DEV_CAP_FLAG2_ETH_PROT_CTRL = 1LL << 14, |
| 191 | MLX4_DEV_CAP_FLAG2_ETH_BACKPL_AN_REP = 1LL << 15 | 191 | MLX4_DEV_CAP_FLAG2_ETH_BACKPL_AN_REP = 1LL << 15, |
| 192 | MLX4_DEV_CAP_FLAG2_CONFIG_DEV = 1LL << 16 | ||
| 192 | }; | 193 | }; |
| 193 | 194 | ||
| 194 | enum { | 195 | enum { |
