Hi tech@,

I'm using the ospfd with redistribute rtlabel statements.
If I add new addresses to interfaces with a route label, ospfd will
not notice it, because the route messages don't contain the route
label. Please have a look to the attached patch. It adds the
route label, so ospfd can handle it properly.

Regards,

florian


Index: rtsock.c
===================================================================
RCS file: /cvs/src/sys/net/rtsock.c,v
retrieving revision 1.137
diff -u -p -r1.137 rtsock.c
--- rtsock.c    22 Jan 2014 06:28:09 -0000      1.137
+++ rtsock.c    11 Feb 2014 19:43:17 -0000
@@ -1193,12 +1193,15 @@ rt_newaddrmsg(int cmd, struct ifaddr *if
                if ((cmd == RTM_ADD && pass == 2) ||
                    (cmd == RTM_DELETE && pass == 1)) {
                        struct rt_msghdr *rtm;
+                       struct sockaddr_rtlabel sa_rl;

                        if (rt == 0)
                                continue;
                        info.rti_info[RTAX_NETMASK] = rt_mask(rt);
                        info.rti_info[RTAX_DST] = sa = rt_key(rt);
                        info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
+                       info.rti_info[RTAX_LABEL] =
+                               rtlabel_id2sa(rt->rt_labelid, &sa_rl);
                        if ((m = rt_msg1(cmd, &info)) == NULL)
                                continue;
                        rtm = mtod(m, struct rt_msghdr *);

Reply via email to