handling of the onlink next hop

Radu CARPA carpa.radu at gmail.com
Wed May 28 17:31:16 CEST 2025


Hi, Maria,

Hereafter is the (very slightly modified) full configuration.
Please tell me if you need any more context information about it.

Regards,
Radu

On 5/28/25 3:04 PM, Maria Matejka wrote:
>
> Which protocol originates the routes which are filtered by 
> |from_kubernetes|? It looks like the |from| attribute is not set 
> (which is probably another bug).
>

```
router id from "-tun*", "*";

filter from_kubernetes {
  if ( net ~ 10.0.0.0/16  ) then {
    ifname = "tunl0";
    onlink = true;
    gw = from;
    accept;
  }
  reject;
}

filter direct_tunl0 {
  if ( net ~ 10.0.0.0/16 && source = RTS_DEVICE ) then {
    accept;
  }
  reject;
};

protocol direct {
  debug { states };
  ipv4;
  interface "tunl0";
}

protocol kernel {
  merge paths on limit 32;
  learn;
  persist;
  scan time 2;
  ipv4 {
     table master4;
     import all;
     export filter from_kubernetes;
  };
  graceful restart;
}

protocol device {
  debug { states };
  scan time 2;
}

template bgp bgp_template {
  passive on; # Kubernetes nodes will connect to us.
  debug { states };
  password "password";
  local as 64512;
  ipv4 {
    import filter from_kubernetes;
    export filter direct_tunl0;
    add paths on;
  };
  graceful restart;
  connect delay time 2;
  connect retry time 5;
  error wait time 5,30;
}

protocol bgp kube_nodes from bgp_template {
  neighbor range 10.0.0.0/16 internal;
}

log syslog all;
```

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20250528/d0bae96a/attachment.htm>


More information about the Bird-users mailing list