then run a BIRD BGP session between Host A and Host B to propagate those routes to the other host - which would normally give us:
On Host A: 10.65.0.3 via 10.240.0.5
On Host B: 10.65.0.2 via 10.240.0.4
But we don't want those normal routes, because then the data would get lost at 'Router'. So we enhance and configure BIRD as follows.
- In the export filter for protocol kernel, for the relevant routes, we set an attribute 'krt_tunnel = tunl0'.
- We modify BIRD, as in the attached patches, to understand that that means that those routes should have 'dev tunl0'.
Then instead, we get:
On Host A: 10.65.0.3 via 10.240.0.5 dev tunl0 onlink
On Host B: 10.65.0.2 via 10.240.0.4 dev tunl0 onlink
which allows successful routing of data between the Pods.
Thanks for reading this far! I now have three questions:
1. Does the routing approach above make sense? (Or is there some better or simpler or already supported way that we could achieve the same thing?)
2. If (1), would the BIRD team accept patches broadly on the lines of those that are attached?
3. If (2), please let me know if the attached patches are already acceptable, or otherwise what further work is needed for them.
Many thanks,
Neil