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