<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi,</p>
    <p>Is AS path prepending on backup router not an option?</p>
    <p><font face="monospace">#     example<br>
        #    if bgp_path ~ [= myas =] then<br>
        #        bgp_path.prepend(myas);<br>
        #    accept;<br>
        <br>
                if proto = "static_bgp_v4" then {<br>
                        bgp_path.prepend(myas);<br>
                        accept;<br>
                }<br>
                else reject;</font></p>
    <p>Regards,<br>
    </p>
    <div class="moz-signature">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <span style="font-family: helvetica,arial,sans-serif; font-size:
        12px; line-height: 16px; font-weight: bold; color: #4E4E4E;">Gregor
        Fajdiga</span><br>
      <span style="font-family: helvetica,arial,sans-serif; font-size:
        12px; line-height: 16px; color: #4E4E4E;">Sistemski
        administrator, Informatika<br>
        System administrator, IT</span>
      <br>
      <br>
      <span style="font-family: helvetica,arial,sans-serif; font-size:
        12px; line-height: 16px; color: #4E4E4E;">Delo, d.o.o.</span><br>
      <span style="font-family: helvetica,arial,sans-serif; font-size:
        12px; line-height: 16px; color: #4E4E4E;">Likozarjeva 1,<br>
        SI-1000 Ljubljana</span><br>
      <br>
      <span style="font-family: helvetica,arial,sans-serif; font-size:
        12px; line-height: 16px; color: #4E4E4E;">+386 1 4737 993</span><br>
      <a href="mailto:fajdiga@delo.si" style="font-family:
        helvetica,arial,sans-serif; font-size: 12px; line-height: 16px;
        text-decoration: none;" class="moz-txt-link-freetext">fajdiga@delo.si</a><br>
      <br>
      <a href="http://www.delo.si" style="font-family:
        helvetica,arial,sans-serif; font-size: 12px; line-height: 16px;
        text-decoration: none;">www.delo.si</a><br>
      <br>
      <br>
    </div>
    <div class="moz-cite-prefix">On 21/01/2022 15:49, Alessandro Brega
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CALAmg3bqDxZjGWvRVCJt4xdeQ2dMZ3HZ0Fd27fwcT7O4XbE63A@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hello guys,
        <div><br>
        </div>
        <div>I have two identically configured routers (bird2, only the
          local ip is different), connected to one upstream and a few
          internal vlans. Each router has a BGP session with the
          upstream router. I have a couple of small local subnets (/27,
          /28, ..), which are on different vlan interfaces, which I need
          to announce to upstream. They all belong to one big network
          (/23). As the upstream router doesn't accept routes smaller
          than /24, I only announce a single route to the /23 network. I
          uploaded my bird configuration <a
            href="https://controlc.com/aa226135" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">https://controlc.com/aa226135</a>.</div>
        <div><br>
        </div>
        <div>For completeness: for first hop redundancy (default gateway
          of the clients using the small subnets) I use keepalived on my
          routers, which works fine so far.<br>
        </div>
        <div><br>
        </div>
        <div>What's the problem:</div>
        <div>As both routers announce the same network to upstream,
          upstream sends some of its traffic to router1 and some to
          router2 (but doesn't seem balanced in any way). This seems to
          cause (at least) tcp ordering issues (I suspect, couldn't
          confirm it in any way), because sometime some connections from
          local client to clients behind the upstream "hang" for a
          couple of seconds. If I stop bird on the backup router (so all
          traffic only goes to the active one) no hangs occur. </div>
        <div><br>
        </div>
        <div>The question:</div>
        <div>Is my setup ok or is it (completely) broken? Is it ok to
          have both routers announce the same subnets at the same time?</div>
        <div><br>
        </div>
        <div>Possible solution I'm thinking about but don't know how to
          do it:</div>
        <div>Both routers should have an active BGP sessions (for fast
          failover), but only the router which is active (and thus has
          the gateway ips) should announce the "aggregated" route (the
          /23). This way no traffic would go over the backup. But I
          wonder how this could be configured in bird? I could configure
          keepalived to not only create the gateway ips but also the
          small subnets (in my current config the subnets are created by
          bird). Would this make things easier for bird?</div>
        <div><br>
        </div>
        <div>
          <div>My last resort would be to have keepalived execute
            scripts which reconfigure bird on failover. But somehow this
            feels wrong? Or is this the way to do it?<br>
          </div>
        </div>
        <div><br>
        </div>
        <div>Thank you very much for reading and any help. I'm
          struggling with this for days now... :-(</div>
        <div><br>
        </div>
        <div>Alessandro</div>
      </div>
    </blockquote>
  </body>
</html>