<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Hello, Maria and everyone on the list...<br>

This is Great News! I'm so happy to receive that mail!<br><br>That part about "Filter Rework" made me a bit anxious!<br>I don't know exactly means the part:</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"> "we decided to preprocess the filter internal structure to another structure which is much easier to execute"...<br>But, to me, it sounds like fragmenting, even more, the "test, mark, and actuate" on the filters... Right?<br><br><br>Talking about BGP, I love Bird because only with it I know how to do what I call "2 cycles filtering"...<br><br></div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">- I create several Small Tests, where each route is tested and marked somehow...<br>- On each Peer-Type, import or export(but mostly on import), and I define which tests will be called to be executed on that route, and live their mark on each route.<br>  - I here I test, Mask-lenght, AS-Set,

AS-Origin, AS-Path,  foreigner-communities, internal-communities, a lot of Regex,

 and all those multiple complex things...<br>- And at the end of the filter-police I do an "IF" that tests on a combined And+Or the marks lived by the previous tests, and based on that do the accept, reject, add-communities, adjust MED/Local-Pref/Etc...</div><div class="gmail_default" style="font-family:courier new,monospace;font-size:small"><br><br>That thing with "Lua scripts" that you mentioned, would be something like what I described?<br><br><br>Thanks in advance!<br><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em seg., 15 de mar. de 2021 às 07:44, Maria Matejka <<a href="mailto:maria.matejka@nic.cz">maria.matejka@nic.cz</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello!<br>
<br>
As we're working on multithreading support in BIRD, there is a need to <br>
document this. There is a user documentation (which almost doesn't <br>
change) and a programmer's documentation composed mostly of comments <br>
spread across the source code.<br>
<br>
There is also a kind-of high-level documentation to describe how are the <br>
BIRD's internal processes changing. If you're just an ordinary user, you <br>
don't need to care much about that. We're sharing this mostly for people <br>
who know (or want to know) how BIRD works internally and how it is going <br>
to change.<br>
<br>
The zeroth chapter is here, other chapters should follow soon:<br>
<br>
<a href="https://en.blog.nic.cz/2021/03/15/bird-journey-to-threads-chapter-0-the-reason-why/" rel="noreferrer" target="_blank">https://en.blog.nic.cz/2021/03/15/bird-journey-to-threads-chapter-0-the-reason-why/</a><br>
<br>
(Content: An introduction and summary of previous major BIRD structural <br>
changes.)<br>
<br>
I deeply appreciate your feedback and questions.<br>
<br>
Maria<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><font size="2"><span style="font-family:"courier new",monospace">Douglas Fernando Fischer</span><br style="font-family:"courier new",monospace"><span style="font-family:"courier new",monospace">Engº de Controle e Automação</span></font><div style="padding:0px;margin-left:0px;margin-top:0px;overflow:hidden;color:black;text-align:left;line-height:130%;font-family:"courier new",monospace"></div></div>