l2vpn.c 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*
  2. * Redistribution and use in source and binary forms, with or without
  3. * modification, are permitted provided that: (1) source code
  4. * distributions retain the above copyright notice and this paragraph
  5. * in its entirety, and (2) distributions including binary code include
  6. * the above copyright notice and this paragraph in its entirety in
  7. * the documentation or other materials provided with the distribution.
  8. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND
  9. * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
  10. * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  11. * FOR A PARTICULAR PURPOSE.
  12. *
  13. * Original code by Hannes Gredler (hannes@gredler.at)
  14. */
  15. #ifdef HAVE_CONFIG_H
  16. #include "config.h"
  17. #endif
  18. #include <netdissect-stdinc.h>
  19. #include "netdissect.h"
  20. #include "l2vpn.h"
  21. /*
  22. * BGP Layer 2 Encapsulation Types
  23. *
  24. * RFC 6624
  25. *
  26. * http://www.iana.org/assignments/bgp-parameters/bgp-parameters.xhtml#bgp-l2-encapsulation-types-registry
  27. */
  28. const struct tok l2vpn_encaps_values[] = {
  29. { 0, "Reserved"},
  30. { 1, "Frame Relay"},
  31. { 2, "ATM AAL5 SDU VCC transport"},
  32. { 3, "ATM transparent cell transport"},
  33. { 4, "Ethernet (VLAN) Tagged Mode"},
  34. { 5, "Ethernet Raw Mode"},
  35. { 6, "Cisco HDLC"},
  36. { 7, "PPP"},
  37. { 8, "SONET/SDH Circuit Emulation Service over MPLS"},
  38. { 9, "ATM n-to-one VCC cell transport"},
  39. { 10, "ATM n-to-one VPC cell transport"},
  40. { 11, "IP layer 2 transport"},
  41. { 15, "Frame Relay Port mode"},
  42. { 17, "Structure-agnostic E1 over packet"},
  43. { 18, "Structure-agnostic T1 (DS1) over packet"},
  44. { 19, "VPLS"},
  45. { 20, "Structure-agnostic T3 (DS3) over packet"},
  46. { 21, "Nx64kbit/s Basic Service using Structure-aware"},
  47. { 25, "Frame Relay DLCI"},
  48. { 40, "Structure-agnostic E3 over packet"},
  49. { 41, "Octet-aligned playload for Structure-agnostic DS1 circuits"},
  50. { 42, "E1 Nx64kbit/s with CAS using Structure-aware"},
  51. { 43, "DS1 (ESF) Nx64kbit/s with CAS using Structure-aware"},
  52. { 44, "DS1 (SF) Nx64kbit/s with CAS using Structure-aware"},
  53. { 0, NULL}
  54. };
  55. /*
  56. * MPLS Pseudowire Types
  57. *
  58. * RFC 4446
  59. *
  60. * http://www.iana.org/assignments/pwe3-parameters/pwe3-parameters.xhtml#pwe3-parameters-2
  61. */
  62. const struct tok mpls_pw_types_values[] = {
  63. { 0x0000, "Reserved"},
  64. { 0x0001, "Frame Relay DLCI (Martini Mode)"},
  65. { 0x0002, "ATM AAL5 SDU VCC transport"},
  66. { 0x0003, "ATM transparent cell transport"},
  67. { 0x0004, "Ethernet VLAN"},
  68. { 0x0005, "Ethernet"},
  69. { 0x0006, "Cisco-HDLC"},
  70. { 0x0007, "PPP"},
  71. { 0x0008, "SONET/SDH Circuit Emulation Service over MPLS"},
  72. { 0x0009, "ATM n-to-one VCC cell transport"},
  73. { 0x000a, "ATM n-to-one VPC cell transport"},
  74. { 0x000b, "IP Layer2 Transport"},
  75. { 0x000c, "ATM one-to-one VCC Cell Mode"},
  76. { 0x000d, "ATM one-to-one VPC Cell Mode"},
  77. { 0x000e, "ATM AAL5 PDU VCC transport"},
  78. { 0x000f, "Frame-Relay Port mode"},
  79. { 0x0010, "SONET/SDH Circuit Emulation over Packet"},
  80. { 0x0011, "Structure-agnostic E1 over Packet"},
  81. { 0x0012, "Structure-agnostic T1 (DS1) over Packet"},
  82. { 0x0013, "Structure-agnostic E3 over Packet"},
  83. { 0x0014, "Structure-agnostic T3 (DS3) over Packet"},
  84. { 0x0015, "CESoPSN basic mode"},
  85. { 0x0016, "TDMoIP basic mode"},
  86. { 0x0017, "CESoPSN TDM with CAS"},
  87. { 0x0018, "TDMoIP TDM with CAS"},
  88. { 0x0019, "Frame Relay DLCI"},
  89. { 0x0040, "IP-interworking"},
  90. { 0, NULL}
  91. };