Thanks, that patch is working perfectly for me. I look forward to seeing this in the next release.

On Tue, Mar 3, 2015 at 10:11 AM, Ondrej Zajicek <santiago@crfreenet.org> wrote:
On Tue, Mar 03, 2015 at 09:48:41AM -0500, Clint Armstrong wrote:
> So I have briefly tested a change that should allow OSPF broadcast over GRE
> so long as the multicast flag is set on the GRE interface, enabling the
> behavior you were initially expecting. I'd love to hear feedback on this,
> especially if anyone is aware of problems this might cause.
>
> diff --git sysdep/linux/netlink.c sysdep/linux/netlink.c
> index 860c860..4b543a0 100644
> --- sysdep/linux/netlink.c
> +++ sysdep/linux/netlink.c
> @@ -431,7 +431,7 @@ nl_parse_link(struct nlmsghdr *h, int scan)
>   f.flags |= IF_MULTIACCESS | IF_LOOPBACK | IF_IGNORE;
>        else if (fl & IFF_POINTOPOINT) /* PtP */
>   f.flags |= IF_MULTICAST;
> -      else if (fl & IFF_BROADCAST) /* Broadcast */
> +      else if (fl & (IFF_BROADCAST || IFF_MULTICAST)) /* Broadcast */
>   f.flags |= IF_MULTIACCESS | IF_BROADCAST | IF_MULTICAST;
>        else
>   f.flags |= IF_MULTIACCESS; /* NBMA */

This would work most likely without problems.

I would use just this one:

diff --git a/sysdep/linux/netlink.c b/sysdep/linux/netlink.c
index 860c860..48dd8ba 100644
--- a/sysdep/linux/netlink.c
+++ b/sysdep/linux/netlink.c
@@ -436,6 +436,9 @@ nl_parse_link(struct nlmsghdr *h, int scan)
       else
        f.flags |= IF_MULTIACCESS;      /* NBMA */

+      if (fl & IFF_MULTICAST)
+       f.flags |= IF_MULTICAST;
+
       ifi = if_update(&f);

       if (!scan)

--
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."