<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>Hello,</DIV>
<DIV> </DIV>
<DIV>I’ve spent some time trying to find any option to make our border BGP 
router to announce itself as defaul router by OSPF to our network switches. No 
luck.</DIV>
<DIV> </DIV>
<DIV>This discussion was rised fe. 5 years ago but with no answer 
(https://bird-users.network.narkive.com/AD6KOk8b/ospf-generate-default-route). 
All docs end examples I found touch only redistribute aspect of the problem. I 
think it is not optimal for such implementations.</DIV>
<DIV> </DIV>
<DIV>OK – let draw simple example.</DIV>
<DIV> </DIV>
<DIV>Step 1.</DIV>
<DIV> </DIV>
<DIV>Let’s have just 2 border backbone BGP routers with a few peers and full 
tables. Let’s name them just simple BGP1 and BGP2.</DIV>
<DIV>Of course they talk one to another by iBGP as well. In fact – they know 
everything about Internet, so they do not need any 0/0 routes – external or 
static.</DIV>
<DIV>If any peer fails – they will just recalculate tables and everything will 
work fine.</DIV>
<DIV> </DIV>
<DIV>Step 2. </DIV>
<DIV> </DIV>
<DIV>Let’s imagine the internal network build on some switches and small 
routers.</DIV>
<DIV>As they are just local and have limited resources – they do not need and 
can’t work on iBGP with BGP1/2.</DIV>
<DIV>OSPF if pretty enough for them. Let’s imagine they have names like 
OSPF10-20. Does not matter how they are connected. But for further discussion 
let’s imagine OSPF10 has direct connection with both BGP1/2.</DIV>
<DIV> </DIV>
<DIV>Step 3. </DIV>
<DIV> </DIV>
<DIV>In my example OSPF10 establishes sessions with BGP1/2. All OSPF local 
networks will be shared – but there would be no information about all 
Internet.</DIV>
<DIV>So internal OSPF routers - as they do not have full knowledge about 
internet - in short – need to get default route from BGP1/2.</DIV>
<DIV> </DIV>
<DIV>Step 4.</DIV>
<DIV> </DIV>
<DIV>In configs published on Internet it is easy to get examples of export 
filters for redistributing default gw, like:</DIV>
<DIV> </DIV>
<DIV>                
if net = 0.0.0.0/0 then {ospf_metric2 = 100; accept;} else reject;</DIV>
<DIV>    or</DIV>
<DIV>                
if source = RTS_STATIC then accept; else reject;</DIV>
<DIV> </DIV>
<DIV>Unfortunatelly published system requires that 0/0 will be set somwhere out 
of OSPF Bird config.</DIV>
<DIV>In fact – 0/0 can be set by protocol static section or received from other 
source and redistributed to OSPF. All discussions I found end at this 
point.</DIV>
<DIV> </DIV>
<DIV>Step 5.</DIV>
<DIV> </DIV>
<DIV>In some discussions people try to ask how in Bird set equivalent to 
commonly known Cisco “redistribute default originate always”? But mostly answers 
say – “<STRONG>why you do not want to set it by “protocol static” or 
so?”</STRONG>.</DIV>
<DIV> </DIV>
<DIV>Let me put answer simple, but a bit in different way then in discusssions I 
found  – <STRONG>BGP router needs no such directive at all</STRONG>. So any 
staticaly added “route 0/0 via” in protocol static should not be done at all. 
Why?</DIV>
<DIV> </DIV>
<DIV>For any static route you need fixed destination. We may play with some 
options but if this static destination gets unreachable – our OSPF default gw 
(and in effect all communication with Internet) is down. You can see it on your 
birdc if you add any fake destination or... destination disconnects – like port 
dow.</DIV>
<DIV> </DIV>
<DIV>bird> sh route export ospf1</DIV>
<DIV>0.0.0.0/0          unreachable 
[static_ospf 2018-09-18] * (200)</DIV>
<DIV> </DIV>
<DIV>Step 6. </DIV>
<DIV> </DIV>
<DIV>Redistributionto local OSPF routers of “external” default gw on border BGP 
router – should not be an option. Problem is simple – again we need a source of 
such 0/0. But we get none from our Internet BGP peeers.</DIV>
<DIV> </DIV>
<DIV>Step 7.</DIV>
<DIV> </DIV>
<DIV>Theoretically we may imagine that in my example OSPF10 will act as ‘default 
originate always’ router and forwards packets by static route to BGP1... What a 
waste. How to secure redundancy supported by BGP2?</DIV>
<DIV> </DIV>
<DIV>Step 8.</DIV>
<DIV> </DIV>
<DIV>For now – I may only set protocol static for any reachable IP on both 
BGP1/2, use above redistribution OSPF examples and pray – destination interfaces 
will not get down. Not good, don’t you think?</DIV>
<DIV> </DIV>
<DIV>Conclussion.</DIV>
<DIV> </DIV>
<DIV>BGP router is sometimes in fact a border router for “local” protocols like 
OSPF. Bird should have an option to announce itself by OSPF and only OSPF – as 
it is default gw for other OSPF routers.</DIV>
<DIV>This announcement should be based on simple rule that Bird may know from 
other protocols (like BGP but not only), what to do with package received as 
default gw. But Bird not always may share this knowledge. Again – Bird can know 
all Internet prefixes from BGP sessions but can’t export it to simple switches 
in local network.</DIV>
<DIV> </DIV>
<DIV>This is why Bird should have an option to act as default gw regardless it 
has default gw set or received in other protocols.</DIV>
<DIV> </DIV>
<DIV>So please – let me know. How can I make “default originate always” in OSPF 
without redistributing 0/0 established in other sources.</DIV>
<DIV> </DIV>
<DIV>Best wishes,</DIV>
<DIV> </DIV>
<DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">---<BR>Zboj 
(Piotr Marciniak)<BR>zboj /at\ mnc dot pl</DIV></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV></DIV></DIV></BODY></HTML>