<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>