<div dir="ltr">Hello!<div><br></div><div>Have 2 FreeBSD hosts directly connected via VLAN.</div><div>Host 1 ip: x.x.12.203</div><div>Host 2 ip: x.x.12.204</div><div><br></div><div>Host 1 is FreeBSD 10.3-p12, running bird 1.6.0</div><div>Host 2 is FreeBSD 11-Stable, running bird 1.6.3</div><div><br></div><div>The problem is that Host1 can't resolve ARP of Host2 because of this kernel route:</div><div>X.X.12.204       31.44.12.204       UGH1   lagg0.150<br></div><div><br></div><div>This route is installed by bird. When I filter this route in updates - I see no problems in ARP. But where it is coming from? Imho from (show ospf state)</div><div><div><div>      router 0.0.1.2</div><div>                distance 10</div><div>                network X.X.12.200/29 metric 10</div><div>                stubnet <a href="http://172.31.1.2/32">172.31.1.2/32</a> metric 0</div><div>>                external X.X.12.200/29 metric2 20</div><div>>                external X.X.12.204/32 metric2 20</div><div>                external <a href="http://172.31.1.2/32">172.31.1.2/32</a> metric2 20</div></div></div><div><br></div><div>Configs are pretty simple and shown below. So my question is - Is this normal or something wrong with my config?</div><div><br></div><div>common part of configs:</div><div><div>protocol device main_device {</div><div>        scan time 60;</div><div>}</div></div><div><br></div><div><div>protocol direct main_direct {</div><div>        interface "*";</div><div>        check link yes;</div><div>}</div></div><div><br></div><div><div>#</div><div>#</div><div>#</div><div><br></div><div>filter f_main_kernel_import </div><div>{</div><div>    accept;</div><div>}</div><div><br></div><div>filter f_main_kernel_export</div><div>{</div><div>    if(source = RTS_STATIC || source = RTS_STATIC_DEVICE) then</div><div>        accept;</div><div>    else if(source = RTS_INHERIT) then</div><div>        accept;</div><div>    else if(source = RTS_OSPF || source = RTS_OSPF_IA || source = RTS_OSPF_EXT1 || source = RTS_OSPF_EXT2) then</div><div>        accept;</div><div>    else if(source = RTS_BGP) then {</div><div>        if(bgp_path.len < 2) then</div><div>            accept;</div><div>        else {</div><div>            if(defined(bgp_community) && (bgp_community ~ [(BGP_MC_LOCAL)] || bgp_community ~ [(BGP_MC_LOCAL_INTERNET)] || bgp_community ~ [(BGP_MC_CUSTOMER)])) then accept;</div><div>            else if(defined(bgp_ext_community) && (bgp_ext_community ~ [(BGP_EMC_LOCAL)] || bgp_ext_community ~ [(BGP_EMC_LOCAL_INTERNET)] || bgp_ext_community ~ [(BGP_EMC_CUSTOMER)])) then accept;</div><div>            else if(defined(bgp_community) && bgp_community ~ [(BGP_MC_UPSTREAM)] && fn_ipv4_default()) then accept;</div><div>            else reject;</div><div>        }</div><div>    } else</div><div>        reject "[f_main_kernel_export] reject: ", net, "/", from, "/", source;</div><div>}</div></div><div><br></div><div><div>#</div><div>filter f_main_ospf_import</div><div>{</div><div>    if(fn_ipv4_announced()) then {</div><div>        bgp_community.add(BGP_MC_LOCAL_INTERNET);</div><div>        bgp_ext_community.add(BGP_EMC_LOCAL_INTERNET);</div><div>    }</div><div>    else {</div><div>        bgp_community.add(BGP_MC_LOCAL);</div><div>        bgp_ext_community.add(BGP_EMC_LOCAL);</div><div>    }</div><div><br></div><div>    bgp_local_pref = BGP_LP_LOCAL;</div><div>    </div><div>    if(net = <a href="http://31.44.12.204/32">31.44.12.204/32</a>) then</div><div>        reject;</div><div><br></div><div>    accept;</div><div>}</div><div><br></div><div>filter f_main_ospf_export</div><div>{</div><div>    case source {</div><div>        RTS_INHERIT:</div><div>            ospf_metric2 = 20;</div><div>            accept;</div><div>        RTS_DEVICE:</div><div>            ospf_metric2 = 20;</div><div>            accept;</div><div>        RTS_STATIC_DEVICE:</div><div>            if(fn_ipv4_default()) then ospf_metric2 = 100;</div><div>            else ospf_metric2 = 20;</div><div>            accept;</div><div>        RTS_STATIC:</div><div>            ospf_metric2 = 20;</div><div>            accept;</div><div>        RTS_BGP:</div><div>            if(fn_ipv4_default()) then {</div><div>                ospf_metric2 = 100;</div><div>                accept;</div><div>            }</div><div>            else</div><div>                reject;</div><div>        RTS_OSPF:</div><div>            accept;</div><div>        RTS_OSPF_IA:</div><div>            accept;</div><div>        RTS_OSPF_EXT1:</div><div>            accept;</div><div>        RTS_OSPF_EXT2:</div><div>            accept;</div><div>        else:</div><div>            reject "[f_main_ospf_export] reject: ", net, "/", from, "/", source;</div><div>    }</div><div>}</div></div><div><br></div><div>Host1 OSPF:</div><div><div>root@br0:/usr/local/etc/bird# more ipv4_ospf.conf </div><div>#</div><div>protocol ospf main_ospf {</div><div>        rfc1583compat   yes;</div><div>        tick            2;</div><div>        router id       0.0.1.1;</div><div><br></div><div>        export filter   f_main_ospf_export;</div><div>        import filter   f_main_ospf_import;</div><div><br></div><div>        area    0.0.0.0 {</div><div><br></div><div>                networks {</div><div>                    <a href="http://172.31.1.1/32">172.31.1.1/32</a>;</div><div>                    X.X.12.200/29;</div><div>                };</div><div>                </div><div>                interface "lo*" {</div><div>                        cost            10;</div><div>                        hello           15;</div><div>                        dead            60;</div><div>                        type            ptp;</div><div>                };</div><div><br></div><div>                interface "lagg0.150" {</div><div>                        cost            10;</div><div>                        hello           2;</div><div>                        dead            10;</div><div>                };</div><div><br></div><div>        };</div><div>}</div></div><div><br></div><div>Host2 OSPF:</div><div><div>root@br0:/usr/local/etc/bird# more ipv4_ospf.conf </div><div>#</div><div>protocol ospf main_ospf {</div><div>        rfc1583compat   yes;</div><div>        tick            2;</div><div>        router id       0.0.1.2;</div><div><br></div><div>        export filter   f_main_ospf_export;</div><div>        import filter   f_main_ospf_import;</div><div><br></div><div>        area    0.0.0.0 {</div><div><br></div><div>                networks {</div><div>                    <a href="http://172.31.1.2/32">172.31.1.2/32</a>;</div><div>                    X.X.12.200/29;</div><div>                };</div><div>                </div><div>                interface "lo*" {</div><div>                        cost            10;</div><div>                        hello           15;</div><div>                        dead            60;</div><div>                        type            ptp;</div><div>                };</div><div><br></div><div>                interface "lagg0.150" {</div><div>                        cost            10;</div><div>                        hello           2;</div><div>                        dead            10;</div><div>                };</div><div><br></div><div>        };</div><div>}</div></div><div><br></div><div>Regards,</div><div>Boris</div><div><br></div></div><div dir="ltr">-- <br></div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><p dir="ltr">С уважением, <br>
Борис Коваленко </p>
</div></div>