Hello,
I am trying to find the standard way to specify the opaque LSA capability in the OSPF packets.
RFC 2370, which describes the opaque option (section 3.1).
"An opaque-capable router learns of its neighbor's opaque capability
at the beginning of the "Database Exchange Process" (see Section 10.6
of [OSPF], receiving Database Description packets from a neighbor in
state ExStart). A neighbor is opaque-capable if and only if it sets
the O-bit in the Options field of its Database Description packets;
the O-bit is not set in packets other than Database Description
packets. Then, in the next step of the Database Exchange process,
Opaque LSAs are included in the Database summary list that is sent to
the neighbor (see Sections 3.2 below and 10.3 of [OSPF]) if and only
if the neighbor is opaque capable."
This specifies Opaque option is set only in database description packet.
RFC 5250, which describes the opaque option (section 3.1).
"An opaque-capable router learns of its neighbor's opaque capability
at the beginning of the "Database Exchange Process" (see Section 10.6
of [OSPF] regarding receiving Database Description packets from a
neighbor in state ExStart). A neighbor is opaque-capable if and only
if it sets the O-bit in the Options field of its Database Description
packets; the O-bit SHOULD NOT be set and MUST be ignored when
received in packets other than Database Description packets. Using
the O-bit in OSPF packets other than Database Description packets
will result in interoperability issues. The setting of the O-bit is
a "SHOULD NOT" rather than a "MUST NOT" to remain compatible with
earlier specifications."
Here I understand some implementations have the opaque option set in other than the database descripiton packet.