Table Of Contents
Table Of Contents

Step 11. Configure an interface as NoOSPF

Goals

The goal of this step is to demonstrate the effect of excluding an interface from OSPF using the NoOSPF interface mode.

Setting an interface to NoOSPF mode effectively removes it from OSPF processing. The interface will not:

  • Send or receive OSPF packets

  • Form adjacencies

  • Be advertised in OSPF LSAs

This is equivalent to not including the interface in the OSPF configuration at all.

Configuration

This configuration is based on Step 3. Each router’s eth0 interface (the one facing the switch) is configured with interfaceMode="NoOSPF".

../../../_images/Network29.png

The configuration in omnetpp.ini is the following:

[Config Step11]
description = "Configure an interface as NoOSPF"
extends = Step3

# setting interfaceMode to "NoOSPF" is equal to removing the interface from the XML config

*.R*.ospf.ospfConfig = xmldoc("ASConfig_NoOspf.xml")

The OSPF configuration:

<?xml version="1.0"?>
<OSPFASConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="OSPF.xsd">

  <!-- Routers -->
  <Router name="R1" RFC1583Compatible="true">
    <BroadcastInterface ifName="eth0" interfaceMode="NoOSPF" />
    <PointToPointInterface ifName="ppp0" />
  </Router>

  <Router name="R2" RFC1583Compatible="true">
    <BroadcastInterface ifName="eth0" interfaceMode="NoOSPF" />
    <PointToPointInterface ifName="ppp0" />
  </Router>

</OSPFASConfig>

Results

With the interface configured as NoOSPF:

  1. The interface does not participate in OSPF at all.

  2. No Hello packets are sent on the interface.

  3. The network connected to this interface is not advertised in Router LSAs.

  4. Other routers are unaware of this network and cannot route to it via OSPF.

This mode is useful when you want OSPF running on a router but need to exclude specific interfaces from OSPF processing, perhaps because they connect to non-OSPF networks or for security reasons.

Sources: omnetpp.ini, Network.ned, ASConfig_NoOspf.xml

Discussion

Use this page in the GitHub issue tracker for commenting on this tutorial.