Skip to content

Conversation

@Lupul
Copy link

@Lupul Lupul commented Feb 13, 2016

Here are the changes i made to import BGP routes in netmap-fwd ( #3 )

Since the interfaces are still available to the kernel, Quagga can listen and install routes for the interfaces assigned to netmap-fwd

Ribsync module will listen for those RIB events and will update it.s internal routing table accordingly

First test: create ribsync module, hook into the event system and listen for RIB events
There is some 64bit(long) alignment involved here, have no ideea where it is documented

I have used dnsmasq code: https://github.com/liquidm/dnsmasq/blob/8b285b8cd2e289e532b106a797d540f016eb7ab0/src/bpf.c#L436
Could not use existing route(add/del) functions because I would have to expose internal state outside of inet module and I don't want to do that.

I basically used inet_cli_route_(add/del) and took out the cli parsing stuff.
This will increase mem usage (~200mb) so this should be just a temp. workaround
@ocochard
Copy link

On a fresh FreeBSD 12-head (r315463) with this patch, I've got on the console error message "Route message contains errors(1500), SKIPPING." and routes are not synced.

@Lupul
Copy link
Author

Lupul commented Mar 18, 2017

Hello Olivier,
the patch was build on: "FreeBSD11.0-CURRENT FreeBSD 11.0-CURRENT #0 r294912"

I will try next week to build it on the latest iso from here:
https://download.freebsd.org/ftp/snapshots/amd64/amd64/ISO-IMAGES/12.0/
(I didn't found a r315463 iso)

@ocochard
Copy link

There is some ARP resolution problem too with this patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants