txheader.h 887 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
  2. /* Copyright (c) 2015-2018 Mellanox Technologies. All rights reserved */
  3. #ifndef _MLXSW_TXHEADER_H
  4. #define _MLXSW_TXHEADER_H
  5. #define MLXSW_TXHDR_LEN 0x10
  6. #define MLXSW_TXHDR_VERSION_0 0
  7. #define MLXSW_TXHDR_VERSION_1 1
  8. enum {
  9. MLXSW_TXHDR_ETH_CTL,
  10. MLXSW_TXHDR_ETH_DATA,
  11. };
  12. #define MLXSW_TXHDR_PROTO_ETH 1
  13. enum {
  14. MLXSW_TXHDR_ETCLASS_0,
  15. MLXSW_TXHDR_ETCLASS_1,
  16. MLXSW_TXHDR_ETCLASS_2,
  17. MLXSW_TXHDR_ETCLASS_3,
  18. MLXSW_TXHDR_ETCLASS_4,
  19. MLXSW_TXHDR_ETCLASS_5,
  20. MLXSW_TXHDR_ETCLASS_6,
  21. MLXSW_TXHDR_ETCLASS_7,
  22. };
  23. enum {
  24. MLXSW_TXHDR_RDQ_OTHER,
  25. MLXSW_TXHDR_RDQ_EMAD = 0x1f,
  26. };
  27. #define MLXSW_TXHDR_CTCLASS3 0
  28. #define MLXSW_TXHDR_CPU_SIG 0
  29. #define MLXSW_TXHDR_SIG 0xE0E0
  30. #define MLXSW_TXHDR_STCLASS_NONE 0
  31. enum {
  32. MLXSW_TXHDR_NOT_EMAD,
  33. MLXSW_TXHDR_EMAD,
  34. };
  35. enum {
  36. MLXSW_TXHDR_TYPE_DATA,
  37. MLXSW_TXHDR_TYPE_CONTROL = 6,
  38. };
  39. #endif