<div dir="ltr">Hi,<div><br></div><div>I have 4 routers connected like this.</div><div><br></div><div>(<a href="http://10.4.4.1/24">10.4.4.1/24</a>)        (10.4.4.4.2/24)<br></div><div>       R1           R2</div><div>         \            /</div><div>          \          /</div><div>          SWITCH</div><div>         /          \ </div><div>        /            \</div><div>      R3            R4  </div><div>(<a href="http://10.4.4.3/24">10.4.4.3/24</a>)       (<a href="http://10.4.4.4/24">10.4.4.4/24</a>)</div><div><br></div><div><br></div><div>I export a default route (<a href="http://0.0.0.0/0">0.0.0.0/0</a>) from R1 and R2 with an ospf_metric1 = 100..</div><div><br></div><div>At R3, in an import filter I set the ospf_metric1 of R1's default route to 10.</div><div><br></div><div>At R4, in an import filter I set the ospf_metric1 of R2's default route to 10.</div><div><br></div><div>What I expect is that R3's routing table is going to contain <a href="http://0.0.0.0/0">0.0.0.0/0</a> via R1.</div><div>and likewise R4's routing table is going to contain <a href="http://0.0.0.0/0">0.0.0.0/0</a> via R2.</div><div><br></div><div>Unfortunately it doesn't happen and both R3's and R4's routing table has <a href="http://0.0.0.0/0">0.0.0.0/0</a> via R2.</div><div><br></div><div>Here's a config for router R1 (R2 is identical except for router id).</div><div><br></div><div><div>router id 10.4.4.1</div><div> </div><div>protocol kernel {</div><div>        export all;</div><div>}</div><div> </div><div>protocol direct {</div><div>}</div><div> </div><div>protocol device {</div><div>        scan time 10;</div><div>}</div><div> </div><div>protocol static {</div><div>        route <a href="http://0.0.0.0/0">0.0.0.0/0</a> via 123.123.123.1; #vtnet0</div><div>}</div><div> </div><div>protocol ospf {</div><div>        tick 2;</div><div>        rfc1583compat yes;</div><div>        export filter {</div><div>                if net = <a href="http://0.0.0.0/0">0.0.0.0/0</a> then {</div><div>                        ospf_metric1 = 100;</div><div>                        accept;</div><div>                }</div><div>                reject;</div><div>        }</div><div>        area 0.0.0.0 {</div><div>                interface "vtnet1" {</div><div>                        dead count 4;</div><div>                        type broadcast;</div><div>                }</div><div>        }</div><div>}</div></div><div><br></div><div>Here's a config  for router R3 (R4 is identical except for router id and if statement's ospf_router_id)</div><div><br></div><div><div>router id 10.4.4.3</div><div> </div><div>protocol kernel {</div><div>        export all;</div><div>}</div><div> </div><div>protocol direct {</div><div>}</div><div> </div><div>protocol device {</div><div>        scan time 10;</div><div>}</div><div> </div><div>protocol static {</div><div>}</div><div> </div><div>protocol ospf {</div><div>        tick 2;</div><div>        rfc1583compat yes;</div><div>        import filter {</div><div><br></div><div>                if ospf_router_id = 10.4.4.1 then {</div><div>                        if net = <a href="http://0.0.0.0/0">0.0.0.0/0</a> then {</div><div>                                ospf_metric1 = 10;</div><div>                        } </div><div>                } </div><div><br></div><div>                accept;</div><div>        }</div><div>        area 0.0.0.0 {</div><div>                interface "vtnet0" {</div><div>                        dead count 4;</div><div>                        type broadcast;</div><div>                } </div><div><br></div><div><div>                interface "ng*" {</div><div>                        stub yes;</div><div>                }</div></div><div>        }</div><div>}</div></div><div><br></div><div>When I place a print statement in the import filter at the very top:</div><div><br></div><div><div>        import filter {</div><div>                print "router_id: ", ospf_router_id, " net: ", net;</div><div>                if ospf_router_id = 10.4.4.1 then {</div><div>                        if net = <a href="http://0.0.0.0/0">0.0.0.0/0</a> then {</div><div>                                ospf_metric1 = 10;</div><div>                        } </div><div>                } </div><div><br></div><div>For R3 I see:</div><div>router_id: 10.4.4.3 net: <a href="http://10.4.4.0/24">10.4.4.0/24</a></div><div>router_id: 10.4.4.2 net: <a href="http://0.0.0.0/0">0.0.0.0/0</a></div><div>router_id: 10.4.4.2 net: <a href="http://10.4.4.0/24">10.4.4.0/24</a></div><div><br></div><div>For R4 I see:</div><div>router_id: 10.4.4.4 net: <a href="http://10.4.4.0/24">10.4.4.0/24</a></div><div>router_id: 10.4.4.2 net: <a href="http://0.0.0.0/0">0.0.0.0/0</a></div><div>router_id: 10.4.4.2 net: <a href="http://10.4.4.0/24">10.4.4.0/24</a></div><div><br></div><div><br></div><div>So router R1 (10.4.4.1) is not seen by the import filters, as such R2 is selected as the default route for both R3 and R4.</div><div><br></div><div>How could i fix it?</div><div><br></div><div>Thank you..</div><div><br></div><div><br></div><div>           </div></div><div><br></div><div><br></div><div><br></div></div>