*
*/
-#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 */
#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 */
#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 */
#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 */
/* 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
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 */