/* * Copyright (c) 2007 Mellanox Technologies. All rights reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU * General Public License (GPL) Version 2, available from the file * COPYING in the main directory of this source tree, or the * OpenIB.org BSD license below: * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above * copyright notice, this list of conditions and the following * disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * */ #ifndef _MLX4_EN_PORT_H_ #define _MLX4_EN_PORT_H_ #define SET_PORT_PROMISC_SHIFT 31 #define SET_PORT_MC_PROMISC_SHIFT 30 #define MLX4_EN_NUM_TC 8 #define VLAN_FLTR_SIZE 128 struct mlx4_set_vlan_fltr_mbox { __be32 entry[VLAN_FLTR_SIZE]; }; enum { MLX4_MCAST_CONFIG = 0, MLX4_MCAST_DISABLE = 1, MLX4_MCAST_ENABLE = 2, }; enum mlx4_link_mode { MLX4_1000BASE_CX_SGMII = 0, MLX4_1000BASE_KX = 1, MLX4_10GBASE_CX4 = 2, MLX4_10GBASE_KX4 = 3, MLX4_10GBASE_KR = 4, MLX4_20GBASE_KR2 = 5, MLX4_40GBASE_CR4 = 6, MLX4_40GBASE_KR4 = 7, MLX4_56GBASE_KR4 = 8, MLX4_10GBASE_CR = 12, MLX4_10GBASE_SR = 13, MLX4_40GBASE_SR4 = 15, MLX4_56GBASE_CR4 = 17, MLX4_56GBASE_SR4 = 18, MLX4_100BASE_TX = 24, MLX4_1000BASE_T = 25, MLX4_10GBASE_T = 26, }; #define MLX4_PROT_MASK(link_mode) (1<