calico
calico copied to clipboard
Felix programs IPIP tunnels
Description
Currently, it's BIRD that programs routes for IPIP encapsulation, which is unlike VXLAN|Wireguard where Felix programs the routes. This PR enables Felix to programs the IPIP routes as well, and not rely on BIRD anymore. The benefits are:
- Not needing an extra component (i.e. BIRD) for IPIP encapsulation. Enabling Felix to program IPIP routes and not running BIRD saves some memory/CPU.
- Allowing to get rid of Calico fork of BIRD (v1.6) which is way old. Instead we can use upstream BIRD.
- In future, we can also make Felix program no encap routes as well. and get rid of internal BGP mesh.
This PR includes:
- Adding support to Felix to program IPIP routes.
- Updating BIRD templates to not export IPIP routes, i.e routes with
tunl0
interface. - Updating BIRD templates to not program IPIP routes to kernel
- Introducing a new value of
ipip
forcalico_backend
variable to enable IPIP encapsulation without running BIRD.bird
value still enables IPIP encapsulation and also start BIRD service.
Related issues/PRs
Todos
- [x] Tests
- [ ] Documentation
- [ ] Release note
Release Note
TBD
Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-*
label.
-
docs-pr-required
: This change requires a change to the documentation that has not been completed yet. -
docs-completed
: This change has all necessary documentation completed. -
docs-not-required
: This change has no user-facing impact and requires no docs.
Every PR needs one release-note-*
label.
-
release-note-required
: This PR has user-facing changes. Most PRs should have this label. -
release-note-not-required
: This PR has no user-facing changes.
Other optional labels:
-
cherry-pick-candidate
: This PR should be cherry-picked to an earlier release. For bug fixes only. -
needs-operator-pr
: This PR is related to install and requires a corresponding change to the operator.