<div dir="ltr"><div>Hi,</div><div><br></div><div>Probably "net.len = 0" should be enough.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 8, 2022 at 9:14 AM Mikhail Mayorov <<a href="mailto:mm@tagan.ru">mm@tagan.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hi!</p>
    <p>I am using a similar function for both IPv4/IPv6.<br>
    </p>
    <p>function
isdefault()                                                                                                                                                                                             
       <br>
{                                                                                                                                                                                                                
       <br>
          if net.type = NET_IP4 && net = <a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> then return
true;                                                                                                                                                   
       <br>
          if net.type = NET_IP6 && net = ::/0 then return
true;                                                                                                                                                        
       <br>
          return
false;                                                                                                                                                                                                
       <br>
      }</p>
    <p>Maybe I can reduce the number of comparisons?<br>
      If I compare ::/0 with an IPv4 address, what will be the result?<br>
    </p>
    <div>On 07.08.2022 19:21, Ondrej Zajicek
      wrote:<br>
    </div>
    <blockquote type="cite">
      <pre>On Sun, Aug 07, 2022 at 04:24:22PM +0200, Marcus Büttemeyer wrote:
</pre>
      <blockquote type="cite">
        <pre>OK, the problem seems to have been the name of the filter. BIRD says
"syntax error, unexpected DEFAULT" so I renamed the filter to
"reject_default" and that works. What did BIRD not like about
"default-reject"?
</pre>
      </blockquote>
      <pre>Hi

BIRD syntax allows only alphanumeric characters and underscore in names,
so default-reject is parsed as three tokens: "default", "-", "reject".

You can use apostrophes for defining names with other symbols:
 'default-reject'


</pre>
      <blockquote type="cite">
        <pre>Also, I have said filter configured as import and export filters in both
ospfv3 and kernel6 but the router in question still announces the default
route via OSPFv3. Can anybody tell me what filter I have to use in which
direction on which protocol so that a) the router ignores the incoming OSPF
default route and b) does not redistribute his default route via OSPF?
</pre>
      </blockquote>
      <pre>You should use both import (for (a)) and export (for (b)) filter for OSPF
protocol.

Also note the filter should be more like:

 filter default-reject {
         if net = ::/0 then reject; else accept;
 }


There should be explicit accept (it should fail with error when ends
without reject or accept), and although "::/0 ~ net" should work, it
is kind of strange expression (it means if ::/0 is subnet or equal to
'net').

</pre>
    </blockquote>
    <div>-- <br>
      <div>
        <pre>Regards,
Mikhail V. Majorov
Megalink, CEO
B.Bulvarnaya 11, Taganrog, Russia, 347913
tel work: +7 8634 431431 (ext 101)
tel mobile: +7 905 4309006
</pre>
        <img src="cid:1827c5ca39d78c893661" alt="pg19.ru" width="152" height="67">
      </div>
    </div>
  </div>
</blockquote></div>