diff options
author | Sergey Matveychuk <sem@FreeBSD.org> | 2011-10-10 09:43:21 +0000 |
---|---|---|
committer | Sergey Matveychuk <sem@FreeBSD.org> | 2011-10-10 09:43:21 +0000 |
commit | 465bec37c02e0e78057d1d603edbd13fe22d848d (patch) | |
tree | 114b50e10a55d15b7a2e2d43e05dfcc402d82ffe /net/bird | |
parent | 4be6594a5334310c133f5fa42c63f3504ef24294 (diff) | |
download | ports-465bec37c02e0e78057d1d603edbd13fe22d848d.tar.gz ports-465bec37c02e0e78057d1d603edbd13fe22d848d.zip |
Notes
Diffstat (limited to 'net/bird')
-rw-r--r-- | net/bird/Makefile | 5 | ||||
-rw-r--r-- | net/bird/distinfo | 4 | ||||
-rw-r--r-- | net/bird/files/fibs.diff | 54 |
3 files changed, 31 insertions, 32 deletions
diff --git a/net/bird/Makefile b/net/bird/Makefile index b189620b9a09..8615315a6463 100644 --- a/net/bird/Makefile +++ b/net/bird/Makefile @@ -6,7 +6,7 @@ # PORTNAME= bird -PORTVERSION= 1.3.3 +PORTVERSION= 1.3.4 CATEGORIES= net MASTER_SITES= ftp://bird.network.cz/pub/bird/ @@ -40,8 +40,7 @@ post-install: @${ECHO_MSG} @${ECHO_MSG} " WARNING: Please take a look on kern/134931" @${ECHO_MSG} " WARNING: before using multiple fibs in production!" - @${ECHO_MSG} " 8.2-STABLE kernel patch available here:" - @${ECHO_MSG} " http://static.ipfw.ru/patches/rtsock_82S-20110725.diff" + @${ECHO_MSG} " This PR was fixed in r225975(8.2-S) on Oct 4, 2011" @${ECHO_MSG} @${ECHO_MSG} ===================================================================== @${ECHO_MSG} diff --git a/net/bird/distinfo b/net/bird/distinfo index fa54d412b8e3..276df66fd0ac 100644 --- a/net/bird/distinfo +++ b/net/bird/distinfo @@ -1,2 +1,2 @@ -SHA256 (bird-1.3.3.tar.gz) = 9bdf465a3f5801c1c4cb93c13ae0a49a29f8b80773c1510d94970b681daaa89e -SIZE (bird-1.3.3.tar.gz) = 758014 +SHA256 (bird-1.3.4.tar.gz) = 0b97c7486515b3ec81b34935859c0b66d92e2cc3f1f001e640d5d38e10c61dc6 +SIZE (bird-1.3.4.tar.gz) = 759228 diff --git a/net/bird/files/fibs.diff b/net/bird/files/fibs.diff index e0858f924685..7dedf3a3b862 100644 --- a/net/bird/files/fibs.diff +++ b/net/bird/files/fibs.diff @@ -91,7 +91,7 @@ Index: sysdep/bsd/krt-sock.c int krt_capable(rte *e) { -@@ -53,6 +51,49 @@ krt_capable(rte *e) +@@ -53,6 +51,49 @@ ); } @@ -141,44 +141,44 @@ Index: sysdep/bsd/krt-sock.c #define ROUNDUP(a) \ ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long)) -@@ -69,7 +110,7 @@ krt_capable(rte *e) +@@ -69,7 +110,7 @@ body += l;} - static void + static int -krt_sock_send(int cmd, rte *e) +krt_sock_send(struct krt_proto *p, int cmd, rte *e) { net *net = e->net; rta *a = e->attrs; -@@ -180,23 +221,23 @@ static void +@@ -180,7 +221,7 @@ l = body - (char *)&msg; msg.rtm.rtm_msglen = l; - if ((l = write(rt_sock, (char *)&msg, l)) < 0) { + if ((l = write(p->rt_sock, (char *)&msg, l)) < 0) { - log(L_ERR "KRT: Error sending route %I/%d to kernel", net->n.prefix, net->n.pxlen); + log(L_ERR "KRT: Error sending route %I/%d to kernel: %m", net->n.prefix, net->n.pxlen); + return -1; } +@@ -189,15 +230,15 @@ } void --krt_set_notify(struct krt_proto *p UNUSED, net *net, rte *new, rte *old) -+krt_set_notify(struct krt_proto *p, net *net, rte *new, rte *old) +-krt_set_notify(struct krt_proto *p UNUSED, net *n, rte *new, rte *old) ++krt_set_notify(struct krt_proto *p, net *n, rte *new, rte *old) { + int err = 0; + if (old) - { - DBG("krt_remove_route(%I/%d)\n", net->n.prefix, net->n.pxlen); -- krt_sock_send(RTM_DELETE, old); -+ krt_sock_send(p, RTM_DELETE, old); - } +- krt_sock_send(RTM_DELETE, old); ++ krt_sock_send(p, RTM_DELETE, old); + if (new) - { - DBG("krt_add_route(%I/%d)\n", net->n.prefix, net->n.pxlen); -- krt_sock_send(RTM_ADD, new); -+ krt_sock_send(p, RTM_ADD, new); - } - } +- err = krt_sock_send(RTM_ADD, new); ++ err = krt_sock_send(p, RTM_ADD, new); -@@ -218,25 +259,34 @@ void + if (err < 0) + n->n.flags |= KRF_SYNC_ERROR; +@@ -223,25 +264,34 @@ krt_set_start(struct krt_proto *x, int first UNUSED) { sock *sk_rt; @@ -188,18 +188,18 @@ Index: sysdep/bsd/krt-sock.c - if (ks_open_tried) - return; +- +- ks_open_tried = 1; + if (!strcmp(x->p.proto->name, "Kernel")) + { + c = (struct krt_config *)x->p.cf; + fib = c->scan.table_id; -- ks_open_tried = 1; +- DBG("KRT: Opening kernel socket\n"); + DBG("KRT: Opening kernel route socket to fib %d\n", fib); + if (x->p.debug & D_ROUTES) + log(L_TRACE "Opening route socket to fib %d", fib); -- DBG("KRT: Opening kernel socket\n"); -- - if( (rt_sock = socket(PF_ROUTE, SOCK_RAW, AF_UNSPEC)) < 0) + old_fib = my_fib_set(fib); + } @@ -221,7 +221,7 @@ Index: sysdep/bsd/krt-sock.c } #define SKIP(ARG...) do { DBG("KRT: Ignoring route - " ARG); return; } while(0) -@@ -624,6 +674,8 @@ krt_sysctl_scan(struct proto *p, pool *pool, byte +@@ -629,6 +679,8 @@ size_t obl, needed; struct ks_msg *m; int retries = 3; @@ -230,7 +230,7 @@ Index: sysdep/bsd/krt-sock.c mib[0] = CTL_NET; mib[1] = PF_ROUTE; -@@ -632,6 +684,17 @@ krt_sysctl_scan(struct proto *p, pool *pool, byte +@@ -637,6 +689,17 @@ mib[4] = cmd; mib[5] = 0; @@ -248,7 +248,7 @@ Index: sysdep/bsd/krt-sock.c try: if (sysctl(mib, 6 , NULL , &needed, NULL, 0) < 0) die("krt_sysctl_scan 1: %m"); -@@ -656,6 +719,7 @@ krt_sysctl_scan(struct proto *p, pool *pool, byte +@@ -661,6 +724,7 @@ goto try; log(L_ERR "KRT: Route scan failed"); @@ -256,7 +256,7 @@ Index: sysdep/bsd/krt-sock.c return; } die("krt_sysctl_scan 2: %m"); -@@ -666,6 +730,8 @@ krt_sysctl_scan(struct proto *p, pool *pool, byte +@@ -671,6 +735,8 @@ m = (struct ks_msg *)next; krt_read_msg(p, m, 1); } @@ -265,7 +265,7 @@ Index: sysdep/bsd/krt-sock.c } static byte *krt_buffer = NULL; -@@ -695,13 +761,16 @@ krt_set_construct(struct krt_config *c U +@@ -700,13 +766,16 @@ } void |