<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">W dniu 3.01.2026 o 22:44, Maria Matejka
      via Bird-users pisze:<br>
    </div>
    <blockquote type="cite"
      cite="mid:aVmNyHUhQAiwD6_r@struhadlo.private.jmq.cz">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <meta charset="utf-8">
      <meta name="generator" content="pandoc">
      <meta name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=yes">
      <style>html {
  line-height: 1.2;
  font-family: serif;
  font-size: 0.9em;
  color: black; 
  background-color: white;
}body {
  margin: 0;
  margin-right: auto;
  max-width: 36em;
  padding: 1em;
  hyphens: auto;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}p {
  margin: 1em 0;
}a {
  color: black;
}a:visited {
  color: black;
}img {
  max-width: 100%;
}h1, h2, h3, h4, h5, h6 {
  margin-top: 1.4em;
}h5, h6 {
  font-size: 1em;
  font-style: italic;
}h6 {
  font-weight: normal;
}ol, ul {
  padding-left: 1.7em;
  margin-top: 1em;
}li > ol, li > ul {
  margin-top: 0;
}blockquote {
  margin: 0.5em;
  padding-left: 0.5em;
  border-left: 2px solid #e6e6e6;
  color: #444;
}code {
  font-family: 'Lucida Console', monospace;
  font-size: 95%;
  margin: 0;
}pre {
  margin: 1em 0;
  overflow: auto;
  max-width: unset;
  width: fit-content;
}pre code {
  padding: 0;
  overflow: visible;
  overflow-wrap: normal;
  max-width: unset;
  white-space: pre-wrap;
}pre code span {
  white-space: pre;
}.sourceCode {
 background-color: transparent;
 overflow: visible;
}code.diff span.kw,
code.diff span.dt {
  font-weight: bold;
}code.diff span.va {
  background-color: rgba(192, 255, 192, 64);
  color: rgb(0, 64, 0);
}code.diff span.st {
  background-color: rgba(255, 192, 192, 64);
  color: rgb(64, 0, 0);
}pre.diff {
  background-color: rgb(240, 240, 240);
  padding: 0.4em;
  border: 1pt solid grey;
}hr {
  background-color: black;
  border: none;
  height: 1px;
  margin: 1em 0;
}table {
  margin: 1em 0;
  border-collapse: collapse;
  width: 100%;
  overflow-x: auto;
  display: block;
  font-variant-numeric: lining-nums tabular-nums;
}table caption {
  margin-bottom: 0.75em;
}tbody {
  margin-top: 0.5em;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
}th {
  border-top: 1px solid black;
  padding: 0.25em 0.5em 0.25em 0.5em;
}td {
  padding: 0.125em 0.5em 0.25em 0.5em;
}header {
  margin-bottom: 4em;
  text-align: center;
}code{white-space: pre-wrap;}span.smallcaps{font-variant: small-caps;}span.underline{text-decoration: underline;}div.column{display: inline-block; vertical-align: top; width: 50%;}div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}ul.task-list{list-style: none;}q { quotes: "„" "”" "»" "«"; }.display.math{display: block; text-align: center; margin: 0.5rem auto;}</style>
      <p>Dear BIRD users,</p>
      <p>we are releasing BIRD versions 3.2.0 and 2.18.</p>
      <p>We have implemented BGP dynamic onlink/unnumbered and
        link-local
        connection scenarios and fixed various behavior bugs in
        reconfiguration.
        Also, AS Sets in AS Paths are now considered malformed by
        default.</p>
      <p>For BIRD 3.2.0, we have split back the <code>igp_metric</code>
        attribute so that now you may find also <code>local_metric</code>
        where
        applicable. There was a confusion in BIRD 3.0 and 3.1 arising
        from two
        distinct attributes in BIRD 2 named the same in the code, and me
        not
        understanding what Santiago was telling me about that. More on
        that in
        updated 3.2 documentation.</p>
      <p>We have done various minor updates, e.g. flags in RAdv (both
        versions), fixed a RIP non-determinism (v3) and additional CLI
        configuration bugs.</p>
      <p>There have been some more core reworks, removing some more
        performance chokepoints.</p>
      <p>Both versions also include all relevant fixes applied for 3.1.5
        and
        2.17.3.</p>
      <p>Considering unfinished work, we also have several Babel patches
        pending which we failed again to review in time to merge into
        2.18.
        We’ll do them as soon as possible. Also, in BIRD 3.x, the “show
        route
        for” displays all covering routes instead of just the longest
        prefix
        match. We’re working on a fix but it’s quite a can of worms.</p>
      <p>Officially supported versions are now:</p>
      <ul>
        <li>3.2.0 and 2.18 until 6 months after 3.3.0 and 2.19 get
          released</li>
        <li>LTS 3.1.x and 2.17.x, expected to track Debian Trixie</li>
      </ul>
      <p>The DEB packages in pkg.labs.nic.cz are already there, and RPMs
        will
        come soon. Please note that the upstream DEBs weren’t built
        directly
        from the tagged commit but from the <code>release-v2.18</code>
        and
        <code>release-v3.2</code> branch because of our current CI
        limitations.
        We’ll fix that for later versions.</p>
      <p>Happy new year!<br>
        Maria and the BIRD Team</p>
      <p>–<br>
        Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.</p>
    </blockquote>
    <p><br>
    </p>
    <p>After upgrade we spotted small regression with AS-SETs in both
      2.18 and 3.2:</p>
    <p><br>
      Jan 15 08:46:01 rtr bird[4647]: bgp_voicenet_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 18<br>
      Jan 15 08:46:01 rtr bird[4647]: bgp_voicenet_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      Jan 15 08:46:23 rtr bird[4647]: bgp_rmsk_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 26<br>
      Jan 15 08:46:23 rtr bird[4647]: bgp_rmsk_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      Jan 15 08:46:50 rtr bird[4647]: bgp_voicenet_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 22<br>
      Jan 15 08:46:50 rtr bird[4647]: bgp_voicenet_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      Jan 15 08:47:19 rtr bird[4647]: bgp_voicenet_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 22<br>
      Jan 15 08:47:19 rtr bird[4647]: bgp_voicenet_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      Jan 15 08:47:25 rtr bird[4647]: bgp_rmsk_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 30<br>
      Jan 15 08:47:25 rtr bird[4647]: bgp_rmsk_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      Jan 15 08:47:56 rtr bird[4647]: bgp_rmsk_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 26<br>
      Jan 15 08:47:56 rtr bird[4647]: bgp_rmsk_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      Jan 15 08:47:57 rtr bird[4647]: bgp_rmsk_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 26<br>
      Jan 15 08:47:57 rtr bird[4647]: bgp_rmsk_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      Jan 15 08:48:22 rtr bird[4647]: bgp_rmsk_v4: Malformed AS_PATH
      attribute - AS_SET segment (1) at 26<br>
      Jan 15 08:48:22 rtr bird[4647]: bgp_rmsk_v4: Invalid route
      202.1.84.0/23 withdrawn<br>
      <br>
      <br>
    </p>
    <pre class="moz-signature" cols="72">-- 
Marek Zarychta</pre>
  </body>
</html>