On 14.06.2013 06:51, Sam Russell wrote:It is already separated - no one stops you from not using Device / Kernel protocol instances in your config files. Kernel protocol is _a bit_ special and OS-dependent, but generally it is just the same protocol as any other.
Hi,
I want a way to swap out the kernel/iface stuff from BIRD and replace
that with something that can talk to an OpenFlow/SDN controller. I've
made a start debugging to find out where I need to cut things into place
and put it in github (bird Git was broken yesterday so had to start from
1.3.10 tarball) https://github.com/samrussell/bird
Is anyone else keen for this? I've hooked the krt_notify,
krt_learn_announce_update and ifa_send_notify functions and these seem
to be the main things - would this be enough to make a start?
My ideal goal would be to separate all the kernel/interface code from
the engine and abstract it away in another protocol (or 2) so that
Note that you still need to have some real interface information for IGP to work if you need it.
In all other cases you can simply add new protocol/protocols in proto/ section.
I've stared some tutorial on writing new bird protocol once, but it is currently in a very early stage.
http://bird.mpls.in/projects/mpls-bird/wiki/Bird_new_proto
Maybe this can help a bit..
different kernels/controllers can be swapped out at config time or run
time, not at build time.
Keen for any feedback
Cheers
Sam