Glen Turner (vk5tu) wrote,

Cisco IOS and the "network" statement

This has to be the second-most misunderstood statement. Here's how it works.

Each routing process maintains its own routing table. So there is a table for BGP, a table for OSPF, a table for RIP, a table for static routes, a table for routes to connected interfaces and so on.

There is a forwarding table. This determines the next-hop of packets flowing through the router.

Entries in the routing table are placed into the forwarding table. If two routes clash then the routing protocol with the better "administrative distance" wins: connected > static > exterior routes > interior routes.

Entries in the forwarding table are placed in a routing table is there is an exactly matching "network" statement in the routing process's configuration and the entry in the forwarding table wasn't put there by this routing process.

Let's take the trivial case, a connected interface

interface Ethernet0
 ip address 1.2.3.4 255.255.255.0

router ospf 65000
 network 1.2.3.0 0.0.0.255

You often see this

ip route 1.2.3.0 0.0.0.255 1.2.3.255

router ospf 65000
 redistribute static
Don't do that, do this:
ip route 1.2.3.0 0.0.0.255 1.2.3.255

router ospf 65000
 network  1.2.3.0 0.0.0.255

Getting rid of the "redistribute" statement removes a common cause of routing loops. "Redistribute" should really be a hidden command, it's only useful for people who know what they are doing.

Tags: rant
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments