aboutsummaryrefslogtreecommitdiff
path: root/net/openbgpd6
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2020-10-21 11:53:35 +0000
committerKurt Jaeger <pi@FreeBSD.org>2020-10-21 11:53:35 +0000
commitf716807843e68b9a3b3a69f099ca889ef49829f8 (patch)
tree8ad4a46cc79ccf6253ed7e9239d6d6b387aed961 /net/openbgpd6
parent2a5bf4946f05d4639a180f258f6a9003b955b570 (diff)
downloadports-f716807843e68b9a3b3a69f099ca889ef49829f8.tar.gz
ports-f716807843e68b9a3b3a69f099ca889ef49829f8.zip
net/openbgpd6: update 6.6.0 -> 6.8.0, fix -fno-common
6.8.0: - In bgpctl(8), the "reload" command now takes a 'reason' argument to use as Administrative Shutdown Communication to its neighbors. - Added bgpctl(8) support for VPNv6 in the family option of the "show rib" command. - Added bgpctl(8) support for JSON formatted output in various "show" commands. - Support to build OpenBGPD on Alpine Linux added 6.7.0: - Add initial support for JSON output in bgpctl(8). - Allow setting both IPv4 and IPv6 local-addresses at the same time in bgpd.conf group blocks. Introduced 'no local-address' to reset a previously set local address. - Properly aggregate duplicate bgpd(8) roa table prefix/source-as combinations into a single entry with the longest maxlen length. - Implemented bgpd.conf(5) max-prefix NUM out to limit the number of announced prefixes, avoiding leaks of full tables to upstreams and peers. - Extended bgpctl(8) 'show neighbor' to include the received and set prefix count, as well as the max-prefix out limit if set. - Improved reporting of notifications to include the suberror cause. - Also report the last received error cause in bgpctl(8) show neighbor output. - Fix softreconfig out handling to also work for neighbors using 'export default-route'. - Mark stale prefixes in the Adj-RIB-Out so that graceful reload operates properly. - Made it possible to build OpenBGPD-portable with bison. There is no longer the need to use byacc on Linux distributions. - Support for --runstatedir to specify the location of the bgpctl.sock. - Cleaned up configure script for better protability. See also: https://github.com/openbgpd-portable/openbgpd-portable/issues/8 PR: 250274
Notes
Notes: svn path=/head/; revision=552864
Diffstat (limited to 'net/openbgpd6')
-rw-r--r--net/openbgpd6/Makefile3
-rw-r--r--net/openbgpd6/distinfo6
-rw-r--r--net/openbgpd6/files/patch-Makefile.am16
-rw-r--r--net/openbgpd6/files/patch-src__bgpctl__output_json.c11
-rw-r--r--net/openbgpd6/files/patch-src_bgpctl_output.c11
-rw-r--r--net/openbgpd6/files/patch-src_bgpd_bgpd.c11
-rw-r--r--net/openbgpd6/files/patch-src_bgpd_bgpd.h23
-rw-r--r--net/openbgpd6/files/patch-src_bgpd_rde.c15
-rw-r--r--net/openbgpd6/files/patch-src_bgpd_session.c18
-rw-r--r--net/openbgpd6/files/patch-src_bgpd_session.h20
10 files changed, 122 insertions, 12 deletions
diff --git a/net/openbgpd6/Makefile b/net/openbgpd6/Makefile
index ba44ca4d9e87..cc76e6b3dd20 100644
--- a/net/openbgpd6/Makefile
+++ b/net/openbgpd6/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= openbgpd
-PORTVERSION= 6.6p0
-PORTREVISION= 1
+PORTVERSION= 6.8p0
CATEGORIES= net
MASTER_SITES= OPENBSD/OpenBGPD
PKGNAMESUFFIX= 6
diff --git a/net/openbgpd6/distinfo b/net/openbgpd6/distinfo
index 7b64893d8e8f..55f85e71f623 100644
--- a/net/openbgpd6/distinfo
+++ b/net/openbgpd6/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1575231489
-SHA256 (openbgpd-6.6p0.tar.gz) = 83ad5ee8177d324a2a5cc2ce014835007deff8c91550c009c12b7aa16cb2e046
-SIZE (openbgpd-6.6p0.tar.gz) = 676732
+TIMESTAMP = 1603267757
+SHA256 (openbgpd-6.8p0.tar.gz) = 61487aed98071d9e975e9c38d1bfa0731dd7e55623f655372c318e665d928ff8
+SIZE (openbgpd-6.8p0.tar.gz) = 701164
diff --git a/net/openbgpd6/files/patch-Makefile.am b/net/openbgpd6/files/patch-Makefile.am
index da85a8ad6103..78ffb52c79fc 100644
--- a/net/openbgpd6/files/patch-Makefile.am
+++ b/net/openbgpd6/files/patch-Makefile.am
@@ -1,19 +1,21 @@
---- Makefile.am.orig 2019-05-01 11:22:14 UTC
+--- Makefile.am.orig 2020-05-05 08:36:21 UTC
+++ Makefile.am
-@@ -19,13 +19,14 @@
- EXTRA_DIST = README.md VERSION bgpd.conf
+@@ -19,13 +19,16 @@ ACLOCAL_AMFLAGS = -I m4
+ EXTRA_DIST = README.md LICENSE VERSION bgpd.conf
install-data-hook:
-- @if [ ! -d "$(DESTDIR)$(localstatedir)/run" ]; then \
-+ if [ ! -d "$(DESTDIR)$(localstatedir)/run" ]; then \
- $(INSTALL) -m 755 -d "$(DESTDIR)$(localstatedir)/run"; \
+- @if [ ! -d "$(DESTDIR)$(runstatedir)" ]; then \
++ if [ ! -d "$(DESTDIR)$(runstatedir)" ]; then \
+ $(INSTALL) -m 755 -d "$(DESTDIR)$(runstatedir)"; \
fi
- @if [ ! -d "$(DESTDIR)$(sysconfdir)" ]; then \
+ if [ ! -d "$(DESTDIR)$(sysconfdir)" ]; then \
$(INSTALL) -m 755 -d "$(DESTDIR)$(sysconfdir)"; \
fi
- @if [ ! -f "$(DESTDIR)$(sysconfdir)/bgpd.conf" ]; then \
-+ $(INSTALL) -m 644 "$(srcdir)/bgpd.conf" "$(DESTDIR)$(sysconfdir)/bgpd.conf.sample"; \
++ if [ ! -f "$(DESTDIR)$(sysconfdir)/bgpd.conf.sample" ]; then \
++ $(INSTALL) -m 644 "$(srcdir)/bgpd.conf" "$(DESTDIR)$(sysconfdir)/bgpd.conf.sample"; \
++ fi
+ if [ ! -f "$(DESTDIR)$(sysconfdir)/bgpd.conf" ]; then \
$(INSTALL) -m 644 "$(srcdir)/bgpd.conf" "$(DESTDIR)$(sysconfdir)/bgpd.conf"; \
else \
diff --git a/net/openbgpd6/files/patch-src__bgpctl__output_json.c b/net/openbgpd6/files/patch-src__bgpctl__output_json.c
new file mode 100644
index 000000000000..734515c07811
--- /dev/null
+++ b/net/openbgpd6/files/patch-src__bgpctl__output_json.c
@@ -0,0 +1,11 @@
+--- src/bgpctl/output_json.c.orig 2020-05-18 19:17:41 UTC
++++ src/bgpctl/output_json.c
+@@ -22,6 +22,8 @@
+ #include <stdlib.h>
+ #include <string.h>
+
++#include <sys/endian.h>
++
+ #include "bgpd.h"
+ #include "session.h"
+ #include "rde.h"
diff --git a/net/openbgpd6/files/patch-src_bgpctl_output.c b/net/openbgpd6/files/patch-src_bgpctl_output.c
new file mode 100644
index 000000000000..a1d2b38db88f
--- /dev/null
+++ b/net/openbgpd6/files/patch-src_bgpctl_output.c
@@ -0,0 +1,11 @@
+--- src/bgpctl/output.c.orig 2020-05-18 19:17:41 UTC
++++ src/bgpctl/output.c
+@@ -25,6 +25,8 @@
+ #include <stdlib.h>
+ #include <string.h>
+
++#include <sys/endian.h>
++
+ #include "bgpd.h"
+ #include "session.h"
+ #include "rde.h"
diff --git a/net/openbgpd6/files/patch-src_bgpd_bgpd.c b/net/openbgpd6/files/patch-src_bgpd_bgpd.c
new file mode 100644
index 000000000000..b4a072e4cfc4
--- /dev/null
+++ b/net/openbgpd6/files/patch-src_bgpd_bgpd.c
@@ -0,0 +1,11 @@
+--- src/bgpd/bgpd.c.orig 2020-05-18 19:17:41 UTC
++++ src/bgpd/bgpd.c
+@@ -61,6 +61,8 @@ struct rib_names ribnames = SIMPLEQ_HEAD_INITIALIZER(
+ char *cname;
+ char *rcname;
+
++enum bgpd_process bgpd_process;
++
+ void
+ sighdlr(int sig)
+ {
diff --git a/net/openbgpd6/files/patch-src_bgpd_bgpd.h b/net/openbgpd6/files/patch-src_bgpd_bgpd.h
new file mode 100644
index 000000000000..14df54585928
--- /dev/null
+++ b/net/openbgpd6/files/patch-src_bgpd_bgpd.h
@@ -0,0 +1,23 @@
+--- src/bgpd/bgpd.h.orig 2020-05-19 09:24:33 UTC
++++ src/bgpd/bgpd.h
+@@ -130,7 +130,8 @@ enum bgpd_process {
+ PROC_MAIN,
+ PROC_SE,
+ PROC_RDE
+-} bgpd_process;
++};
++extern enum bgpd_process bgpd_process;
+
+ enum reconf_action {
+ RECONF_NONE,
+@@ -532,6 +533,10 @@ enum imsg_type {
+ IMSG_XON,
+ IMSG_XOFF
+ };
++
++extern struct imsgbuf *ibuf_se;
++extern struct imsgbuf *ibuf_rde;
++extern struct imsgbuf *ibuf_main;
+
+ struct demote_msg {
+ char demote_group[IFNAMSIZ];
diff --git a/net/openbgpd6/files/patch-src_bgpd_rde.c b/net/openbgpd6/files/patch-src_bgpd_rde.c
new file mode 100644
index 000000000000..e8204a8b1661
--- /dev/null
+++ b/net/openbgpd6/files/patch-src_bgpd_rde.c
@@ -0,0 +1,15 @@
+--- src/bgpd/rde.c.orig 2020-05-04 14:45:09 UTC
++++ src/bgpd/rde.c
+@@ -99,11 +99,9 @@ void rde_shutdown(void);
+ int ovs_match(struct prefix *, u_int32_t);
+
+ volatile sig_atomic_t rde_quit = 0;
+-struct bgpd_config *conf, *nconf;
++static struct bgpd_config *conf, *nconf;
+ struct filter_head *out_rules, *out_rules_tmp;
+-struct imsgbuf *ibuf_se;
+ struct imsgbuf *ibuf_se_ctl;
+-struct imsgbuf *ibuf_main;
+ struct rde_memstats rdemem;
+ int softreconfig;
+
diff --git a/net/openbgpd6/files/patch-src_bgpd_session.c b/net/openbgpd6/files/patch-src_bgpd_session.c
new file mode 100644
index 000000000000..fbb2ecf5b0c4
--- /dev/null
+++ b/net/openbgpd6/files/patch-src_bgpd_session.c
@@ -0,0 +1,18 @@
+--- src/bgpd/session.c.orig 2020-05-19 09:24:33 UTC
++++ src/bgpd/session.c
+@@ -100,13 +100,13 @@ void session_template_clone(struct peer *, struct so
+ u_int32_t, u_int32_t);
+ int session_match_mask(struct peer *, struct bgpd_addr *);
+
+-struct bgpd_config *conf, *nconf;
++static struct bgpd_config *conf, *nconf;
++struct ctl_conns ctl_conns;
+ struct bgpd_sysdep sysdep;
+ volatile sig_atomic_t session_quit;
+ int pending_reconf;
+ int csock = -1, rcsock = -1;
+ u_int peer_cnt;
+-struct imsgbuf *ibuf_rde;
+ struct imsgbuf *ibuf_rde_ctl;
+ struct imsgbuf *ibuf_main;
+
diff --git a/net/openbgpd6/files/patch-src_bgpd_session.h b/net/openbgpd6/files/patch-src_bgpd_session.h
new file mode 100644
index 000000000000..9fbb480caf01
--- /dev/null
+++ b/net/openbgpd6/files/patch-src_bgpd_session.h
@@ -0,0 +1,20 @@
+--- src/bgpd/session.h.orig 2020-05-18 19:17:41 UTC
++++ src/bgpd/session.h
+@@ -18,6 +18,7 @@
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
++#include <sys/queue.h>
+ #include <time.h>
+
+ #define MAX_BACKLOG 5
+@@ -146,7 +147,8 @@ struct ctl_conn {
+ int terminate;
+ };
+
+-TAILQ_HEAD(ctl_conns, ctl_conn) ctl_conns;
++TAILQ_HEAD(ctl_conns, ctl_conn);
++extern struct ctl_conns ctl_conns;
+
+ struct peer_stats {
+ unsigned long long msg_rcvd_open;