<div dir="ltr">Hello list,<div><br></div><div>I'm a new in Bird word :).</div><div><br></div><div>I'm working on a Bird mock-up. I'm actually blocked on OSPF filters.</div><div><br></div><div>OSPF conf for First Router:</div><div><i>protocol ospf OSPF {</i><br></div><div><div><i>        import filter NFRANCE_OSPF_IN;</i></div><div><i>        export filter NFRANCE_OSPF_OUT;</i></div><div><i>        rfc1583compat yes;</i></div><div><i>        area 0 {</i></div><div><i>                interface "xn1" {</i></div><div><i>                        type broadcast;</i></div><div><i>                };</i></div><div><i>                interface "xn2" {</i></div><div><i>                        stub;</i></div><div><i>                };</i></div><div><i>        };</i></div><div><i>};</i></div></div><div><br></div><div><br></div><div>OSPF conf for Second Router:<br></div><div><div><i>protocol ospf OSPF {</i></div><div><i>        import filter NFRANCE_OSPF_IN;</i></div><div><i>        export filter NFRANCE_OSPF_OUT;</i></div><div><i>        rfc1583compat yes;</i></div><div><i>        area 0 {</i></div><div><i>                interface "xn1" {</i></div><div><i>                        type broadcast;</i></div><div><i>                };</i></div><div><i>                interface "xn2" {</i></div><div><i>                        stub;</i></div><div><i>                };</i></div><div><i>        };</i></div><div><i>};</i></div></div><div><br></div><div><br></div><div>Filters:</div><div><i>filter NFRANCE_OSPF_IN {</i></div><div><i><br></i></div><div><i>                if  net ~ [<a href="http://80.247.224.0/20{24,32}">80.247.224.0/20{24,32}</a>] && (source ~ [ RTS_OSPF_EXT1, RTS_OSPF_EXT2 ])</i></div><div><i>                        then</i></div><div><i>                                {</i></div><div><i>                                print net, " is accepted => OSPF_IN Public Nfrance";</i></div><div><i>                                accept;</i></div><div><i>                                }</i></div><div><i>                if  net ~ [<a href="http://0.0.0.0/0{30,30}">0.0.0.0/0{30,30}</a>] && (source ~ [ RTS_OSPF_EXT1, RTS_OSPF_EXT2 ])</i></div><div><i>                        then</i></div><div><i>                                {</i></div><div><i>                                print net, " is accepted => OSPF_IN Interco /30";</i></div><div><i>                                accept;</i></div><div><i>                                }</i></div><div><i>                else</i></div><div><i>                                {</i></div><div><i>                                print net, " is rejected => non OSPF_IN compliant";</i></div><div><i>                                reject;</i></div><div><i>                                }</i></div><div><i>                }</i></div><div><i> </i></div><div><br></div><div><a href="http://80.247.227.2/24">80.247.227.2/24</a> is installed on Router 1, xn2 interface,<br></div><div>Export network <a href="http://80.247.227.0/24">80.247.227.0/24</a> on router 1 is ok but Import on the another router is KO. </div><div><br></div><div>Indeed, </div><div><br></div><div>If I use the condition:             <i>if  net ~ [<a href="http://80.247.224.0/20{24,32}">80.247.224.0/20{24,32}</a>] <b>&& (source ~ [ RTS_OSPF_EXT1, RTS_OSPF_EXT2 ])</b></i></div><div><a href="http://80.247.227.0/24">80.247.227.0/24</a> is rejected by the OSPF neighbor filter rule<i> NFRANCE_OSPF_IN</i><br></div><div><div>2016-11-25 16:31:28 <INFO> <a href="http://80.247.227.0/24">80.247.227.0/24</a> is rejected => non OSPF_IN compliant</div></div><div><br></div><div><div>If I use the condition:              <i>if  net ~ [<a href="http://80.247.224.0/20{24,32}">80.247.224.0/20{24,32}</a>] </i>without <i><b>&& (source ~ [ RTS_OSPF_EXT1, RTS_OSPF_EXT2 ])</b></i></div></div><div><div><a href="http://80.247.227.0/24">80.247.227.0/24</a> is accepted by the OSPF neighbor filter rule<i> NFRANCE_OSPF_IN</i><br></div><div></div></div><div><div>2016-11-25 16:42:18 <INFO> <a href="http://80.247.227.0/24">80.247.227.0/24</a> is accepted => OSPF_IN Public Nfrance</div><div><br></div><div>And when I check the bird route when network is accepted, I can see "OSPF"</div><div><div>bird> show  route</div><div><a href="http://0.0.0.0/0">0.0.0.0/0</a>          via 192.168.0.254 on xn0 [kernel1 16:35:00] * (10)</div><div><a href="http://192.168.0.221/32">192.168.0.221/32</a>   dev lo0 [kernel1 16:35:00] * (10)</div><div><b><a href="http://80.247.227.0/24">80.247.227.0/24</a>    via 172.16.51.4 on xn1 [OSPF 16:42:18] * I (150/20) [192.168.0.223]</b></div><div><a href="http://172.16.51.1/32">172.16.51.1/32</a>     dev lo0 [kernel1 16:35:00] * (10)</div><div>bird></div></div><div><br></div><div>So I don't understand why <b style="font-style:italic">&& (source ~ [ RTS_OSPF_EXT1, RTS_OSPF_EXT2 ]) </b>does not match when the rule is added to my filter ?</div><div><br></div><div>I use FreeBSD 10, Is there an issue on FBSD  regarding RTS_* ?</div><div><div class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><pre style="font-family:"courier new",courier,monospace,arial,sans-serif;font-size:14px;margin-top:0px;margin-bottom:0px;white-space:pre-wrap;word-wrap:break-word;color:rgb(0,0,0)">__<table border="0" cellpadding="0" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;white-space:normal;table-layout:fixed"><tbody><tr><td width="150" align="left" valign="top"><p style="line-height:12px;font-family:helvetica,arial,sans-serif;font-size:10px;margin-right:10px;margin-bottom:10px"></p></td><td width="320" align="left" nowrap><p style="line-height:16px;font-family:helvetica,arial,sans-serif"><font color="#034462"><span style="font-size:13px"><b>Jean-Baptiste COUPIAC</b></span></font><br><br></p></td></tr></tbody></table></pre></div></div></div></div></div></div></div></div>
</div></div>