seg6local_linux.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package nl
  2. import ()
  3. // seg6local parameters
  4. const (
  5. SEG6_LOCAL_UNSPEC = iota
  6. SEG6_LOCAL_ACTION
  7. SEG6_LOCAL_SRH
  8. SEG6_LOCAL_TABLE
  9. SEG6_LOCAL_NH4
  10. SEG6_LOCAL_NH6
  11. SEG6_LOCAL_IIF
  12. SEG6_LOCAL_OIF
  13. SEG6_LOCAL_BPF
  14. SEG6_LOCAL_VRFTABLE
  15. __SEG6_LOCAL_MAX
  16. )
  17. const (
  18. SEG6_LOCAL_MAX = __SEG6_LOCAL_MAX
  19. )
  20. // seg6local actions
  21. const (
  22. SEG6_LOCAL_ACTION_END = iota + 1 // 1
  23. SEG6_LOCAL_ACTION_END_X // 2
  24. SEG6_LOCAL_ACTION_END_T // 3
  25. SEG6_LOCAL_ACTION_END_DX2 // 4
  26. SEG6_LOCAL_ACTION_END_DX6 // 5
  27. SEG6_LOCAL_ACTION_END_DX4 // 6
  28. SEG6_LOCAL_ACTION_END_DT6 // 7
  29. SEG6_LOCAL_ACTION_END_DT4 // 8
  30. SEG6_LOCAL_ACTION_END_B6 // 9
  31. SEG6_LOCAL_ACTION_END_B6_ENCAPS // 10
  32. SEG6_LOCAL_ACTION_END_BM // 11
  33. SEG6_LOCAL_ACTION_END_S // 12
  34. SEG6_LOCAL_ACTION_END_AS // 13
  35. SEG6_LOCAL_ACTION_END_AM // 14
  36. SEG6_LOCAL_ACTION_END_BPF // 15
  37. __SEG6_LOCAL_ACTION_MAX
  38. )
  39. const (
  40. SEG6_LOCAL_ACTION_MAX = __SEG6_LOCAL_ACTION_MAX - 1
  41. )
  42. // Helper functions
  43. func SEG6LocalActionString(action int) string {
  44. switch action {
  45. case SEG6_LOCAL_ACTION_END:
  46. return "End"
  47. case SEG6_LOCAL_ACTION_END_X:
  48. return "End.X"
  49. case SEG6_LOCAL_ACTION_END_T:
  50. return "End.T"
  51. case SEG6_LOCAL_ACTION_END_DX2:
  52. return "End.DX2"
  53. case SEG6_LOCAL_ACTION_END_DX6:
  54. return "End.DX6"
  55. case SEG6_LOCAL_ACTION_END_DX4:
  56. return "End.DX4"
  57. case SEG6_LOCAL_ACTION_END_DT6:
  58. return "End.DT6"
  59. case SEG6_LOCAL_ACTION_END_DT4:
  60. return "End.DT4"
  61. case SEG6_LOCAL_ACTION_END_B6:
  62. return "End.B6"
  63. case SEG6_LOCAL_ACTION_END_B6_ENCAPS:
  64. return "End.B6.Encaps"
  65. case SEG6_LOCAL_ACTION_END_BM:
  66. return "End.BM"
  67. case SEG6_LOCAL_ACTION_END_S:
  68. return "End.S"
  69. case SEG6_LOCAL_ACTION_END_AS:
  70. return "End.AS"
  71. case SEG6_LOCAL_ACTION_END_AM:
  72. return "End.AM"
  73. case SEG6_LOCAL_ACTION_END_BPF:
  74. return "End.BPF"
  75. }
  76. return "unknown"
  77. }