cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
7543
Views
20
Helpful
4
Replies

EIGRP network vs. no passive-interface

nstahlman
Level 1
Level 1

What is the difference between configuring EIGRP with the "network" command, then specifying the IP addresses of the interfaces you want to use OR using the no passive-interface command.

The examples below might make more sense:

gi0/0.1 has an IP of 192.168.1.1

gi0/0.2 has an IP of 192.168.2.1

s1/0 has an IP of 192.168.3.1

s1/0 has an IP of 192.168.4.1

------------------------------------------

router eigrp 100

passive-interface default

no passive-interface GigabitEthernet0/0.1

no passive-interface GigabitEthernet0/0.2

no passive-interface Serial1/0

no passive-interface Serial1/1

network 192.168.0.0

no auto-summary

------------------------------------------

router eigrp 100

network 192.168.1.1

network 192.168.2.1

network 192.168.3.1

network 192.168.4.1

no auto-summary

------------------------------------------

Don't both of these configurations accomplish the same thing? If so, is there any advantage to using one over the other?

Thanks,

Nate

4 Replies 4

Hello Nate,

both your configs accomplish the exact same thing, only the interfaces specified will be advertised. I am studying for the CCIE lab right now, and I think Cisco prefers the second config, where you actually explicitly advertise interfaces...but still, both will work fine.

Regards,

GP

Actually, on a technecality, they do not do the same thing. And it is one of the subtlties of the behavior of EIGRP that may be important to understand when preparing for the CCIE or when administering an EIGRP network.

The important aspect to recognize here is the classful network boundaries. The first example had network 192.168.0.0. This happens to be a class C network. And EIGRP would be looking for interfaces that are in that particular network. And it would not process the interfaces on 192.168.1.0 or 192.168.2.0 etc. Even though EIGRP works very well in a classless addressing environment, its roots are in a classful background. And one manifestation of that is the default behavior to treat the network statement as looking for classful boundaries. So in fact if you configure EIGRP with network 192.168.1.1 and then do a show run what you will see is 192.168.1.0 because EIGRP is processing classful network boundaries.

If the example had used a class B like 172.16.1.1 and 172.16.2.1 etc then the two approaches would have produced the same results.

There are two more aspects of this I would like to comment on. One is the background of the passive default. This ties back to the essentially classful nature of the processing that EIGRP does on the network statement. If you were bringing up a router that would eventually have many interfaces that would be subnets of the same classful network and you put in network 172.16.0.0 then EIGRP would attempt to process every interface with an address in the subnets of that network. But you might not want them to be advertised when they were configured, you might want to wait till there was actually something deployed there, or perhaps you might not want EIGRP to process a particular interface at all (perhaps that interface connected to something external to your network. Cisco introduced the passive default to accomodate this situation. With passive default EIGRP does not process the interface till you specifically activate it.

Another interesting aspect is that Cisco then introduced the ability within EIGRP to use a netmask on the network statement which allows you to specifically identify the particular interface you want to process. This addresses the classful default behavior and makes EIGRP truly more of a classless routing protocol.

So lets take the example that started this discussion and change it a little bit. Suppose there was a router with interfaces 172.16.1.1, 172.16.2.1, 172.16.3.1, and 172.16.4.1. And suppose that you wanted (for whatever reason) to include 1, 2, and 4 but not 3. How could you do it?

The more traditional solution would be to use passive default and leave the 3 as passive. Or the more recent solution would be to use network statements with netmask to include only the specific interfaces that you wanted.

HTH

Rick

HTH

Rick

Thank you for the infomation...

So...Based on what you provided the most "recent" solution using netmasks to include interface 1, 2 and 4 but not 3 would be:

---------------------------

router eigrp 100

network 172.16.1.1 0.0.0.0

network 172.16.2.1 0.0.0.0

network 172.16.4.1 0.0.0.0

no auto-summary

---------------------------

Is this correct?

Yes this would be correct. It would use 1, 2, and 4 as EIGRP interfaces and not 3.

One other observation about the differences. The solution with the network statement with the netmask would exclude 3 as an EIGRP interface. EIGRP would not send hellos on the interface and it would not advertise that subnet to its other neighbors. If you used the solution with passive-interface and made 1, 2, and 4 active and left 3 passive EIGRP would send hellos on 1, 2, and 4 and would form neighbor relationships on those interfaces and not on 3. However if 3 matched a network statement but was passive then EIGRP would advertise the subnet to other neighbors.

So in looking at the differences between passive interface and restrictive network statements, one of the differences is whether EIGRP will form neighbor relations and the other difference is whether EIGRP would advertise the subnet to other neighbors.

HTH

Rick

HTH

Rick