A common suite of tests is executed in distinct OSPF network configurations and topologies. The test output is 1) automatically analyzed for correctness, and 2) used in regression testing following code modifications.
SSF.OS.OSPF 0.1.14 allows one OSPF area per AS. AS-external route advertisements are flooded from ASBRs. Intra-area routing tables are computed statically from network configuration database using neither LSA flooding nor the Hello protocol. Although we have an alpha version of dynamic SSF.OS.OSPF, it is not yet stable enough for release.
Each test uses one of just two different network configurations. This
helps make the tests easier to understand and remember. Half of the
tests use a network which has one autonomous system and one OSPF area.
The configurations for these tests are equivalent to the code in campus1.dml with a
few minor options attributes added. The other half of the tests use a
network with multiple autonomous systems, each with one OSPF area.
For these tests, the configurations are equivalent to the code in internet1.dml
(again with some minor options added).
| Single-AS, Single-Area Tests |
| Multiple-AS, Single-Area Tests |
| Router Classification |
| Interface Identification |
| Link State Database Content |
| Forwarding Table Content |
An AS is is divided into OSPF areas. When the OSPF protocol session
is initialized, each OSPF router must determine its class according to
its location in the network. The router classes are: Internal Router
(IR), Area Border Router (ABR), AS Boundary Router (ASBR). Also, the
backbone (area 0) must be identified. The correctness of router class
determination is tested.
Router Classification using Single-AS, Single-Area Topology
Router Classification using Multiple-AS, Single-Area Topology
OSPF establishes adjacencies between neighboring routers by exchanging
Hello packets. Hello packets, and all other OSPF message types, are
sent out on router interfaces. OSPF keeps data structures which
corresponding to each such interface, and this test will check the
correctness of those interface data structures.
Interface Identification using Single-AS, Single-Area Topology
Interface Identification using Multiple-AS, Single-Area Topology
Analyzes the LSAs and link state databases after each update.
Note: In a full OSPF implementation there are five OSPF packet types:
Type 1 (Hello), Type 2 (Database description), Type 3 (Link state
request), Type 4 (Link state update), and Type 5 (Link state ack).
All OSPF packet types (other than the OSPF Hello packets) deal with
lists of LSAs.
Link State Database Content using Single-AS, Single-Area Topology
Link State Database Content using Multiple-AS, Single-Area Topology
Dump all forwarding tables computed by OSPF and validate their
correctness.
Forwarding Table Content using Single-AS, Single-Area Topology
Forwarding Table Content using Multiple-AS, Single-Area Topology