git: 21c282d8ad23 - main - net/openbgpd: Remove expired port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 04 May 2025 11:50:42 UTC
The branch main has been updated by rene:
URL: https://cgit.FreeBSD.org/ports/commit/?id=21c282d8ad23c068e4c1048455552d20e9ead460
commit 21c282d8ad23c068e4c1048455552d20e9ead460
Author: Rene Ladan <rene@FreeBSD.org>
AuthorDate: 2025-05-04 11:50:35 +0000
Commit: Rene Ladan <rene@FreeBSD.org>
CommitDate: 2025-05-04 11:50:35 +0000
net/openbgpd: Remove expired port
2025-04-30 net/openbgpd: Unsupported upstream, consider using net/openbgpd8
---
MOVED | 1 +
net/Makefile | 1 -
net/openbgpd/Makefile | 45 -
net/openbgpd/distinfo | 3 -
net/openbgpd/files/COPYING | 19 -
net/openbgpd/files/openbgpd.in | 32 -
net/openbgpd/files/patch-Makefile | 12 -
net/openbgpd/files/patch-Makefile.inc | 12 -
net/openbgpd/files/patch-bgpctl_Makefile | 31 -
net/openbgpd/files/patch-bgpctl_bgpctl.8 | 287 --
net/openbgpd/files/patch-bgpctl_bgpctl.c | 1529 ----------
net/openbgpd/files/patch-bgpctl_irr_asset.c | 14 -
net/openbgpd/files/patch-bgpctl_irr_output.c | 14 -
net/openbgpd/files/patch-bgpctl_irr_parser.c | 48 -
net/openbgpd/files/patch-bgpctl_irr_prefix.c | 157 -
net/openbgpd/files/patch-bgpctl_irrfilter.c | 24 -
net/openbgpd/files/patch-bgpctl_irrfilter.h | 59 -
net/openbgpd/files/patch-bgpctl_mrtparser.c | 977 ------
net/openbgpd/files/patch-bgpctl_mrtparser.h | 122 -
net/openbgpd/files/patch-bgpctl_parser.c | 400 ---
net/openbgpd/files/patch-bgpctl_parser.h | 55 -
net/openbgpd/files/patch-bgpctl_whois.c | 18 -
net/openbgpd/files/patch-bgpd_Makefile | 30 -
net/openbgpd/files/patch-bgpd_bgpd.8 | 348 ---
net/openbgpd/files/patch-bgpd_bgpd.c | 693 -----
net/openbgpd/files/patch-bgpd_bgpd.conf.5 | 746 -----
net/openbgpd/files/patch-bgpd_bgpd.h | 872 ------
net/openbgpd/files/patch-bgpd_buffer.c | 104 -
net/openbgpd/files/patch-bgpd_carp.c | 54 -
net/openbgpd/files/patch-bgpd_config.c | 109 -
net/openbgpd/files/patch-bgpd_control.c | 171 --
net/openbgpd/files/patch-bgpd_imsg.c | 275 --
net/openbgpd/files/patch-bgpd_imsg.h | 115 -
net/openbgpd/files/patch-bgpd_kroute.c | 3140 --------------------
net/openbgpd/files/patch-bgpd_log.c | 117 -
net/openbgpd/files/patch-bgpd_log.h | 39 -
net/openbgpd/files/patch-bgpd_mrt.c | 864 ------
net/openbgpd/files/patch-bgpd_mrt.h | 287 --
net/openbgpd/files/patch-bgpd_name2id.c | 14 -
net/openbgpd/files/patch-bgpd_parse.y | 1626 ----------
net/openbgpd/files/patch-bgpd_pfkey.c | 471 ---
net/openbgpd/files/patch-bgpd_pftable.c | 17 -
net/openbgpd/files/patch-bgpd_printconf.c | 439 ---
net/openbgpd/files/patch-bgpd_rde.c | 2614 ----------------
net/openbgpd/files/patch-bgpd_rde.h | 361 ---
net/openbgpd/files/patch-bgpd_rde_attr.c | 562 ----
net/openbgpd/files/patch-bgpd_rde_decide.c | 133 -
net/openbgpd/files/patch-bgpd_rde_filter.c | 297 --
net/openbgpd/files/patch-bgpd_rde_prefix.c | 301 --
net/openbgpd/files/patch-bgpd_rde_rib.c | 513 ----
net/openbgpd/files/patch-bgpd_rde_update.c | 644 ----
net/openbgpd/files/patch-bgpd_session.c | 2075 -------------
net/openbgpd/files/patch-bgpd_session.h | 188 --
net/openbgpd/files/patch-bgpd_timer.c | 32 -
net/openbgpd/files/patch-bgpd_util.c | 440 ---
.../files/patch-openbsd-compat_fmt_scaled.c | 275 --
net/openbgpd/files/patch-openbsd-compat_hash.h | 134 -
net/openbgpd/files/patch-openbsd-compat_if_media.h | 619 ----
.../files/patch-openbsd-compat_imsg-buffer.c | 312 --
net/openbgpd/files/patch-openbsd-compat_imsg.c | 312 --
net/openbgpd/files/patch-openbsd-compat_imsg.h | 119 -
.../files/patch-openbsd-compat_openbsd-compat.h | 98 -
net/openbgpd/files/patch-openbsd-compat_util.h | 126 -
net/openbgpd/files/pkg-message.in | 10 -
net/openbgpd/pkg-descr | 3 -
65 files changed, 1 insertion(+), 24558 deletions(-)
diff --git a/MOVED b/MOVED
index 5f1367432419..9136ed4b43ad 100644
--- a/MOVED
+++ b/MOVED
@@ -4384,3 +4384,4 @@ net-p2p/libswift||2025-05-04|Has expired: Upstream archived repo on Feb 19, 2024
net-p2p/phex|net-p2p/gtk-gnutella|2025-05-04|Has expired: Abandonware, last update upstream in 2009. Consider using net-p2p/gtk-gnutella
net-p2p/shx||2025-05-04|Has expired: Obsolete protocol that has been superseded by many others
net/echoping||2025-05-04|Has expired: Unmaintained upstream as of 2015 and depends on deprecated libidn
+net/openbgpd||2025-05-04|Has expired: Unsupported upstream, consider using net/openbgpd8
diff --git a/net/Makefile b/net/Makefile
index 190dcedc96cb..8020f126f31d 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -574,7 +574,6 @@
SUBDIR += ooni-mini
SUBDIR += ooni-probe-cli
SUBDIR += open-isns
- SUBDIR += openbgpd
SUBDIR += openbgpd6
SUBDIR += openbgpd7
SUBDIR += openbgpd8
diff --git a/net/openbgpd/Makefile b/net/openbgpd/Makefile
deleted file mode 100644
index a1b128c07dc9..000000000000
--- a/net/openbgpd/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-PORTNAME= openbgpd
-PORTVERSION= 5.2.20121209
-PORTREVISION= 5
-PORTEPOCH= 1
-CATEGORIES= net
-MASTER_SITES= OPENBSD/OpenBGPD
-DISTNAME= ${PORTNAME}-4.6
-DIST_SUBDIR= ${PORTNAME}
-
-MAINTAINER= hrs@FreeBSD.org
-COMMENT= Free implementation of the Border Gateway Protocol, Version 4
-WWW= https://www.openbgpd.org/
-
-LICENSE= ISCL
-LICENSE_FILE= ${FILESDIR}/COPYING
-
-DEPRECATED= Unsupported upstream, consider using net/openbgpd8
-EXPIRATION_DATE=2025-04-30
-
-USES= tar:tgz uidfix
-USE_RC_SUBR= ${PORTNAME}
-
-CONFLICTS= zebra quagga
-
-NO_WRKSUBDIR= yes
-PLIST_FILES= sbin/bgpctl sbin/bgpd share/man/man5/bgpd.conf.5.gz \
- share/man/man8/bgpctl.8.gz share/man/man8/bgpd.8.gz
-SUB_FILES= pkg-message
-USERS= _bgpd
-GROUPS= _bgpd
-
-CFLAGS= -fcommon
-
-OPTIONS_DEFINE= IPV6LLPEER
-OPTIONS_DEFAULT=IPV6LLPEER
-IPV6LLPEER_DESC=Support nexthop using IPv6 link-local address
-IPV6LLPEER_MAKE_ARGS= -DIPV6_LINKLOCAL_PEER
-
-post-patch:
- @${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \
- ${WRKSRC}/bgpd/bgpd.8 \
- ${WRKSRC}/bgpd/bgpd.conf.5 \
- ${WRKSRC}/bgpctl/bgpctl.8
-
-.include <bsd.port.mk>
diff --git a/net/openbgpd/distinfo b/net/openbgpd/distinfo
deleted file mode 100644
index a4c5403642fe..000000000000
--- a/net/openbgpd/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1556692508
-SHA256 (openbgpd/openbgpd-4.6.tgz) = d9a0a3542e5ec744889ca12871f01aa1d86f12844e093010f37d0601796e15cf
-SIZE (openbgpd/openbgpd-4.6.tgz) = 168197
diff --git a/net/openbgpd/files/COPYING b/net/openbgpd/files/COPYING
deleted file mode 100644
index 0e9cfc51f9c0..000000000000
--- a/net/openbgpd/files/COPYING
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2003-2007 Henning Brauer <henning@openbsd.org>
-Copyright (c) 2002 Daniel Hartmeier <dhartmei@openbsd.org>
-Copyright (c) 2003, 2004, 2006 Claudio Jeker <claudio@openbsd.org>
-Copyright (c) 2003, 2004 Markus Friedl <markus@openbsd.org>
-Copyright (c) 2004 Damien Miller <djm@openbsd.org>
-Copyright (c) 2006, 2007, 2008 Reyk Floeter <reyk@openbsd.org>
-Copyright (c) 2006, 2007 Pierre-Yves Ritschard <pyr@openbsd.org>
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER IN
-AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/net/openbgpd/files/openbgpd.in b/net/openbgpd/files/openbgpd.in
deleted file mode 100644
index 9f17d0032365..000000000000
--- a/net/openbgpd/files/openbgpd.in
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-# PROVIDE: bgpd dynamicrouting
-# REQUIRE: LOGIN abi
-# BEFORE: securelevel
-# KEYWORD: shutdown
-
-# Add the following lines to /etc/rc.conf to enable openbgpd:
-#
-# openbgpd_enable="YES"
-# openbgpd_flags="<set as needed>"
-#
-# See bgpd(8) for openbgpd_flags
-
-. /etc/rc.subr
-
-name=openbgpd
-rcvar=openbgpd_enable
-
-extra_commands=reload
-command="%%PREFIX%%/sbin/bgpd"
-required_files="%%PREFIX%%/etc/bgpd.conf"
-
-: ${openbgpd_enable=NO}
-
-check_process()
-{
- /bin/pgrep -f 'bgpd: parent.*'
-}
-
-load_rc_config $name
-run_rc_command "$1"
diff --git a/net/openbgpd/files/patch-Makefile b/net/openbgpd/files/patch-Makefile
deleted file mode 100644
index 77ae22e026e6..000000000000
--- a/net/openbgpd/files/patch-Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: Makefile
-===================================================================
-RCS file: Makefile
-diff -N Makefile
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ Makefile 30 Jun 2009 07:07:55 -0000 1.2
-@@ -0,0 +1,5 @@
-+# $hrs: openbgpd/Makefile,v 1.2 2009/06/30 07:07:55 hrs Exp $
-+
-+SUBDIR= bgpd bgpctl
-+
-+.include <bsd.subdir.mk>
diff --git a/net/openbgpd/files/patch-Makefile.inc b/net/openbgpd/files/patch-Makefile.inc
deleted file mode 100644
index 489b88da0449..000000000000
--- a/net/openbgpd/files/patch-Makefile.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: Makefile.inc
-===================================================================
-RCS file: Makefile.inc
-diff -N Makefile.inc
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ Makefile.inc 16 May 2014 01:06:14 -0000 1.5
-@@ -0,0 +1,5 @@
-+# $hrs: openbgpd/Makefile.inc,v 1.5 2014/05/16 01:06:14 hrs Exp $
-+
-+PREFIX?= /usr/local
-+BINDIR?= ${PREFIX}/sbin
-+MANDIR?= ${PREFIX}/share/man/man
diff --git a/net/openbgpd/files/patch-bgpctl_Makefile b/net/openbgpd/files/patch-bgpctl_Makefile
deleted file mode 100644
index 572c0fcb8362..000000000000
--- a/net/openbgpd/files/patch-bgpctl_Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: bgpctl/Makefile
-===================================================================
-RCS file: /home/cvs/private/hrs/openbgpd/bgpctl/Makefile,v
-retrieving revision 1.1.1.1
-retrieving revision 1.4
-diff -u -p -r1.1.1.1 -r1.4
---- bgpctl/Makefile 30 Jun 2009 05:46:15 -0000 1.1.1.1
-+++ bgpctl/Makefile 13 Oct 2012 18:35:56 -0000 1.4
-@@ -1,17 +1,18 @@
- # $OpenBSD: Makefile,v 1.10 2007/12/20 17:08:48 henning Exp $
-
--.PATH: ${.CURDIR}/../bgpd
-+.PATH: ${.CURDIR}/../bgpd ${.CURDIR}/../openbsd-compat
-
- PROG= bgpctl
--SRCS= bgpctl.c parser.c buffer.c imsg.c util.c timer.c
-+SRCS= bgpctl.c parser.c util.c timer.c
- SRCS+= irrfilter.c whois.c irr_asset.c irr_prefix.c irr_output.c
--SRCS+= irr_parser.c
-+SRCS+= irr_parser.c mrtparser.c
-+SRCS+= fmt_scaled.c imsg.c imsg-buffer.c
- CFLAGS+= -Wall
- CFLAGS+= -Wstrict-prototypes -Wmissing-prototypes
- CFLAGS+= -Wmissing-declarations
- CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual
- CFLAGS+= -Wsign-compare
--CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../bgpd
-+CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../bgpd -I${.CURDIR}/../openbsd-compat
- MAN= bgpctl.8
- LDADD= -lutil
- DPADD+= ${LIBUTIL}
diff --git a/net/openbgpd/files/patch-bgpctl_bgpctl.8 b/net/openbgpd/files/patch-bgpctl_bgpctl.8
deleted file mode 100644
index 2e08c575981e..000000000000
--- a/net/openbgpd/files/patch-bgpctl_bgpctl.8
+++ /dev/null
@@ -1,287 +0,0 @@
-Index: bgpctl/bgpctl.8
-===================================================================
-RCS file: /home/cvs/private/hrs/openbgpd/bgpctl/bgpctl.8,v
-retrieving revision 1.1.1.6
-retrieving revision 1.6
-diff -u -p -r1.1.1.6 -r1.6
---- bgpctl/bgpctl.8 14 Feb 2010 20:20:13 -0000 1.1.1.6
-+++ bgpctl/bgpctl.8 13 Oct 2012 18:35:56 -0000 1.6
-@@ -1,4 +1,4 @@
--.\" $OpenBSD: bgpctl.8,v 1.49 2009/06/06 06:11:17 claudio Exp $
-+.\" $OpenBSD: bgpctl.8,v 1.59 2012/05/27 20:49:42 jmc Exp $
- .\"
- .\" Copyright (c) 2003 Henning Brauer <henning@openbsd.org>
- .\"
-@@ -14,7 +14,7 @@
- .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- .\"
--.Dd $Mdocdate: June 6 2009 $
-+.Dd $Mdocdate: May 27 2012 $
- .Dt BGPCTL 8
- .Os
- .Sh NAME
-@@ -32,8 +32,7 @@ The
- program controls the
- .Xr bgpd 8
- daemon.
--Commands to switch between displays may be abbreviated to the
--minimum unambiguous prefix; for example,
-+Commands may be abbreviated to the minimum unambiguous prefix; for example,
- .Cm s s
- for
- .Cm show summary .
-@@ -53,11 +52,19 @@ to communicate with
- .Pp
- The commands are as follows:
- .Bl -tag -width xxxxxx
--.It Cm fib couple
--Insert the learned routes into the Forwarding Information Base
-+.It Xo
-+.Cm fib
-+.Op Cm table Ar number
-+.Cm couple
-+.Xc
-+Insert the learned routes into the specified Forwarding Information Base
- a.k.a. the kernel routing table.
--.It Cm fib decouple
--Remove the learned routes from the Forwarding Information Base
-+.It Xo
-+.Cm fib
-+.Op Cm table Ar number
-+.Cm decouple
-+.Xc
-+Remove the learned routes from the specified Forwarding Information Base
- a.k.a. the kernel routing table.
- .It Xo
- .Cm irrfilter
-@@ -79,7 +86,15 @@ The options are as follows:
- Use
- .Ar directory
- to write the filter files to.
-+.It Fl 4
-+Fetch only IPv4 prefixes from the registry.
-+.It Fl 6
-+Fetch only IPv6 prefixes from the registry.
- .El
-+.It Cm log brief
-+Disable verbose debug logging.
-+.It Cm log verbose
-+Enable verbose debug logging.
- .It Cm neighbor Ar peer Cm up
- Take the BGP session to the specified neighbor up.
- .Ar peer
-@@ -98,12 +113,21 @@ Note that the neighbor is not obliged to
- all, even if it announced the route refresh capability.
- .Ar peer
- may be the neighbor's address or description.
--.It Cm network add Ar prefix
-+.It Cm network add Ar prefix Op Ar arguments
- Add the specified prefix to the list of announced networks.
-+It is possible to set various path attributes with additional
-+.Ar arguments .
- .It Cm network delete Ar prefix
- Remove the specified prefix from the list of announced networks.
- .It Cm network flush
- Remove all dynamically added prefixes from the list of announced networks.
-+.It Cm network mrt file Ar file filter
-+Import networks from an MRT table dump for debugging purposes.
-+.Ar filter
-+can be specified similarly to the
-+.Ar show mrt
-+command.
-+Only networks matching the filter will be imported.
- .It Cm network show Ar family
- Show all announced networks.
- .Ar family ,
-@@ -122,7 +146,7 @@ view of the Forwarding Information Base.
- can be an IP address, in which case the route to this address is shown,
- or a flag:
- .Pp
--.Bl -tag -width connected -compact
-+.Bl -tag -width tableXnumber -compact
- .It Cm connected
- Show only connected routes.
- .It Cm static
-@@ -133,9 +157,81 @@ Show only routes originating from
- itself.
- .It Cm nexthop
- Show only routes required to reach a BGP nexthop.
-+.It Cm inet
-+Show only IPv4 routes.
-+.It Cm inet6
-+Show only IPv6 routes.
-+.It Cm table Ar number
-+Show the routing table with ID
-+.Ar number
-+instead of the default routing table with ID 0.
- .El
- .It Cm show interfaces
- Show the interface states.
-+.It Xo
-+.Cm show mrt
-+.Op Ar options
-+.Ar filter
-+.Xc
-+Show routes from an MRT table dump file.
-+.Ar filter
-+can be an IP address, a CIDR prefix, an AS filter, a combination or nothing:
-+.Pp
-+.Bl -tag -width "address/len all" -compact
-+.It Ar address
-+Show best matching route for address.
-+.It Ar address Ns Li / Ns Ar len
-+Show RIB entry for this CIDR prefix.
-+.It Xo
-+.Ar address Ns Li / Ns Ar len
-+.Cm all
-+.Xc
-+Show all entries in the specified range.
-+.\".It Ar address/len Cm longer-prefixes
-+.It Cm as Ar as
-+Show all entries with
-+.Ar as
-+anywhere in the AS path.
-+.It Cm empty-as
-+Show all entries that are internal routes with no AS's in the AS path.
-+.It Cm neighbor Ar ip
-+Show only entries from the specified peer.
-+.It Cm peer-as Ar as
-+Show all entries with
-+.Ar as
-+as leftmost AS.
-+.It Cm source-as Ar as
-+Show all entries with
-+.Ar as
-+as rightmost AS.
-+.It Cm transit-as Ar as
-+Show all entries with
-+.Ar as
-+anywhere but rightmost.
-+.El
-+.Pp
-+Additionally, the following
-+.Ar options
-+are defined:
-+.Pp
-+.Bl -tag -width "file name" -compact
-+.It Cm detail
-+Show more detailed output for matching routes.
-+.It Ar family
-+Limit the output to the given address family.
-+.It Cm file Ar name
-+Read the MRT dump from file
-+.Ar name
-+instead of using stdin.
-+.El
-+.Pp
-+Multiple options and filters can be used at the same time.
-+.It Cm show summary
-+Show a list of all neighbors, including information about the session state
-+and message counters.
-+.It Cm show summary terse
-+Show a list of all neighbors, including information about the session state,
-+in a terse format.
- .It Cm show neighbor Ar peer modifier
- Show detailed information about the neighbor identified by
- .Ar peer ,
-@@ -183,33 +279,33 @@ Show all entries in the specified range.
- Show all entries with
- .Ar as
- anywhere in the AS path.
--.It Cm source-as Ar as
--Show all entries with
--.Ar as
--as rightmost AS.
--.It Cm transit-as Ar as
--Show all entries with
--.Ar as
--anywhere but rightmost.
--.It Cm peer-as Ar as
--Show all entries with
--.Ar as
--as leftmost AS.
--.It Cm empty-as
--Show all entries that are internal routes with no AS's in the AS path.
- .It Cm community Ar community
- Show all entries with community
- .Ar community .
-+.It Cm empty-as
-+Show all entries that are internal routes with no AS's in the AS path.
-+.It Cm memory
-+Show RIB memory statistics.
- .It Cm neighbor Ar peer
- Show only entries from the specified peer.
--.It Cm table Ar rib
--Show only entries from the specified RIB table.
-+.It Cm peer-as Ar as
-+Show all entries with
-+.Ar as
-+as leftmost AS.
-+.It Cm source-as Ar as
-+Show all entries with
-+.Ar as
-+as rightmost AS.
- .It Cm summary
- This is the same as the
- .Ic show summary
- command.
--.It Cm memory
--Show RIB memory statistics.
-+.It Cm table Ar rib
-+Show only entries from the specified RIB table.
-+.It Cm transit-as Ar as
-+Show all entries with
-+.Ar as
-+anywhere but rightmost.
- .El
- .Pp
- Additionally, the following
-@@ -217,8 +313,10 @@ Additionally, the following
- are defined:
- .Pp
- .Bl -tag -width "detail" -compact
-+.It Cm selected
-+Show only selected routes.
- .It Cm detail
--Show more detailed output for matched routes.
-+Show more detailed output for matching routes.
- .It Ar family
- Limit the output to the given address family.
- .It Cm in
-@@ -243,10 +341,12 @@ and message counters.
- .It Cm show summary terse
- Show a list of all neighbors, including information about the session state,
- in a terse format.
-+.It Cm show tables
-+Show a list of all currently loaded fib routing tables.
- .El
- .Sh FILES
- .Bl -tag -width "/var/run/bgpd.sockXXX" -compact
--.It Pa /etc/bgpd.conf
-+.It Pa %%PREFIX%%/etc/bgpd.conf
- default
- .Xr bgpd 8
- configuration file
-@@ -260,10 +360,19 @@ control socket
- .Xr bgpd 8 ,
- .Xr bgplg 8 ,
- .Xr bgplgsh 8
-+.Sh STANDARDS
- .Rs
--.%R RFC 2622
--.%T "Routing Policy Specification Language (RPSL)"
-+.%A C. Alaettinoglu
-+.%A C. Villamizar
-+.%A E. Gerich
-+.%A D. Kessens
-+.%A D. Meyer
-+.%A T. Bates
-+.%A D. Karrenberg
-+.%A M. Terpstra
- .%D June 1999
-+.%R RFC 2622
-+.%T Routing Policy Specification Language (RPSL)
- .Re
- .Sh HISTORY
- The
diff --git a/net/openbgpd/files/patch-bgpctl_bgpctl.c b/net/openbgpd/files/patch-bgpctl_bgpctl.c
deleted file mode 100644
index 1553efc83281..000000000000
--- a/net/openbgpd/files/patch-bgpctl_bgpctl.c
+++ /dev/null
@@ -1,1529 +0,0 @@
-Index: bgpctl/bgpctl.c
-===================================================================
-RCS file: /home/cvs/private/hrs/openbgpd/bgpctl/bgpctl.c,v
-retrieving revision 1.1.1.7
-retrieving revision 1.10
-diff -u -p -r1.1.1.7 -r1.10
---- bgpctl/bgpctl.c 14 Feb 2010 20:20:14 -0000 1.1.1.7
-+++ bgpctl/bgpctl.c 8 Dec 2012 20:17:55 -0000 1.10
-@@ -1,4 +1,4 @@
--/* $OpenBSD: bgpctl.c,v 1.142 2009/06/06 06:33:15 eric Exp $ */
-+/* $OpenBSD: bgpctl.c,v 1.167 2012/11/15 19:55:08 sthen Exp $ */
-
- /*
- * Copyright (c) 2003 Henning Brauer <henning@openbsd.org>
-@@ -16,11 +16,19 @@
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-+#if defined(__FreeBSD__) /* compat */
-+#include "openbsd-compat.h"
-+#endif /* defined(__FreeBSD__) */
-+
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <net/if.h>
-+#if defined(__FreeBSD__) /* net/if_media.h */
-+#include "if_media.h"
-+#else
- #include <net/if_media.h>
-+#endif /* defined(__FreeBSD__) */
- #include <net/if_types.h>
-
- #include <err.h>
-@@ -29,7 +37,11 @@
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-+#if defined(__FreeBSD__) /* util.h */
-+#include "util.h"
-+#else
- #include <util.h>
-+#endif /* defined(__FreeBSD__) */
-
- #include "bgpd.h"
- #include "session.h"
-@@ -37,6 +49,11 @@
- #include "log.h"
- #include "parser.h"
- #include "irrfilter.h"
-+#include "mrtparser.h"
-+
-+#if defined(__FreeBSD__) /* FreeBSD has no LINK_STATE_IS_UP macro. */
-+#define LINK_STATE_IS_UP(_s) ((_s) >= LINK_STATE_UP)
-+#endif /* defined(__FreeBSD__) */
-
- enum neighbor_views {
- NV_DEFAULT,
-@@ -50,12 +67,14 @@ int show_summary_msg(struct imsg *, in
- int show_summary_terse_msg(struct imsg *, int);
- int show_neighbor_terse(struct imsg *);
- int show_neighbor_msg(struct imsg *, enum neighbor_views);
--void print_neighbor_capa_mp_safi(u_int8_t);
-+void print_neighbor_capa_mp(struct peer *);
-+void print_neighbor_capa_restart(struct peer *);
- void print_neighbor_msgstats(struct peer *);
- void print_timer(const char *, time_t);
- static char *fmt_timeframe(time_t t);
- static char *fmt_timeframe_core(time_t t);
- void show_fib_head(void);
-+void show_fib_tables_head(void);
- void show_network_head(void);
- void show_fib_flags(u_int16_t);
- int show_fib_msg(struct imsg *);
-@@ -65,7 +84,7 @@ void show_interface_head(void);
- int ift2ifm(int);
- const char * get_media_descr(int);
- const char * get_linkstate(int, int);
--void print_baudrate(u_int64_t);
-+const char * get_baudrate(u_int64_t, char *);
- int show_interface_msg(struct imsg *);
- void show_rib_summary_head(void);
- void print_prefix(struct bgpd_addr *, u_int8_t, u_int8_t);
-@@ -73,16 +92,25 @@ const char * print_origin(u_int8_t, int
- void print_flags(u_int8_t, int);
- int show_rib_summary_msg(struct imsg *);
- int show_rib_detail_msg(struct imsg *, int);
-+void show_rib_brief(struct ctl_show_rib *, u_char *);
-+void show_rib_detail(struct ctl_show_rib *, u_char *, int);
-+void show_attr(void *, u_int16_t);
- void show_community(u_char *, u_int16_t);
--const char *get_ext_subtype(u_int8_t);
- void show_ext_community(u_char *, u_int16_t);
- char *fmt_mem(int64_t);
- int show_rib_memory_msg(struct imsg *);
- void send_filterset(struct imsgbuf *, struct filter_set_head *);
- static const char *get_errstr(u_int8_t, u_int8_t);
- int show_result(struct imsg *);
-+void show_mrt_dump(struct mrt_rib *, struct mrt_peer *, void *);
-+void network_mrt_dump(struct mrt_rib *, struct mrt_peer *, void *);
-+void show_mrt_state(struct mrt_bgp_state *, void *);
-+void show_mrt_msg(struct mrt_bgp_msg *, void *);
-+void mrt_to_bgpd_addr(union mrt_addr *, struct bgpd_addr *);
-
- struct imsgbuf *ibuf;
-+struct mrt_parser show_mrt = { show_mrt_dump, show_mrt_state, show_mrt_msg };
-+struct mrt_parser net_mrt = { network_mrt_dump, NULL, NULL };
-
- __dead void
- usage(void)
-@@ -98,7 +126,7 @@ int
- main(int argc, char *argv[])
- {
- struct sockaddr_un sun;
-- int fd, n, done, ch, nodescr = 0;
-+ int fd, n, done, ch, nodescr = 0, verbose = 0;
- struct imsg imsg;
- struct network_config net;
- struct parse_result *res;
-@@ -128,8 +156,11 @@ main(int argc, char *argv[])
- if ((res = parse(argc, argv)) == NULL)
- exit(1);
-
-- if (res->action == IRRFILTER)
-+ if (res->action == IRRFILTER) {
-+ if (!(res->flags & (F_IPV4|F_IPV6)))
-+ res->flags |= (F_IPV4|F_IPV6);
- irr_main(res->as.as, res->flags, res->irr_outdir);
-+ }
-
- memcpy(&neighbor.addr, &res->peeraddr, sizeof(neighbor.addr));
- strlcpy(neighbor.descr, res->peerdesc, sizeof(neighbor.descr));
-@@ -154,7 +185,7 @@ main(int argc, char *argv[])
- case NONE:
- case IRRFILTER:
- usage();
-- /* not reached */
-+ /* NOTREACHED */
- case SHOW:
- case SHOW_SUMMARY:
- imsg_compose(ibuf, IMSG_CTL_SHOW_NEIGHBOR, 0, 0, -1, NULL, 0);
-@@ -164,24 +195,32 @@ main(int argc, char *argv[])
- imsg_compose(ibuf, IMSG_CTL_SHOW_TERSE, 0, 0, -1, NULL, 0);
- break;
- case SHOW_FIB:
-- if (!res->addr.af) {
-- struct buf *msg;
--
-- if ((msg = imsg_create(ibuf, IMSG_CTL_KROUTE, 0, 0,
-- sizeof(res->flags) + sizeof(res->af))) == NULL)
-+ if (!res->addr.aid) {
-+ struct ibuf *msg;
-+ sa_family_t af;
-+
-+ af = aid2af(res->aid);
-+ if ((msg = imsg_create(ibuf, IMSG_CTL_KROUTE,
-+ res->rtableid, 0, sizeof(res->flags) +
-+ sizeof(af))) == NULL)
- errx(1, "imsg_create failure");
- if (imsg_add(msg, &res->flags, sizeof(res->flags)) ==
- -1 ||
-- imsg_add(msg, &res->af, sizeof(res->af)) == -1)
-+ imsg_add(msg, &af, sizeof(af)) == -1)
- errx(1, "imsg_add failure");
- imsg_close(ibuf, msg);
- } else
-- imsg_compose(ibuf, IMSG_CTL_KROUTE_ADDR, 0, 0, -1,
-- &res->addr, sizeof(res->addr));
-+ imsg_compose(ibuf, IMSG_CTL_KROUTE_ADDR, res->rtableid,
-+ 0, -1, &res->addr, sizeof(res->addr));
- show_fib_head();
- break;
-+ case SHOW_FIB_TABLES:
-+ imsg_compose(ibuf, IMSG_CTL_SHOW_FIB_TABLES, 0, 0, -1, NULL, 0);
-+ show_fib_tables_head();
-+ break;
- case SHOW_NEXTHOP:
-- imsg_compose(ibuf, IMSG_CTL_SHOW_NEXTHOP, 0, 0, -1, NULL, 0);
-+ imsg_compose(ibuf, IMSG_CTL_SHOW_NEXTHOP, res->rtableid, 0, -1,
-+ NULL, 0);
- show_nexthop_head();
- break;
- case SHOW_INTERFACE:
-@@ -192,7 +231,7 @@ main(int argc, char *argv[])
- case SHOW_NEIGHBOR_TIMERS:
- case SHOW_NEIGHBOR_TERSE:
- neighbor.show_timers = (res->action == SHOW_NEIGHBOR_TIMERS);
-- if (res->peeraddr.af || res->peerdesc[0])
-+ if (res->peeraddr.aid || res->peerdesc[0])
- imsg_compose(ibuf, IMSG_CTL_SHOW_NEIGHBOR, 0, 0, -1,
- &neighbor, sizeof(neighbor));
- else
-@@ -206,7 +245,7 @@ main(int argc, char *argv[])
- memcpy(&ribreq.as, &res->as, sizeof(res->as));
- type = IMSG_CTL_SHOW_RIB_AS;
- }
-- if (res->addr.af) {
-+ if (res->addr.aid) {
- memcpy(&ribreq.prefix, &res->addr, sizeof(res->addr));
- ribreq.prefixlen = res->prefixlen;
- type = IMSG_CTL_SHOW_RIB_PREFIX;
-@@ -217,15 +256,35 @@ main(int argc, char *argv[])
- sizeof(res->community));
- type = IMSG_CTL_SHOW_RIB_COMMUNITY;
- }
-- memcpy(&ribreq.neighbor, &neighbor,
-- sizeof(ribreq.neighbor));
-+ memcpy(&ribreq.neighbor, &neighbor, sizeof(ribreq.neighbor));
- strlcpy(ribreq.rib, res->rib, sizeof(ribreq.rib));
-- ribreq.af = res->af;
-+ ribreq.aid = res->aid;
- ribreq.flags = res->flags;
- imsg_compose(ibuf, type, 0, 0, -1, &ribreq, sizeof(ribreq));
- if (!(res->flags & F_CTL_DETAIL))
- show_rib_summary_head();
- break;
-+ case SHOW_MRT:
-+ close(fd);
-+ bzero(&ribreq, sizeof(ribreq));
-+ if (res->as.type != AS_NONE)
-+ memcpy(&ribreq.as, &res->as, sizeof(res->as));
-+ if (res->addr.aid) {
-+ memcpy(&ribreq.prefix, &res->addr, sizeof(res->addr));
-+ ribreq.prefixlen = res->prefixlen;
-+ }
-+ if (res->community.as != COMMUNITY_UNSET &&
-+ res->community.type != COMMUNITY_UNSET)
-+ memcpy(&ribreq.community, &res->community,
-+ sizeof(res->community));
-+ memcpy(&ribreq.neighbor, &neighbor, sizeof(ribreq.neighbor));
-+ ribreq.aid = res->aid;
-+ ribreq.flags = res->flags;
-+ show_mrt.arg = &ribreq;
-+ if (!(res->flags & F_CTL_DETAIL))
-+ show_rib_summary_head();
-+ mrt_parse(res->mrtfd, &show_mrt, 1);
-+ exit(0);
- case SHOW_RIB_MEM:
- imsg_compose(ibuf, IMSG_CTL_SHOW_RIB_MEM, 0, 0, -1, NULL, 0);
- break;
-@@ -237,12 +296,14 @@ main(int argc, char *argv[])
- errx(1, "action==FIB");
- break;
- case FIB_COUPLE:
-- imsg_compose(ibuf, IMSG_CTL_FIB_COUPLE, 0, 0, -1, NULL, 0);
-+ imsg_compose(ibuf, IMSG_CTL_FIB_COUPLE, res->rtableid, 0, -1,
-+ NULL, 0);
- printf("couple request sent.\n");
- done = 1;
- break;
- case FIB_DECOUPLE:
-- imsg_compose(ibuf, IMSG_CTL_FIB_DECOUPLE, 0, 0, -1, NULL, 0);
-+ imsg_compose(ibuf, IMSG_CTL_FIB_DECOUPLE, res->rtableid, 0, -1,
-+ NULL, 0);
- printf("decouple request sent.\n");
- done = 1;
- break;
-@@ -290,12 +351,40 @@ main(int argc, char *argv[])
- break;
- case NETWORK_SHOW:
- bzero(&ribreq, sizeof(ribreq));
-- ribreq.af = res->af;
-+ ribreq.aid = res->aid;
- strlcpy(ribreq.rib, res->rib, sizeof(ribreq.rib));
- imsg_compose(ibuf, IMSG_CTL_SHOW_NETWORK, 0, 0, -1,
- &ribreq, sizeof(ribreq));
- show_network_head();
- break;
-+ case NETWORK_MRT:
-+ bzero(&ribreq, sizeof(ribreq));
-+ if (res->as.type != AS_NONE)
-+ memcpy(&ribreq.as, &res->as, sizeof(res->as));
-+ if (res->addr.aid) {
-+ memcpy(&ribreq.prefix, &res->addr, sizeof(res->addr));
-+ ribreq.prefixlen = res->prefixlen;
-+ }
-+ if (res->community.as != COMMUNITY_UNSET &&
-+ res->community.type != COMMUNITY_UNSET)
-+ memcpy(&ribreq.community, &res->community,
-+ sizeof(res->community));
-+ memcpy(&ribreq.neighbor, &neighbor, sizeof(ribreq.neighbor));
-+ ribreq.aid = res->aid;
-+ ribreq.flags = res->flags;
-+ net_mrt.arg = &ribreq;
-+ mrt_parse(res->mrtfd, &net_mrt, 1);
-+ done = 1;
-+ break;
-+ case LOG_VERBOSE:
-+ verbose = 1;
-+ /* FALLTHROUGH */
-+ case LOG_BRIEF:
-+ imsg_compose(ibuf, IMSG_CTL_LOG_VERBOSE, 0, 0, -1,
-+ &verbose, sizeof(verbose));
-+ printf("logging request sent.\n");
-+ done = 1;
-+ break;
- }
-
- while (ibuf->w.queued)
-@@ -304,13 +393,13 @@ main(int argc, char *argv[])
-
- while (!done) {
- if ((n = imsg_read(ibuf)) == -1)
-- errx(1, "imsg_read error");
-+ err(1, "imsg_read error");
- if (n == 0)
- errx(1, "pipe closed");
-
- while (!done) {
- if ((n = imsg_get(ibuf, &imsg)) == -1)
-- errx(1, "imsg_get error");
-+ err(1, "imsg_get error");
- if (n == 0)
- break;
-
-@@ -329,6 +418,8 @@ main(int argc, char *argv[])
- done = show_summary_terse_msg(&imsg, nodescr);
- break;
- case SHOW_FIB:
-+ case SHOW_FIB_TABLES:
-+ case NETWORK_SHOW:
- done = show_fib_msg(&imsg);
- break;
- case SHOW_NEXTHOP:
-@@ -356,9 +447,6 @@ main(int argc, char *argv[])
- case SHOW_RIB_MEM:
- done = show_rib_memory_msg(&imsg);
- break;
-- case NETWORK_SHOW:
-- done = show_fib_msg(&imsg);
-- break;
- case NEIGHBOR:
- case NEIGHBOR_UP:
- case NEIGHBOR_DOWN:
-@@ -373,6 +461,10 @@ main(int argc, char *argv[])
- case NETWORK_REMOVE:
- case NETWORK_FLUSH:
- case IRRFILTER:
-+ case LOG_VERBOSE:
-+ case LOG_BRIEF:
-+ case SHOW_MRT:
-+ case NETWORK_MRT:
- break;
- }
- imsg_free(&imsg);
-@@ -398,8 +490,8 @@ fmt_peer(const char *descr, const struct
- }
-
- ip = log_addr(remote_addr);
-- if (masklen != -1 && ((remote_addr->af == AF_INET && masklen != 32) ||
-- (remote_addr->af == AF_INET6 && masklen != 128))) {
-+ if (masklen != -1 && ((remote_addr->aid == AID_INET && masklen != 32) ||
-+ (remote_addr->aid == AID_INET6 && masklen != 128))) {
- if (asprintf(&p, "%s/%u", ip, masklen) == -1)
- err(1, NULL);
- } else {
-@@ -430,7 +522,7 @@ show_summary_msg(struct imsg *imsg, int
- p->conf.remote_masklen, nodescr);
- if (strlen(s) >= 20)
- s[20] = 0;
-- printf("%-20s %8s %10llu %10llu %5u %-8s ",
-+ printf("%-20s %8s %10" PRIu64 " %10" PRIu64 " %5u %-8s ",
- s, log_as(p->conf.remote_as),
- p->stats.msg_rcvd_open + p->stats.msg_rcvd_notification +
- p->stats.msg_rcvd_update + p->stats.msg_rcvd_keepalive +
-@@ -492,8 +584,8 @@ show_neighbor_terse(struct imsg *imsg)
- switch (imsg->hdr.type) {
- case IMSG_CTL_SHOW_NEIGHBOR:
- p = imsg->data;
-- printf("%llu %llu %llu %llu %llu %llu %llu "
-- "%llu %llu %llu %u %u %llu %llu %llu %llu\n",
-+ printf("%" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 " "
-+ "%" PRIu64 " %" PRIu64 " %" PRIu64 " %u %u %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64 "\n",
- p->stats.msg_sent_open, p->stats.msg_rcvd_open,
- p->stats.msg_sent_notification,
- p->stats.msg_rcvd_notification,
-@@ -521,13 +613,15 @@ show_neighbor_msg(struct imsg *imsg, enu
- struct ctl_timer *t;
- struct in_addr ina;
- char buf[NI_MAXHOST], pbuf[NI_MAXSERV], *s;
-+ int hascapamp = 0;
-+ u_int8_t i;
-
- switch (imsg->hdr.type) {
- case IMSG_CTL_SHOW_NEIGHBOR:
- p = imsg->data;
-- if ((p->conf.remote_addr.af == AF_INET &&
-+ if ((p->conf.remote_addr.aid == AID_INET &&
- p->conf.remote_masklen != 32) ||
*** 24051 LINES SKIPPED ***