I have a doubt in ospf default route behaviour. While injecting it using command "default information originate" it generates a E2 default route with External Route Tag set to 1. However OSPF is not setting Route Tag when we inject default route in NSSA (LSA-7).
I understand from the book "Routing TCP/IP, Volume I, Written by Jeff Doyale" that 'External Route Tag is an arbitrary tag that may be applied to the external route. This field is not used by the OSPF protocol itself, but is instead provided for external route management'. But what we see here is tag set to 1 by ospf protocol itself while injecting default in normal ospf areas. What is the need for ospf to set route tag as 1 by default?
I would not worry too much about this tag being automatically set to 1. Apparently, Cisco software engineers who implemented OSPF into IOS had something in mind, but this does not appear to be documented anywhere, and even though the tag is set, it is not used anywhere else in your network unless you configure something (such as route-maps) that will test this tag for a particular value. It may be surprising that it is not 0, but from this viewpoint, 0 is no different than 1 - it's just a number OSPF does not care about. It may set it - but it is not really watching it.
In addition, you can change the tag of the route by attaching a route-map to the default-information originate command, say:
route-map SetTag permit 10
set tag 0
router ospf 1
default-information originate route-map SetTag
It seems to me that there may be another factor which may help explain the inconsistency about setting the tag value. When we configure default-information originate in a normal area we are generating a route which may be forwarded into multiple areas of the OSPF network and would be visible to a wider variety of network devices and in that sense it might be more important that the tag value be set. However in NSSA if we configure default-information originate then we are generating an LSA that is forwarded only to OSPF routers within that area. Since its dispersion is so limited perhaps there is less importance in setting the tag value.
Unfortunaltely I also cannot provide a full answer to this but it may be worth mentioning that the tag of the default-route is actually set to the OSPF process ID of the originating router:
R1#show ip ospf database external
OSPF Router with ID (184.108.40.206) (Process ID 123)
Type-5 AS External Link States
LS age: 8
Options: (No TOS-capability, DC, Upward)
LS Type: AS External Link
Link State ID: 0.0.0.0 (External Network Number )
Advertising Router: 220.127.116.11
LS Seq Number: 80000001
Network Mask: /0
Metric Type: 2 (Larger than any link state path)
Forward Address: 0.0.0.0
External Route Tag: 123
And earlier IOS versions obviously didn't behave like this: How OSPF injects a default-route into a normal area