BGP has three ways to advertise a route:
network
commandredistribute
command- Aggregation
There are two reasons I've come across for using the network
command vs the redistribute
command:
1.
The network
command advertises routes with an origin code of i
for IGP. The redistribute
command advertises routes with an origin code of ?
for Incomplete. Later, these are used in the Path Selection process whereby the origin code of i
is preferred to ?
.
BUT the Origin Code can be changed to anything you like using a route-map. So for the purpose of this question, let's ignore the different origin codes since they can be overridden.
2.
The network
command requires you to explicitly specify which networks should be advertised into BGP. Where as the redistribute
command might inadvertently advertise networks into BGP that you did not explicitly select (aka, using redistribute connected
and later adding an loopback interface for testing that you did not mean to get advertise).
BUT you can also use a route-map to limit what network(s) are being redistributed, so in both cases you can still advertise networks explicitly. So for the purpose of this question, let's ignore the difference in explicit advertisements since that is possible in both method.
My question: OTHER than the two differences identified above... what are reasons why one might choose to use the redistribute
command verses the network
command.
Does it simply come to personal preference? Or local policies? Or are there other definitive use-cases that would require the use of one or the other.
if you have lots of routes, redistribute might be easier to manage
-- that is a perfectly acceptable, non-trivial reason to favor redistribution overnetwork
statements. I'm sure there are others. I'm looking for reasons other than explicit control of advertised routes or origin code.