txheader.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * drivers/net/ethernet/mellanox/mlxsw/txheader.h
  3. * Copyright (c) 2015 Mellanox Technologies. All rights reserved.
  4. * Copyright (c) 2015 Ido Schimmel <idosch@mellanox.com>
  5. * Copyright (c) 2015 Jiri Pirko <jiri@mellanox.com>
  6. *
  7. * Redistribution and use in source and binary forms, with or without
  8. * modification, are permitted provided that the following conditions are met:
  9. *
  10. * 1. Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * 2. Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. * 3. Neither the names of the copyright holders nor the names of its
  16. * contributors may be used to endorse or promote products derived from
  17. * this software without specific prior written permission.
  18. *
  19. * Alternatively, this software may be distributed under the terms of the
  20. * GNU General Public License ("GPL") version 2 as published by the Free
  21. * Software Foundation.
  22. *
  23. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  24. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  25. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  26. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  27. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  28. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  29. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  30. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  31. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  32. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  33. * POSSIBILITY OF SUCH DAMAGE.
  34. */
  35. #ifndef _MLXSW_TXHEADER_H
  36. #define _MLXSW_TXHEADER_H
  37. #define MLXSW_TXHDR_LEN 0x10
  38. #define MLXSW_TXHDR_VERSION_0 0
  39. #define MLXSW_TXHDR_VERSION_1 1
  40. enum {
  41. MLXSW_TXHDR_ETH_CTL,
  42. MLXSW_TXHDR_ETH_DATA,
  43. };
  44. #define MLXSW_TXHDR_PROTO_ETH 1
  45. enum {
  46. MLXSW_TXHDR_ETCLASS_0,
  47. MLXSW_TXHDR_ETCLASS_1,
  48. MLXSW_TXHDR_ETCLASS_2,
  49. MLXSW_TXHDR_ETCLASS_3,
  50. MLXSW_TXHDR_ETCLASS_4,
  51. MLXSW_TXHDR_ETCLASS_5,
  52. MLXSW_TXHDR_ETCLASS_6,
  53. MLXSW_TXHDR_ETCLASS_7,
  54. };
  55. enum {
  56. MLXSW_TXHDR_RDQ_OTHER,
  57. MLXSW_TXHDR_RDQ_EMAD = 0x1f,
  58. };
  59. #define MLXSW_TXHDR_CTCLASS3 0
  60. #define MLXSW_TXHDR_CPU_SIG 0
  61. #define MLXSW_TXHDR_SIG 0xE0E0
  62. #define MLXSW_TXHDR_STCLASS_NONE 0
  63. enum {
  64. MLXSW_TXHDR_NOT_EMAD,
  65. MLXSW_TXHDR_EMAD,
  66. };
  67. enum {
  68. MLXSW_TXHDR_TYPE_DATA,
  69. MLXSW_TXHDR_TYPE_CONTROL = 6,
  70. };
  71. #endif