X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/6babce0e173d5ea41d2e58040b71318d2180f032..refs/heads/master:/ospf.h?ds=inline diff --git a/ospf.h b/ospf.h index 40d33268..9b274faf 100644 --- a/ospf.h +++ b/ospf.h @@ -34,11 +34,10 @@ * */ -#define OSPF_OPTION_T 0x01 /* T bit: TOS support */ -#define OSPF_OPTION_E 0x02 /* E bit: External routes advertised */ +#define OSPF_OPTION_MT 0x01 /* MT bit: multi-topology */ +#define OSPF_OPTION_E 0x02 /* E bit: External routes advertised */ #define OSPF_OPTION_MC 0x04 /* MC bit: Multicast capable */ #define OSPF_OPTION_NP 0x08 /* N/P bit: NSSA capable */ -#define OSPF_OPTION_EA 0x10 /* EA bit: External Attribute capable */ #define OSPF_OPTION_L 0x10 /* L bit: Packet contains LLS data block */ #define OSPF_OPTION_DC 0x20 /* DC bit: Demand circuit capable */ #define OSPF_OPTION_O 0x40 /* O bit: Opaque LSA capable */ @@ -72,7 +71,9 @@ #define LS_OPAQUE_TYPE_TE 1 /* rfc3630 */ #define LS_OPAQUE_TYPE_GRACE 3 /* rfc3623 */ -#define LS_OPAQUE_TYPE_RI 4 /* draft-ietf-ospf-cap-03 */ +#define LS_OPAQUE_TYPE_RI 4 /* rfc7770 */ +#define LS_OPAQUE_TYPE_EP 7 /* rfc7684 */ +#define LS_OPAQUE_TYPE_EL 8 /* rfc7684 */ #define LS_OPAQUE_TE_TLV_ROUTER 1 /* rfc3630 */ #define LS_OPAQUE_TE_TLV_LINK 2 /* rfc3630 */ @@ -95,6 +96,12 @@ #define LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE_PTP 1 /* rfc3630 */ #define LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE_MA 2 /* rfc3630 */ +#define LS_OPAQUE_RI_SUBTLV_SID_LABEL 1 /* rfc8665 */ + +#define LS_OPAQUE_EP_EXTD_PREFIX_TLV 1 /* rfc7684 */ +#define LS_OPAQUE_EP_EXTD_PREFIX_RANGE_TLV 2 /* rfc8665 */ +#define LS_OPAQUE_EP_SUBTLV_PREFIX_SID 2 /* rfc8665 */ + #define LS_OPAQUE_GRACE_TLV_PERIOD 1 /* rfc3623 */ #define LS_OPAQUE_GRACE_TLV_REASON 2 /* rfc3623 */ #define LS_OPAQUE_GRACE_TLV_INT_ADDRESS 3 /* rfc3623 */ @@ -104,8 +111,12 @@ #define LS_OPAQUE_GRACE_TLV_REASON_SW_UPGRADE 2 /* rfc3623 */ #define LS_OPAQUE_GRACE_TLV_REASON_CP_SWITCH 3 /* rfc3623 */ -#define LS_OPAQUE_RI_TLV_CAP 1 /* draft-ietf-ospf-cap-03 */ - +#define LS_OPAQUE_RI_TLV_CAP 1 /* rfc7770 */ +#define LS_OPAQUE_RI_TLV_HOSTNAME 7 /* rfc5642 */ +#define LS_OPAQUE_RI_TLV_SR_ALGO 8 /* rfc8865 */ +#define LS_OPAQUE_RI_TLV_SID_LABEL_RANGE 9 /* rfc8865 */ +#define LS_OPAQUE_RI_TLV_SR_LOCAL_BLOCK 14 /* rfc8865 */ +#define LS_OPAQUE_RI_TLV_SRMS_PREFERENCE 15 /* rfc8865 */ /* rla_link.link_type */ #define RLA_TYPE_ROUTER 1 /* point-to-point to another router */ @@ -116,8 +127,10 @@ /* rla_flags */ #define RLA_FLAG_B 0x01 #define RLA_FLAG_E 0x02 -#define RLA_FLAG_W1 0x04 -#define RLA_FLAG_W2 0x08 +#define RLA_FLAG_V 0x04 +#define RLA_FLAG_W 0x08 +#define RLA_FLAG_NT 0x10 /* RFC3101 Appendix B */ +#define RLA_FLAG_H 0x80 /* sla_tosmetric breakdown */ #define SLA_MASK_TOS 0x7f000000 @@ -246,6 +259,13 @@ struct lsa { nd_byte data[1]; /* may repeat */ } un_ri_tlv[1]; /* may repeat */ + /* Extended Prefix LSA */ + struct { + nd_uint16_t type; + nd_uint16_t length; + nd_byte data[1]; /* may repeat */ + } un_ep_tlv[1]; /* may repeat */ + /* Unknown LSA */ struct unknown { nd_byte data[1]; /* may repeat */