Hi!

I tried to run a bird (v1.6.3) under FreeBSD on ARM architecture. An error 
occurred:

 <ERR> KRT: Error sending route XX.XX.XX.XX/XX to kernel: Invalid argument

My config:

log "/var/log/bird.log" all;
router id xx.xx.xx.xx;

#debug protocols all;

protocol device {
    scan time 10;
}

protocol kernel {
    import none;
    export all;
    scan time 15;
}

protocol bgp ULNIX {
    local as 65507;
    neighbor xx.xx.xx.xx as xxx;
    source address xx.xx.xx.xx;
    import all;
    import limit 5000 action restart;
}

Studying the source code, found out that the problem with aligning the 
structure (file: /sysdep/bsd/krt-sock.c):

struct ks_msg
{
  struct rt_msghdr rtm;
  struct sockaddr_storage buf[RTAX_MAX];
};

After making changes (see patch in attached), I managed to run the bird.

--
Regards
Eugene Sevastyanov

Attachment: krt-sock.patch
Description: Binary data

Reply via email to