Thursday, June 2, 2011

The OSPF Options Field

The 8-bit Options field is present in every OSPF Hello and DBD packets, as well as every LSA. It allows OSPF routers to communicate their optional capabilities. OSPF routers may not form adjacency due to compatibility issue of capabilities.

Below describes the bits in the Options field:
DN Used in MPLS-based Layer 3 Virtual Private Networks as defined in RFC 2547 – BGP/MPLS VPNs. When a route learnt from a customer network via OSPF is advertised across a BGP/MPLS VPN using Multiprotocol BGP, and advertised back to a customer network via OSPF, a loop can occur in which the OSPF route is redistributed back to the VPN service provider network via BGP. The DN bit prevents this type of routing loop. When an OSPF router received a Type 3, 5, or 7 LSA with the DN bit set, it cannot use that LSA in the OSPF route calculations.
O The O bit is set when the originating router supports Type 9, 10, and 11 Opaque LSAs.
DC The DC bit is set when the originating router supports OSPF over Demand Circuits.
L Indicates whether the OSPF packet contains a Link-Local Signaling (LLS) data block. This bit is set only in Hello and DBD packets. If the OSPF packet is cryptographically authenticated, the LLS data block must also be cryptographically authenticated.
Reference: RFC 4813 – OSPF Link-Local Signaling.
N The N bit is used only in Hello packets. The N bit is set when the originating router supports Type-7 NSSA-External-LSAs. Neighboring routers with mismatched N bit value will not form neighbor relationship. This restriction ensures that all OSPF routers within an area support NSSA capabilities. When the N bit is set to 1, the E bit must be 0.
P The P bit is used only in Type-7 NSSA-External-LSA headers. Due to this reason, the N and P bits can share the same position in the Options field. The P (Propagate) bit is set to inform the NSSA ABR to translate Type-7 LSAs into Type-5 LSAs.
MC The MC bit is set when the originating router supports Multicast extensions to OSPF (MOSPF). Note: Cisco does not support MOSPF, mainly due to the reasons that it uses a dense-mode multicast forwarding scheme and is protocol dependent. A Cisco router would generate a %OSPF-4-BADLSATYPE error message upon receiving a Type-6 LSA. The ignore lsa mospf router subcommand configures an OSPF router to ignore Type-6 LSAs and therefore prevents the router from generating the error message.
E The E (ExternalRoutingCapability) bit is set when the originating router is capable of accepting AS External LSAs. It will be set to 1 in all AS External LSAs and in all LSAs originated in the backbone and non-stub areas; and will be set to 0 in all Hellos and LSAs originated within a stub area. Additionally, this bit is used in to Hello packets to indicate the capability of a router interface to send and receive Type-5 AS-External-LSAs. Neighboring routers with mismatched E bit value will not form neighbor relationship. This restriction ensures that all OSPF routers within an area support the stub capabilities.
MT The MT bit is set when the originating router supports Multitopology OSPF, MT-OSPF. However, MT-OSPF is still under the proposal stage and is not generally adopted yet. Older OSPF specifications specified this bit position as the T bit. The T bit was set when the originating router support TOS-based routing. However, OSPF TOS-based routing has never been deployed; therefore the T bit was also never been used.

OSPF Link-Local Signaling

The OSPF Link-Local Signaling feature was introduced by Cisco and is defined in RFC 4813 – OSPF Link-Local Signaling to allow routers to exchange arbitrary data – router capabilities, which may be necessary in certain situations. It is a backward-compatible technique which uses existing standard OSPF packet types without introducing a new OSPF packet type.

LLS TLV types are maintained by the IANA. OSPF extensions that require a new LLS TVL type must be reviewed by a designated expert from the IETF routing protocol domain. Below lists the currently assigned LLS TLV types:
LLS TLV Type Name
0 Reserved
1 Extended Options (EO)
2 Cryptographic Authentication
3 – 32767 Reserved for IANA assignment
32768 – 65535 Private Use

The following bits are assigned for the Extended Options bits field in the Extended Options TLV:

Extended Option Bit Name Reference
0x00000001 LSDB Resynchronization (LR-bit) RFC 4811 – OSPF Out-of-Band Link State Database (LSDB) Resynchronization
0x00000002 Restart Signal (RS-bit) RFC 4812 – OSPF Restart Signaling

A usage of Link-Local Signaling is to exchange the capabilities information between Cisco routers to enable OSPF Non-Stop Forwarding (NSF) awareness on the OSPF-enabled interfaces. Cisco Catalyst 6500 Virtual Switching System (VSS) utilizes NSF to provide high availability.

The OSPF Per-Interface Link-Local Signaling feature allows us to selectively enable or disable Link-Local Signaling (LLS) for a specific interface regardless of the global (router level) setting. The ip ospf lls [disable] interface subcommand takes precedence over the [no] capability lls router subcommand. Ex: A router with the no capability lls router subcommand configured disables the LLS support at the router level. However, the ip ospf lls interface subcommand can be configured to selectively enable LLS support for a particular interface.

Issue the no ip ospf lls interface subcommand to restore the LLS setting of an interface and let the router-level LLS setting (capability lls) to decide the LLS setting for the interface.