Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Feb 2014 19:05:55 +0100 (CET)
From:      Johannes 5 Joemann <joemann@beefree.free.de>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/186982: [PATCH] net/xorp: update to 1.8.5
Message-ID:  <20140223180555.32023.qmail@beefree.free.de>
Resent-Message-ID: <201402231820.s1NIK0Eq082269@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         186982
>Category:       ports
>Synopsis:       [PATCH] net/xorp: update to 1.8.5
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 23 18:20:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Johannes 5 Joemann
>Release:        FreeBSD 10.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD xxx.free.de 10.0-STABLE FreeBSD 10.0-STABLE #1: Fri Jan 31 23:23:23 CET 2014
>Description:
- Update to 1.8.5

Remarks:
- The starting point for this was PR ports/155932 by Radim Kolar for 1.8.3.
- The annoying amount of patches was necessary to compile xorp 1.8.5 on
  FreeBSD 10.0 using the base system clang.
- It also compiles (and runs:-) using the base system gcc on FreeBSD 9.2.
- The resulting binaries were tested on 10.0 and 9.2 using OSPF, including
  a connected-to-ospf export policy. Seems to work at least as good as
  the binaries from the xorp-devel port, which does not compile on 10.0.
- Unfortunately I don't have the resources to maintain this port:-(
  Especially as this would include understanding C++'s "interesting"
  compile errors (*) and communicating with an upstream that uses git and
  has not released a version of xorp since 1.8.5 two years ago.
- I've simplified rc.d/xorp, but also introduced an additional xorp_rtprio
  variable to improve xorp's stability on slow and loaded machines.

(*) On 10.0 using the base system clang, and without applying
    files/patch-pim__pim_mrt_task.cc:

c++ -o obj/i386-unknown-freebsd10.0/pim/pim_mrt_task.os -c -pipe -fno-strict-aliasing -O3 -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -DXORP_BUILDINFO -fPIC -DXRL_PF=120 -DXORP_VERSION=1.8.5 -DBOOST_DISABLE_THREADS -I/usr/local/include -Iobj/i386-unknown-freebsd10.0 -I. -I. pim/pim_mrt_task.cc
pim/pim_mrt_task.cc:169:14: error: use of overloaded operator '!=' is ambiguous
      (with operand types 'list<PimMreTask *>::reverse_iterator' (aka
      'reverse_iterator<iterator>') and 'reverse_iterator' (aka
      'reverse_iterator<iterator>'))
    if (iter != pim_mre_task_list().rend()) {
        ~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/utility:161:1: note: candidate function [with _Tp =
      std::__1::reverse_iterator<std::__1::__list_iterator<PimMreTask *, void *>
      >]
operator!=(const _Tp& __x, const _Tp& __y)
^
/usr/include/c++/v1/iterator:574:1: note: candidate function [with _Iter1 =
      std::__1::__list_iterator<PimMreTask *, void *>, _Iter2 =
      std::__1::__list_iterator<PimMreTask *, void *>]
operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_...
^

Generated with FreeBSD Port Tools 1.00.2014.02.18_1 (mode: update, diff: ports)
>How-To-Repeat:
>Fix:

--- xorp-1.8.5.patch begins here ---
diff -ruN /usr/ports/net/xorp/Makefile ./Makefile
--- /usr/ports/net/xorp/Makefile	2014-01-28 16:29:40.000000000 +0100
+++ ./Makefile	2014-02-21 00:04:43.000000000 +0100
@@ -2,101 +2,94 @@
 # $FreeBSD: head/net/xorp/Makefile 341435 2014-01-27 17:35:26Z bapt $
 
 PORTNAME=	xorp
-PORTVERSION=	1.6
-PORTREVISION=	1
+PORTVERSION=	1.8.5
+PORTREVISION=	0
 CATEGORIES=	net
-MASTER_SITES=	http://www.xorp.org/releases/${PORTVERSION}/	\
-		http://www2.xorp.org/releases/${PORTVERSION}/	\
-		http://www5.xorp.org/releases/${PORTVERSION}/	\
-		http://www3.xorp.org/releases/${PORTVERSION}/
+MASTER_SITES=	http://www.xorp.org/releases/${PORTVERSION}/
+DISTNAME=	${PORTNAME}-${PORTVERSION}-src
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	The eXtensible Open Router Platform
 
 LICENSE=	GPLv2
 
-OPTIONS_DEFINE=	ADVMCAST IPV6 SNMP OPTIMIZED_CFLAGS TEST DEBUG PROFILE
-OPTIONS_DEFAULT=	ADVMCAST IPV6 SNMP OPTIMIZED_CFLAGS TEST PROFILE
+BUILD_DEPENDS=	python:${PORTSDIR}/lang/python
+# Uses libcurses, libcrypto, librt from base system.
+LIB_DEPENDS=	libboost_regex.so:${PORTSDIR}/devel/boost-libs \
+		libpcap.so:${PORTSDIR}/net/libpcap
 
-ADVMCAST_DESC=	Build with Advanced Multicast API
+CONFLICTS_INSTALL=	xorp-devel-*
 
-BROKEN=		Does not build
-DEPRECATED=	Broken for more than 6 month
-EXPIRATION_DATE=	2014-02-27
-
-USE_GMAKE=	yes
-USE_OPENSSL=	yes
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=		--prefix=${PREFIX}/${PORTNAME}			\
-			--with-comment='FreeBSD port: ${PKGNAME}'	\
-			--with-openssl=${OPENSSLBASE}
-
-CXXFLAGS+=	-Wno-uninitialized
 NOMAN=		defined
 
-XORP_GROUP=	xorp
-USE_RC_SUBR=	xorp
+USE_BZIP2=	yes
+USE_PYTHON_BUILD=	2
+USE_SCONS=	yes
+MAKE_JOBS_SAFE=	defined
+
+WRKSRC=		${WRKDIR}/xorp
+OPTIONS=								\
+	    OPTIMIZE	 "Build with optimization" On			\
+	    ORIGIN	 "Use ORIGIN with shared libraries" On		\
+	    SHARED	 "Build with shared libraries" On		\
+	    STRIP	 "Strip binaries before installing" On		\
+	    TCP_RPC	 "Use TCP as RPC transport (defaults to AF_LOCAL)" Off
 
-NO_STAGE=	yes
-.include <bsd.port.options.mk>
+.include <bsd.port.pre.mk>
 
-.if ${PORT_OPTIONS:MADVMCAST}
-CONFIGURE_ARGS+=	--enable-advanced-mcast-api
+.if ${OSVERSION} < 700000
+IGNORE=		unsupported on FreeBSD versions prior to 7.0
 .endif
 
-.if ${PORT_OPTIONS:MIPV6}
-CONFIGURE_ARGS+=	--enable-ipv6
-.else
-CONFIGURE_ARGS+=	--disable-ipv6
-.endif
+USE_RC_SUBR=	xorp.sh
+XORP_SAMPLECONF=	rtrmgr/config/multicast4.boot
+SUB_FILES=	pkg-message
 
-.if ${PORT_OPTIONS:MSNMP}
-BUILD_DEPENDS+=		${LOCALBASE}/sbin/snmpd:${PORTSDIR}/net-mgmt/net-snmp
-CONFIGURE_ARGS+=	--with-snmp					 \
-	--with-path-to-snmpd=${LOCALBASE}/sbin				 \
-	--with-path-to-net-snmpd-config=${LOCALBASE}/bin/net-snmp-config \
-	--enable-shared
-PLIST_SUB+=		XORP_SNMP=""
-USE_LDCONFIG=		${PREFIX}/mibs
+SCONS_ARGS+=	prefix=${PREFIX} enable_boost=1
+
+.if defined(WITHOUT_OPTIMIZE)
+SCONS_ARGS+=	optimize=no
 .else
-PLIST_SUB+=		XORP_SNMP="@comment "
+SCONS_ARGS+=	optimize=highest
 .endif
 
-.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-CONFIGURE_ARGS+=	--enable-optimize --disable-debug
+.if defined(WITHOUT_SHARED)
+SCONS_ARGS+=	shared=false
+PLIST_SUB+=	XORP_SHLIB="@comment "
+.else
+SCONS_ARGS+=	shared=true
+PLIST_SUB+=	XORP_SHLIB=""
+USE_LDCONFIG=	${PREFIX}/lib/xorp/lib
+. if defined (WITHOUT_ORIGIN)
+SCONS_ARGS+=	origin=false
+. else
+SCONS_ARGS+=	origin=true
+. endif
 .endif
 
-.if ${PORT_OPTIONS:MTEST}
-BUILD_DEPENDS+=	${LOCALBASE}/bin/python:${PORTSDIR}/lang/python \
-		${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash
+.if defined(WITHOUT_STRIP)
+SCONS_ARGS+=	strip=false
+.else
+SCONS_ARGS+=	strip=true
 .endif
 
-.if ${PORT_OPTIONS:MDEBUG}
-CONFIGURE_ARGS+=	--enable-debug-msgs --enable-debug-fnames
+.if defined(WITH_TCP_RPC)
+SCONS_ARGS+=	transport=tcp
+.else
+SCONS_ARGS+=	transport=local
 .endif
 
-.if ${PORT_OPTIONS:MPROFILE}
-CONFIGURE_ARGS+=	--enable-profile
+# XXX is this still true?
+.if ${ARCH} == "sparc64"
+BROKEN=		Does not compile on sparc64
 .endif
 
-NOT_FOR_ARCH=	sparc64
-
-.include <bsd.port.pre.mk>
-
-pre-everything::
-.if !defined(PREFIX) || ${PREFIX} == "/usr/local"
-	@${ECHO_MSG} "XORP does not currently follow the hier(7) filesystem layout."
-	@${ECHO_MSG} "It will therefore install all its directories relative to ${PREFIX}."
-	@${ECHO_MSG} "If you do not want this, hit ^C now and set PREFIX in the"
-	@${ECHO_MSG} "build environment to something other than ${PREFIX}."
-	@${ECHO_MSG}
-	@${ECHO_MSG} "If you plan to build with SNMP support, please ensure that"
-	@${ECHO_MSG} "the net-mgmt/net-snmp port is already installed under ${LOCALBASE}"
-	@${ECHO_MSG} "before doing this."
-.endif
+post-stage:
+	${CP} -p ${WRKSRC}/${XORP_SAMPLECONF} ${STAGEDIR}${PREFIX}/etc/xorp.conf.sample
 
+.ifmake install
 post-install:
 	${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.endif
 
 .include <bsd.port.post.mk>
diff -ruN /usr/ports/net/xorp/distinfo ./distinfo
--- /usr/ports/net/xorp/distinfo	2012-07-14 16:29:18.000000000 +0200
+++ ./distinfo	2014-02-11 22:07:48.000000000 +0100
@@ -1,2 +1,2 @@
-SHA256 (xorp-1.6.tar.gz) = d3faff56f5e58cf43fa300e14d6b5702ea9e75147f3d2d2aae44da8bda3f8f82
-SIZE (xorp-1.6.tar.gz) = 7895108
+SHA256 (xorp-1.8.5-src.tar.bz2) = 4aa414e248f0ef3903a4ae8fd1862d8dd713a69f6bbc926d81dd693a88ef8e72
+SIZE (xorp-1.8.5-src.tar.bz2) = 3104442
diff -ruN /usr/ports/net/xorp/files/patch-SConstruct ./files/patch-SConstruct
--- /usr/ports/net/xorp/files/patch-SConstruct	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-SConstruct	2011-03-25 11:14:54.359000000 +0100
@@ -0,0 +1,27 @@
+--- SConstruct.orig	2011-03-22 22:08:58.000000000 +0100
++++ SConstruct	2011-03-25 11:14:54.359000184 +0100
+@@ -160,22 +160,13 @@
+ 
+ # XXX TODO: Make initial CPPPATH/LIBPATH derive from
+ # autodetected host system *or* command line.
+-#env = Environment(
+-#		  TOOLS = ['default', 'autotest', 'clntgen', 'tgtgen',
+-#		           'TOOL_SUBST'],
+-#		  ENV = os.environ,
+-#		  BUILDDIR = builddir,
+-#		  CPPPATH=['/usr/local/include', '$BUILDDIR'],
+-#		  LIBPATH=['usr/lib', '/usr/local/lib'],
+-#		  variables = vars)
+-
+ env = Environment(
+ 		  TOOLS = ['default', 'autotest', 'clntgen', 'tgtgen',
+ 		           'TOOL_SUBST'],
+ 		  ENV = os.environ,
+ 		  BUILDDIR = builddir,
+-		  CPPPATH=['$BUILDDIR'],
+-		  LIBPATH=['usr/lib'],
++		  CPPPATH=['/usr/local/include', '$BUILDDIR'],
++		  LIBPATH=['usr/lib', '/usr/local/lib'],
+ 		  variables = vars)
+ 
+ prefix = env['prefix']
diff -ruN /usr/ports/net/xorp/files/patch-bgp__bgp_trie.cc ./files/patch-bgp__bgp_trie.cc
--- /usr/ports/net/xorp/files/patch-bgp__bgp_trie.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-bgp__bgp_trie.cc	2014-02-07 17:33:08.000000000 +0100
@@ -0,0 +1,11 @@
+--- bgp/bgp_trie.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ bgp/bgp_trie.cc	2014-02-07 17:24:59.000000000 +0100
+@@ -115,7 +115,7 @@
+ 		   net.str().c_str(),
+ 		   found->attributes()->str().c_str());
+ 	XLOG_INFO("Pathmap dump follows: \n");
+-	for (pmi == _pathmap.begin(); pmi != _pathmap.end(); pmi++) {
++	for (pmi = _pathmap.begin(); pmi != _pathmap.end(); pmi++) {
+ 	    XLOG_INFO("%s\n\n", pmi->second->str().c_str());
+ 	}
+ 	XLOG_FATAL("Exiting\n");
diff -ruN /usr/ports/net/xorp/files/patch-bgp__harness__coord.hh ./files/patch-bgp__harness__coord.hh
--- /usr/ports/net/xorp/files/patch-bgp__harness__coord.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-bgp__harness__coord.hh	2014-02-07 18:00:46.000000000 +0100
@@ -0,0 +1,12 @@
+--- bgp/harness/coord.hh.orig	2010-07-19 23:10:33.000000000 +0200
++++ bgp/harness/coord.hh	2014-02-07 17:56:28.000000000 +0100
+@@ -42,7 +42,9 @@
+ 
+ private:
+     bool _done;
++public:
+     EventLoop& _eventloop;
++private:
+     Command& _command;
+ };
+ 
diff -ruN /usr/ports/net/xorp/files/patch-bgp__path_attribute.cc ./files/patch-bgp__path_attribute.cc
--- /usr/ports/net/xorp/files/patch-bgp__path_attribute.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-bgp__path_attribute.cc	2014-02-07 17:47:39.000000000 +0100
@@ -0,0 +1,16 @@
+--- bgp/path_attribute.cc.orig	2011-03-16 22:15:59.000000000 +0100
++++ bgp/path_attribute.cc	2014-02-07 17:44:17.000000000 +0100
+@@ -830,8 +830,11 @@
+ ClusterListAttribute::clone() const
+ {
+     ClusterListAttribute *ca = new ClusterListAttribute();
+-    list<IPv4>::const_reverse_iterator i = cluster_list().rbegin();
+-    for(; i != cluster_list().rend(); i++)
++    // list<IPv4>::const_reverse_iterator i = cluster_list().rbegin();
++    list<IPv4>::const_iterator i = cluster_list().end();
++    if (! cluster_list().empty())
++    // for(; i != cluster_list().rend(); i++)
++    for(; i-- != cluster_list().begin(); )
+ 	ca->prepend_cluster_id(*i);
+     return ca;
+ }
diff -ruN /usr/ports/net/xorp/files/patch-cli__cli_client.cc ./files/patch-cli__cli_client.cc
--- /usr/ports/net/xorp/files/patch-cli__cli_client.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cli__cli_client.cc	2014-02-04 20:18:56.000000000 +0100
@@ -0,0 +1,29 @@
+--- cli/cli_client.cc.orig	2011-03-22 22:08:58.000000000 +0100
++++ cli/cli_client.cc	2014-02-04 20:15:39.000000000 +0100
+@@ -832,7 +832,7 @@
+     //
+     // Print help
+     //
+-    if ((val == 'h')) {
++    if (val == 'h') {
+ 	if (! is_help_mode()) {
+ 	    set_help_mode(true);
+ 	    _is_page_buffer_mode = &_is_help_buffer_mode;
+@@ -958,7 +958,7 @@
+     // Display the output all at once instead of oen screen at a time.
+     // (Same as specifying the "| no-more" command.)
+     //
+-    if ((val == 'N')) {
++    if (val == 'N') {
+ 	while (page_buffer_last_line_n() < page_buffer_lines_n()) {
+ 	    set_page_buffer_mode(false);
+ 	    cli_print(page_buffer_line(page_buffer_last_line_n()));
+@@ -1021,7 +1021,7 @@
+     //
+     // Redraw the output of the screen
+     //
+-    if ((val == CHAR_TO_CTRL('l'))) {
++    if (val == CHAR_TO_CTRL('l')) {
+     redisplay_screen_label:
+ 	size_t i, start_window_line = 0;
+ 	set_page_buffer_mode(false);
diff -ruN /usr/ports/net/xorp/files/patch-cli__xrl_cli_node.hh ./files/patch-cli__xrl_cli_node.hh
--- /usr/ports/net/xorp/files/patch-cli__xrl_cli_node.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-cli__xrl_cli_node.hh	2014-02-04 23:38:24.000000000 +0100
@@ -0,0 +1,21 @@
+--- cli/xrl_cli_node.hh.orig	2011-03-16 22:27:45.000000000 +0100
++++ cli/xrl_cli_node.hh	2014-02-04 23:37:29.000000000 +0100
+@@ -224,6 +224,9 @@
+ 				     const string *cli_term_name,
+ 				     const uint32_t *cli_session_id,
+ 				     const string *command_output);
++
++    EventLoop&		_eventloop;
++
+ private:
+     /**
+      * Called when Finder connection is established.
+@@ -241,7 +244,7 @@
+ 
+     CliNode&	cli_node() const { return (_cli_node); }
+ 
+-    EventLoop&		_eventloop;
++    // EventLoop&		_eventloop;
+     CliNode&		_cli_node;
+ 
+     XrlCliProcessorV0p1Client _xrl_cli_processor_client;
diff -ruN /usr/ports/net/xorp/files/patch-contrib__olsr__face.hh ./files/patch-contrib__olsr__face.hh
--- /usr/ports/net/xorp/files/patch-contrib__olsr__face.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-contrib__olsr__face.hh	2014-02-07 15:48:20.000000000 +0100
@@ -0,0 +1,14 @@
+--- contrib/olsr/face.hh.orig	2010-07-19 23:10:33.000000000 +0200
++++ contrib/olsr/face.hh	2014-02-07 15:40:51.000000000 +0100
+@@ -291,8 +291,10 @@
+      */
+     void originate_hello();
+ 
+-  private:
+     Olsr&		_olsr;
++
++  private:
++    // Olsr&		_olsr;
+     FaceManager&	_fm;
+     Neighborhood*	_nh;
+     MessageDecoder&	_md;
diff -ruN /usr/ports/net/xorp/files/patch-contrib__olsr__face_manager.cc ./files/patch-contrib__olsr__face_manager.cc
--- /usr/ports/net/xorp/files/patch-contrib__olsr__face_manager.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-contrib__olsr__face_manager.cc	2014-02-07 16:10:18.000000000 +0100
@@ -0,0 +1,16 @@
+--- contrib/olsr/face_manager.cc.orig	2011-07-25 19:55:36.000000000 +0200
++++ contrib/olsr/face_manager.cc	2014-02-07 16:00:05.000000000 +0100
+@@ -239,8 +239,11 @@
+ 
+ 	// Walk the list of message handler functions in reverse,
+ 	// looking for one which is willing to consume this message.
+-	vector<MessageReceiveCB>::reverse_iterator jj;
+-	for (jj = _handlers.rbegin(); jj != _handlers.rend(); jj++) {
++	// vector<MessageReceiveCB>::reverse_iterator jj;
++	vector<MessageReceiveCB>::iterator jj;
++	if (! _handlers.empty())
++	// for (jj = _handlers.rbegin(); jj != _handlers.rend(); jj++) {
++	for (jj = _handlers.end(); jj-- != _handlers.begin(); ) {
+ 	    try {
+ 		is_consumed = (*jj)->dispatch(msg, src, face->local_addr());
+ 		if (is_consumed)
diff -ruN /usr/ports/net/xorp/files/patch-contrib__olsr__message.hh ./files/patch-contrib__olsr__message.hh
--- /usr/ports/net/xorp/files/patch-contrib__olsr__message.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-contrib__olsr__message.hh	2014-02-07 16:43:42.000000000 +0100
@@ -0,0 +1,13 @@
+--- contrib/olsr/message.hh.orig	2012-01-11 18:46:45.000000000 +0100
++++ contrib/olsr/message.hh	2014-02-07 16:29:50.000000000 +0100
+@@ -668,8 +668,8 @@
+ 	return (str += '\n');
+     }
+ 
+-private:
+-    size_t	_opaque_data_offset;
++// private:
++//    size_t	_opaque_data_offset;
+ };
+ 
+ /**
diff -ruN /usr/ports/net/xorp/files/patch-contrib__olsr__policy_varrw.cc ./files/patch-contrib__olsr__policy_varrw.cc
--- /usr/ports/net/xorp/files/patch-contrib__olsr__policy_varrw.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-contrib__olsr__policy_varrw.cc	2014-02-07 17:05:10.000000000 +0100
@@ -0,0 +1,11 @@
+--- contrib/olsr/policy_varrw.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ contrib/olsr/policy_varrw.cc	2014-02-07 16:57:40.000000000 +0100
+@@ -39,7 +39,7 @@
+ #include "policy_varrw.hh"
+ 
+ OlsrVarRW::OlsrVarRW(IPv4Net& network, IPv4& nexthop, uint32_t& metric,
+-		     IPv4& originator, IPv4& main_addr, uint32_t vtype,
++		     IPv4& originator, IPv4& main_addr, uint32_t& vtype,
+ 		     PolicyTags& policytags)
+     : _network(network), _nexthop(nexthop), _metric(metric),
+       _originator(originator), _main_addr(main_addr), _vtype(vtype),
diff -ruN /usr/ports/net/xorp/files/patch-contrib__olsr__policy_varrw.hh ./files/patch-contrib__olsr__policy_varrw.hh
--- /usr/ports/net/xorp/files/patch-contrib__olsr__policy_varrw.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-contrib__olsr__policy_varrw.hh	2014-02-07 17:04:52.000000000 +0100
@@ -0,0 +1,11 @@
+--- contrib/olsr/policy_varrw.hh.orig	2010-07-19 23:10:33.000000000 +0200
++++ contrib/olsr/policy_varrw.hh	2014-02-07 16:59:38.000000000 +0100
+@@ -45,7 +45,7 @@
+     };
+ 
+     OlsrVarRW(IPv4Net& network, IPv4& nexthop, uint32_t& metric,
+-	      IPv4& originator, IPv4& main_addr, uint32_t vtype,
++	      IPv4& originator, IPv4& main_addr, uint32_t& vtype,
+ 	      PolicyTags& policytags);
+ 
+     // SingleVarRW inteface:
diff -ruN /usr/ports/net/xorp/files/patch-contrib__olsr__tools__print_databases.cc ./files/patch-contrib__olsr__tools__print_databases.cc
--- /usr/ports/net/xorp/files/patch-contrib__olsr__tools__print_databases.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-contrib__olsr__tools__print_databases.cc	2014-02-07 15:45:19.000000000 +0100
@@ -0,0 +1,170 @@
+--- contrib/olsr/tools/print_databases.cc.orig	2011-03-16 22:16:01.000000000 +0100
++++ contrib/olsr/tools/print_databases.cc	2014-02-07 15:15:48.000000000 +0100
+@@ -161,7 +161,8 @@
+ };
+ 
+ void
+-GetExternals::get(int argc, char *argv[])
++// GetExternals::get(int argc, char *argv[])
++GetExternals::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -172,8 +173,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get external route list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -309,7 +310,8 @@
+ };
+ 
+ void
+-GetInterfaces::get(int argc, char *argv[])
++// GetInterfaces::get(int argc, char *argv[])
++GetInterfaces::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -320,8 +322,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get interface list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -476,7 +478,8 @@
+ };
+ 
+ void
+-GetLinks::get(int argc, char *argv[])
++// GetLinks::get(int argc, char *argv[])
++GetLinks::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -487,8 +490,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get link list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -649,7 +652,8 @@
+ };
+ 
+ void
+-GetMids::get(int argc, char *argv[])
++// GetMids::get(int argc, char *argv[])
++GetMids::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -660,8 +664,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get MID list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -803,7 +807,8 @@
+ };
+ 
+ void
+-GetNeighbors::get(int argc, char *argv[])
++// GetNeighbors::get(int argc, char *argv[])
++GetNeighbors::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -814,8 +819,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get neighbor list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -979,7 +984,8 @@
+ };
+ 
+ void
+-GetTopology::get(int argc, char *argv[])
++// GetTopology::get(int argc, char *argv[])
++GetTopology::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -990,8 +996,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get topology list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -1126,7 +1132,8 @@
+ };
+ 
+ void
+-GetTwohopLinks::get(int argc, char *argv[])
++// GetTwohopLinks::get(int argc, char *argv[])
++GetTwohopLinks::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -1137,8 +1144,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get neighbor list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -1271,7 +1278,8 @@
+ };
+ 
+ void
+-GetTwohopNeighbors::get(int argc, char *argv[])
++// GetTwohopNeighbors::get(int argc, char *argv[])
++GetTwohopNeighbors::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -1283,8 +1291,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get two-hop neighbor list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
diff -ruN /usr/ports/net/xorp/files/patch-contrib__olsr__twohop.hh ./files/patch-contrib__olsr__twohop.hh
--- /usr/ports/net/xorp/files/patch-contrib__olsr__twohop.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-contrib__olsr__twohop.hh	2014-02-07 17:17:25.000000000 +0100
@@ -0,0 +1,14 @@
+--- contrib/olsr/twohop.hh.orig	2011-03-16 22:27:46.000000000 +0100
++++ contrib/olsr/twohop.hh	2014-02-07 17:09:13.000000000 +0100
+@@ -140,8 +140,10 @@
+ 	return _twohop_links;
+     }
+ 
+-  private:
+     EventLoop&		    _ev;
++
++  private:
++    // EventLoop&		    _ev;
+     Neighborhood*	    _parent;
+ 
+     /**
diff -ruN /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.cc ./files/patch-fea__data_plane__control_socket__routing_socket.cc
--- /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__data_plane__control_socket__routing_socket.cc	2014-02-05 14:19:42.000000000 +0100
@@ -0,0 +1,14 @@
+--- fea/data_plane/control_socket/routing_socket.cc.orig	2011-03-16 22:27:46.000000000 +0100
++++ fea/data_plane/control_socket/routing_socket.cc	2014-02-05 14:11:37.000000000 +0100
+@@ -240,9 +240,10 @@
+ // Observe routing sockets activity
+ //
+ 
+-struct RoutingSocketPlumber {
++class RoutingSocketPlumber {
+     typedef RoutingSocket::ObserverList ObserverList;
+ 
++public:
+     static void
+     plumb(RoutingSocket& r, RoutingSocketObserver* o)
+     {
diff -ruN /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.hh ./files/patch-fea__data_plane__control_socket__routing_socket.hh
--- /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__data_plane__control_socket__routing_socket.hh	2014-02-05 13:33:18.000000000 +0100
@@ -0,0 +1,11 @@
+--- fea/data_plane/control_socket/routing_socket.hh.orig	2011-03-16 22:27:46.000000000 +0100
++++ fea/data_plane/control_socket/routing_socket.hh	2014-02-05 13:20:10.000000000 +0100
+@@ -31,7 +31,7 @@
+ 
+ 
+ class RoutingSocketObserver;
+-struct RoutingSocketPlumber;
++// struct RoutingSocketPlumber;
+ 
+ /**
+  * RoutingSocket class opens a routing socket and forwards data arriving
diff -ruN /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.cc ./files/patch-fea__data_plane__control_socket__windows_rtm_pipe.cc
--- /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__data_plane__control_socket__windows_rtm_pipe.cc	2014-02-05 15:00:27.000000000 +0100
@@ -0,0 +1,14 @@
+--- fea/data_plane/control_socket/windows_rtm_pipe.cc.orig	2011-03-16 22:16:01.000000000 +0100
++++ fea/data_plane/control_socket/windows_rtm_pipe.cc	2014-02-05 14:59:02.000000000 +0100
+@@ -288,9 +288,10 @@
+ // Observe routing sockets activity
+ //
+ 
+-struct WinRtmPipePlumber {
++class WinRtmPipePlumber {
+     typedef WinRtmPipe::ObserverList ObserverList;
+ 
++public:
+     static void
+     plumb(WinRtmPipe& r, WinRtmPipeObserver* o)
+     {
diff -ruN /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.hh ./files/patch-fea__data_plane__control_socket__windows_rtm_pipe.hh
--- /usr/ports/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__data_plane__control_socket__windows_rtm_pipe.hh	2014-02-05 13:40:06.000000000 +0100
@@ -0,0 +1,11 @@
+--- fea/data_plane/control_socket/windows_rtm_pipe.hh.orig	2011-03-16 22:16:01.000000000 +0100
++++ fea/data_plane/control_socket/windows_rtm_pipe.hh	2014-02-05 13:38:25.000000000 +0100
+@@ -29,7 +29,7 @@
+ #include "libxorp/exceptions.hh"
+ 
+ class WinRtmPipeObserver;
+-struct WinRtmPipePlumber;
++// struct WinRtmPipePlumber;
+ 
+ /**
+  * WinRtmPipe class opens a routing socket and forwards data arriving
diff -ruN /usr/ports/net/xorp/files/patch-fea__data_plane__fibconfig__fibconfig_table_observer_rtmv2.hh ./files/patch-fea__data_plane__fibconfig__fibconfig_table_observer_rtmv2.hh
--- /usr/ports/net/xorp/files/patch-fea__data_plane__fibconfig__fibconfig_table_observer_rtmv2.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__data_plane__fibconfig__fibconfig_table_observer_rtmv2.hh	2014-02-05 13:51:45.000000000 +0100
@@ -0,0 +1,21 @@
+--- fea/data_plane/fibconfig/fibconfig_table_observer_rtmv2.hh.orig	2011-03-16 22:16:02.000000000 +0100
++++ fea/data_plane/fibconfig/fibconfig_table_observer_rtmv2.hh	2014-02-05 13:46:16.000000000 +0100
+@@ -73,15 +73,15 @@
+ private:
+     class RtmV2Observer : public WinRtmPipeObserver {
+     public:
+-    	RtmV2Observer(WinRtmPipe& rs, int af,
++    	RtmV2Observer(WinRtmPipe& rs, /* int af, */
+ 		      FibConfigTableObserverRtmV2& rtmo)
+-	    : WinRtmPipeObserver(rs), _af(af), _rtmo(rtmo) {}
++	    : WinRtmPipeObserver(rs), /* _af(af), */ _rtmo(rtmo) {}
+     	virtual ~RtmV2Observer() {}
+ 	void routing_socket_data(const vector<uint8_t>& buffer) {
+ 	    _rtmo.receive_data(buffer);
+ 	}
+     private:
+-	int _af;
++	// int _af;
+     	FibConfigTableObserverRtmV2& _rtmo;
+     };
+ 
diff -ruN /usr/ports/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.cc ./files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.cc
--- /usr/ports/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.cc	2014-02-05 15:23:30.000000000 +0100
@@ -0,0 +1,15 @@
+--- fea/data_plane/managers/fea_data_plane_manager_linux.cc.orig	2011-03-16 22:27:48.000000000 +0100
++++ fea/data_plane/managers/fea_data_plane_manager_linux.cc	2014-02-05 15:21:50.000000000 +0100
+@@ -71,8 +71,10 @@
+ 
+ 
+ FeaDataPlaneManagerLinux::FeaDataPlaneManagerLinux(FeaNode& fea_node)
+-    : FeaDataPlaneManager(fea_node, "Linux"),
+-      _ifconfig_get_ioctl(NULL)
++    : FeaDataPlaneManager(fea_node, "Linux")
++#if defined(HAVE_PROC_LINUX) && defined(HAVE_IOCTL_SIOCGIFCONF) and !defined(HAVE_NETLINK_SOCKETS)
++      , _ifconfig_get_ioctl(NULL)
++#endif
+ {
+ }
+ 
diff -ruN /usr/ports/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.hh ./files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.hh
--- /usr/ports/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.hh	2014-02-05 15:09:06.000000000 +0100
@@ -0,0 +1,14 @@
+--- fea/data_plane/managers/fea_data_plane_manager_linux.hh.orig	2011-03-16 22:27:48.000000000 +0100
++++ fea/data_plane/managers/fea_data_plane_manager_linux.hh	2014-02-05 15:06:24.000000000 +0100
+@@ -118,10 +118,10 @@
+      * @return the @ref IfConfigGetIoctl plugin.
+      */
+     IfConfigGetIoctl* ifconfig_get_ioctl() { return (_ifconfig_get_ioctl); }
+-#endif
+ 
+ private:
+     IfConfigGetIoctl*	_ifconfig_get_ioctl;
++#endif
+ };
+ 
+ #endif // __FEA_DATA_PLANE_MANAGERS_FEA_DATA_PLANE_MANAGER_LINUX_HH__
diff -ruN /usr/ports/net/xorp/files/patch-fea__fibconfig.hh ./files/patch-fea__fibconfig.hh
--- /usr/ports/net/xorp/files/patch-fea__fibconfig.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__fibconfig.hh	2014-02-05 15:49:41.000000000 +0100
@@ -0,0 +1,18 @@
+--- fea/fibconfig.hh.orig	2012-01-11 18:46:45.000000000 +0100
++++ fea/fibconfig.hh	2014-02-05 15:49:04.000000000 +0100
+@@ -736,12 +736,14 @@
+      */
+     Trie6& trie6() { return _trie6; }
+ 
++    FeaNode&				_fea_node;
++
+ protected:
+     Trie4	_trie4;		// IPv4 trie (used for testing purpose)
+     Trie6	_trie6;		// IPv6 trie (used for testing purpose)
+     
+ private:
+-    FeaNode&				_fea_node;
++    // FeaNode&				_fea_node;
+     EventLoop&				_eventloop;
+ #ifndef XORP_DISABLE_PROFILE
+     Profile&				_profile;
diff -ruN /usr/ports/net/xorp/files/patch-fea__firewall_manager.hh ./files/patch-fea__firewall_manager.hh
--- /usr/ports/net/xorp/files/patch-fea__firewall_manager.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__firewall_manager.hh	2014-02-05 17:21:02.000000000 +0100
@@ -0,0 +1,20 @@
+--- fea/firewall_manager.hh.orig	2011-03-16 22:27:49.000000000 +0100
++++ fea/firewall_manager.hh	2014-02-05 17:18:17.000000000 +0100
+@@ -313,6 +313,8 @@
+      */
+     void delete_browse_state(uint32_t token);
+ 
++    FeaNode&				_fea_node;
++
+ private:
+     /**
+      * Update the firewall entries by pushing them into the underlying system.
+@@ -364,7 +366,7 @@
+      */
+     void generate_token();
+ 
+-    FeaNode&				_fea_node;
++    // FeaNode&				_fea_node;
+     EventLoop&				_eventloop;
+     const IfTree&			_iftree;
+ 
diff -ruN /usr/ports/net/xorp/files/patch-fea__ifconfig.hh ./files/patch-fea__ifconfig.hh
--- /usr/ports/net/xorp/files/patch-fea__ifconfig.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__ifconfig.hh	2014-02-05 16:08:45.000000000 +0100
@@ -0,0 +1,20 @@
+--- fea/ifconfig.hh.orig	2011-03-16 22:27:49.000000000 +0100
++++ fea/ifconfig.hh	2014-02-05 16:07:56.000000000 +0100
+@@ -442,6 +442,8 @@
+      */
+     void report_updates(IfTree& iftree);
+ 
++    FeaNode&			_fea_node;
++
+ private:
+     /**
+      * Restore the interface configuration.
+@@ -455,7 +457,7 @@
+ 		       const IfTree& old_system_config,
+ 		       string& error_msg);
+ 
+-    FeaNode&			_fea_node;
++    // FeaNode&			_fea_node;
+     EventLoop&			_eventloop;
+     NexthopPortMapper&		_nexthop_port_mapper;
+     IfConfigTransactionManager* _itm;	// The interface transaction manager
diff -ruN /usr/ports/net/xorp/files/patch-fea__mfea_mrouter.hh ./files/patch-fea__mfea_mrouter.hh
--- /usr/ports/net/xorp/files/patch-fea__mfea_mrouter.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__mfea_mrouter.hh	2014-02-05 16:59:49.000000000 +0100
@@ -0,0 +1,11 @@
+--- fea/mfea_mrouter.hh.orig	2011-03-16 22:27:49.000000000 +0100
++++ fea/mfea_mrouter.hh	2014-02-05 16:57:00.000000000 +0100
+@@ -437,6 +437,8 @@
+     // Original state from the underlying system before the MFEA was started
+     //
+     bool	_multicast_forwarding_enabled;
++
++public:
+     const FibConfig& _fibconfig;
+ };
+ 
diff -ruN /usr/ports/net/xorp/files/patch-fea__tools__show_interfaces.hh ./files/patch-fea__tools__show_interfaces.hh
--- /usr/ports/net/xorp/files/patch-fea__tools__show_interfaces.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__tools__show_interfaces.hh	2014-02-05 15:34:44.000000000 +0100
@@ -0,0 +1,20 @@
+--- fea/tools/show_interfaces.hh.orig	2010-07-19 23:10:33.000000000 +0200
++++ fea/tools/show_interfaces.hh	2014-02-05 15:34:37.000000000 +0100
+@@ -79,6 +79,8 @@
+      */
+     void print_interfaces(const string& print_iface_name) const;
+ 
++    EventLoop&		_eventloop;
++
+ protected:
+     //
+     // IfMgrHintObserver methods
+@@ -132,7 +134,7 @@
+      */
+     int ifmgr_shutdown();
+ 
+-    EventLoop&		_eventloop;
++    // EventLoop&		_eventloop;
+ 
+     IfMgrXrlMirror	_ifmgr;
+ 
diff -ruN /usr/ports/net/xorp/files/patch-fea__xrl_mfea_node.hh ./files/patch-fea__xrl_mfea_node.hh
--- /usr/ports/net/xorp/files/patch-fea__xrl_mfea_node.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-fea__xrl_mfea_node.hh	2014-02-05 17:07:56.000000000 +0100
@@ -0,0 +1,20 @@
+--- fea/xrl_mfea_node.hh.orig	2011-03-16 22:27:49.000000000 +0100
++++ fea/xrl_mfea_node.hh	2014-02-06 20:13:08.000000000 +0100
+@@ -504,6 +504,8 @@
+ 	// Input values,
+ 	const bool&	enable);
+ 
++    EventLoop&			_eventloop;
++
+ private:
+     /**
+      * Called when Finder connection is established.
+@@ -570,7 +572,7 @@
+     
+     int family() const { return (MfeaNode::family()); }
+ 
+-    EventLoop&			_eventloop;
++    // EventLoop&			_eventloop;
+     const string		_finder_target;
+ 
+     XrlMfeaClientV0p1Client	_xrl_mfea_client_client;
diff -ruN /usr/ports/net/xorp/files/patch-libproto__packet.cc ./files/patch-libproto__packet.cc
--- /usr/ports/net/xorp/files/patch-libproto__packet.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-libproto__packet.cc	2014-02-04 20:11:25.000000000 +0100
@@ -0,0 +1,11 @@
+--- libproto/packet.cc.orig	2011-03-22 22:08:59.000000000 +0100
++++ libproto/packet.cc	2014-02-04 20:02:26.000000000 +0100
+@@ -233,7 +233,7 @@
+ }
+ 
+ ArpHeader::ArpHeader() {
+-    memset(this, 0, sizeof(this));
++    memset(this, 0, sizeof(*this));
+     ah_hw_len = 6;
+     ah_proto_len = 4;
+ }
diff -ruN /usr/ports/net/xorp/files/patch-libxipc__xrl_pf_stcp.cc ./files/patch-libxipc__xrl_pf_stcp.cc
--- /usr/ports/net/xorp/files/patch-libxipc__xrl_pf_stcp.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-libxipc__xrl_pf_stcp.cc	2014-02-04 19:52:45.000000000 +0100
@@ -0,0 +1,29 @@
+--- libxipc/xrl_pf_stcp.cc.orig	2011-03-22 22:08:59.000000000 +0100
++++ libxipc/xrl_pf_stcp.cc	2014-02-04 19:11:08.000000000 +0100
+@@ -548,7 +548,7 @@
+ 		 bool		  batch,
+ 		 const Xrl&	  x,
+ 		 const Callback&  cb)
+-	: _p(p), _sn(sn), _b(_buffer), _cb(cb), _keepalive(false)
++	: _p(p), _sn(sn), _b(_buffer), _cb(cb) //, _keepalive(false)
+     {
+ 	size_t header_bytes = STCPPacketHeader::header_size();
+ 	size_t xrl_bytes = x.packed_bytes();
+@@ -572,7 +572,7 @@
+     }
+ 
+     RequestState(XrlPFSTCPSender* p, uint32_t sn)
+-	: _p(p), _sn(sn), _b(_buffer), _keepalive(true)
++	: _p(p), _sn(sn), _b(_buffer) //, _keepalive(true)
+     {
+ 	size_t header_bytes = STCPPacketHeader::header_size();
+ 
+@@ -621,7 +621,7 @@
+     uint8_t		_buffer[256];	// XXX important performance parameter
+     uint32_t		_size;
+     Callback		_cb;
+-    bool		_keepalive;
++    // bool		_keepalive;
+ };
+ 
+ 
diff -ruN /usr/ports/net/xorp/files/patch-libxorp-utility.h ./files/patch-libxorp-utility.h
--- /usr/ports/net/xorp/files/patch-libxorp-utility.h	2012-10-02 07:32:23.000000000 +0200
+++ ./files/patch-libxorp-utility.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
---- libxorp/utility.h.orig	2012-10-01 17:45:19.000000000 +0800
-+++ libxorp/utility.h	2012-10-01 17:47:34.000000000 +0800
-@@ -31,7 +31,7 @@
-  * Compile time assertion.
-  */
- #ifndef static_assert
--#define static_assert(a) switch (a) case 0: case (a):
-+#define static_assert(a) ((void)sizeof(int[(a) ? 1 : -1]))
- #endif /* static_assert */
- 
- /*
-@@ -42,7 +42,7 @@
- #ifdef UNUSED
- # undef UNUSED
- #endif /* UNUSED */
--#define UNUSED(var)	static_assert(sizeof(var) != 0)
-+#define UNUSED(var)	((void)var)
- 
- #ifdef __cplusplus
- #define cstring(s) (s).str().c_str()
diff -ruN /usr/ports/net/xorp/files/patch-mibs-bgp4_mib_1657_bgp4pathattrtable.cc ./files/patch-mibs-bgp4_mib_1657_bgp4pathattrtable.cc
--- /usr/ports/net/xorp/files/patch-mibs-bgp4_mib_1657_bgp4pathattrtable.cc	2012-07-14 16:29:18.000000000 +0200
+++ ./files/patch-mibs-bgp4_mib_1657_bgp4pathattrtable.cc	1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
---- mibs/bgp4_mib_1657_bgp4pathattrtable.cc.orig	2009-01-05 18:31:00.000000000 +0000
-+++ mibs/bgp4_mib_1657_bgp4pathattrtable.cc	2011-12-27 03:17:03.000000000 +0000
-@@ -139,7 +139,7 @@
- 	    DEBUGMSGTL((BgpMib::the_instance().name(),
- 		"updating local bgp4PathAttrTable...\n"));
- 	    DEBUGMSGTL((BgpMib::the_instance().name(),
--		"local table size: %d\n", CONTAINER_SIZE(cb.container)));
-+		"local table size: %zd\n", CONTAINER_SIZE(cb.container)));
- 	    bgp_mib.send_get_v4_route_list_start("bgp", net, true, false,
- 			     callback(get_v4_route_list_start_done));
- 	    break;
-@@ -156,12 +156,12 @@
- 	    DEBUGMSGTL((BgpMib::the_instance().name(),
- 		"removing old routes from bgp4PathAttrTable...\n"));
- 	    DEBUGMSGTL((BgpMib::the_instance().name(),
--		"local table size: %d old_routes stack: %d\n", 
-+		"local table size: %zd old_routes stack: %zd\n", 
- 		CONTAINER_SIZE(cb.container), update.old_routes.size()));
- 	    CONTAINER_FOR_EACH(cb.container, find_old_routes, NULL);
- 	    while (update.old_routes.size()) {  
- 		DEBUGMSGTL((BgpMib::the_instance().name(),
--		    "update.old_routes.size() = %d\n", 
-+		    "update.old_routes.size() = %zd\n", 
- 		    update.old_routes.size()));
- 	        row = (bgp4PathAttrTable_context*) 
- 		    CONTAINER_FIND(cb.container, &update.old_routes.top());	
-@@ -745,7 +745,7 @@
- 
-     if (row->update_signature != (update.list_token)) {
-         DEBUGMSGTL((BgpMib::the_instance().name(),
--	    "removing %#010x from table\n", row->bgp4PathAttrIpAddrPrefix));
-+	    "removing %#010lx from table\n", row->bgp4PathAttrIpAddrPrefix));
- 	update.old_routes.push(row->index); 
-     }
- }
diff -ruN /usr/ports/net/xorp/files/patch-mibs-bgp4_mib_1657_bgppeertable.cc ./files/patch-mibs-bgp4_mib_1657_bgppeertable.cc
--- /usr/ports/net/xorp/files/patch-mibs-bgp4_mib_1657_bgppeertable.cc	2012-07-14 16:29:18.000000000 +0200
+++ ./files/patch-mibs-bgp4_mib_1657_bgppeertable.cc	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- mibs/bgp4_mib_1657_bgppeertable.cc-orig	2011-12-27 00:37:40.000000000 +0000
-+++ mibs/bgp4_mib_1657_bgppeertable.cc	2011-12-27 00:38:11.000000000 +0000
-@@ -476,7 +476,7 @@
- 
- void free_context(void * context, struct netsnmp_iterator_info_s * /* iinfo */)
- {
--    DEBUGMSGTL((BgpMib::the_instance().name(),"freeing context %x\n", context));
-+    DEBUGMSGTL((BgpMib::the_instance().name(),"freeing context %p\n", context));
-     if (NULL != context) free(context);
-     context = NULL;
- }
diff -ruN /usr/ports/net/xorp/files/patch-mibs-xorpevents.cc ./files/patch-mibs-xorpevents.cc
--- /usr/ports/net/xorp/files/patch-mibs-xorpevents.cc	2012-07-14 16:29:18.000000000 +0200
+++ ./files/patch-mibs-xorpevents.cc	1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
---- mibs/xorpevents.cc-orig	2011-12-27 00:35:22.000000000 +0000
-+++ mibs/xorpevents.cc	2011-12-27 00:36:01.000000000 +0000
-@@ -55,7 +55,7 @@
- {
-     SnmpEventLoop& e = SnmpEventLoop::the_instance();
-     DEBUGMSGTL((e._log_name, "run all xorp timers\n"));
--    DEBUGMSGTL((e._log_name, "# of timers: %d\n", e.timer_list().size()));
-+    DEBUGMSGTL((e._log_name, "# of timers: %zd\n", e.timer_list().size()));
-     e.timer_list().run();
-     SnmpEventLoop::AlarmMap::iterator p;
-     for (p = e._pending_alarms.begin(); p != e._pending_alarms.end(); ++p) {
diff -ruN /usr/ports/net/xorp/files/patch-pim__pim_mrt_task.cc ./files/patch-pim__pim_mrt_task.cc
--- /usr/ports/net/xorp/files/patch-pim__pim_mrt_task.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-pim__pim_mrt_task.cc	2014-02-06 19:20:48.000000000 +0100
@@ -0,0 +1,42 @@
+--- pim/pim_mrt_task.cc.orig	2011-09-20 02:33:28.000000000 +0200
++++ pim/pim_mrt_task.cc	2014-02-06 18:34:33.000000000 +0100
+@@ -166,7 +166,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state()
+ 	    == PimMreTrackState::INPUT_STATE_IN_REMOVE_MISC) {
+@@ -1159,7 +1160,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state() == input_state) {
+ 	    pim_mre_task->add_pim_mre(pim_mre);
+@@ -1224,7 +1226,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state() == input_state) {
+ 	    pim_mre_task->add_pim_mre(pim_mre);		// XXX
+@@ -1266,7 +1269,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state()
+ 	    == PimMreTrackState::INPUT_STATE_IN_REMOVE_PIM_MFC) {
diff -ruN /usr/ports/net/xorp/files/patch-policy__backend__iv_exec.cc ./files/patch-policy__backend__iv_exec.cc
--- /usr/ports/net/xorp/files/patch-policy__backend__iv_exec.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-policy__backend__iv_exec.cc	2014-02-05 18:48:35.000000000 +0100
@@ -0,0 +1,15 @@
+--- policy/backend/iv_exec.cc.orig	2011-03-16 22:27:54.000000000 +0100
++++ policy/backend/iv_exec.cc	2014-02-05 18:44:26.000000000 +0100
+@@ -275,7 +275,11 @@
+ IvExec::visit(Store& s)
+ {
+     if (_stackptr < _stack)
+-	xorp_throw(RuntimeError, "Stack empty on assign of " + s.var());
++	// xorp_throw(RuntimeError, "Stack empty on assign of " + s.var());
++	{ char *tmpstr;
++	  asprintf(&tmpstr, "Stack empty on assign of %d", s.var());
++	  xorp_throw(RuntimeError, tmpstr);
++	}
+ 
+     const Element* arg = *_stackptr;
+     _stackptr--;
diff -ruN /usr/ports/net/xorp/files/patch-policy__backend__lex.yy_policy_backend_parser.cc ./files/patch-policy__backend__lex.yy_policy_backend_parser.cc
--- /usr/ports/net/xorp/files/patch-policy__backend__lex.yy_policy_backend_parser.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-policy__backend__lex.yy_policy_backend_parser.cc	2014-02-05 19:12:49.000000000 +0100
@@ -0,0 +1,11 @@
+--- policy/backend/lex.yy_policy_backend_parser.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ policy/backend/lex.yy_policy_backend_parser.cc	2014-02-05 19:09:23.000000000 +0100
+@@ -617,6 +617,8 @@
+ static int yy_flex_strlen (yyconst char * );
+ #endif
+ 
++#define YY_NO_INPUT
++
+ #ifndef YY_NO_INPUT
+ 
+ #ifdef __cplusplus
diff -ruN /usr/ports/net/xorp/files/patch-policy__backend__single_varrw.cc ./files/patch-policy__backend__single_varrw.cc
--- /usr/ports/net/xorp/files/patch-policy__backend__single_varrw.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-policy__backend__single_varrw.cc	2014-02-05 18:58:13.000000000 +0100
@@ -0,0 +1,15 @@
+--- policy/backend/single_varrw.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ policy/backend/single_varrw.cc	2014-02-05 18:56:49.000000000 +0100
+@@ -70,7 +70,11 @@
+ 
+ 	// out of luck...
+ 	if(!e)
+-	    xorp_throw(SingleVarRWErr, "Unable to read variable " + id);
++	    // xorp_throw(SingleVarRWErr, "Unable to read variable " + id);
++	    { char *tmpstr;
++	      asprintf(&tmpstr, "Unable to read variable %d", id);
++	      xorp_throw(SingleVarRWErr, tmpstr);
++	    }
+     }
+ 
+     return *e;
diff -ruN /usr/ports/net/xorp/files/patch-policy__configuration.cc ./files/patch-policy__configuration.cc
--- /usr/ports/net/xorp/files/patch-policy__configuration.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-policy__configuration.cc	2014-02-06 20:03:11.000000000 +0100
@@ -0,0 +1,13 @@
+--- policy/configuration.cc.orig	2011-03-16 22:27:54.000000000 +0100
++++ policy/configuration.cc	2014-02-06 20:00:41.000000000 +0100
+@@ -766,7 +766,9 @@
+     POLICY* p = find_policy(proto);
+     XLOG_ASSERT(p);
+ 
+-    for (POLICY::reverse_iterator i = p->rbegin(); i != p->rend(); ++i) {
++//    for (POLICY::reverse_iterator i = p->rbegin(); i != p->rend(); ++i) {
++    if (! p->empty())
++    for (POLICY::iterator i = p->end(); --i != p->begin(); ) {
+ 	PolicyList* pl = i->second;
+ 
+ 	pl->link_code(code);
diff -ruN /usr/ports/net/xorp/files/patch-policy__configuration.hh ./files/patch-policy__configuration.hh
--- /usr/ports/net/xorp/files/patch-policy__configuration.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-policy__configuration.hh	2014-02-06 20:01:58.000000000 +0100
@@ -0,0 +1,22 @@
+--- policy/configuration.hh.orig	2011-03-16 22:27:54.000000000 +0100
++++ policy/configuration.hh	2014-02-12 11:14:04.000000000 +0100
+@@ -43,11 +43,19 @@
+ 
+ // XXX we go reverse in order to make peer specific policies override global
+ // ones.  Global is "" so it's always smallest (first).
++/*
+ #define FOR_ALL_POLICIES(n) \
+     for (PROTOCOL::reverse_iterator i = _protocols.rbegin(); \
+ 	 i != _protocols.rend(); ++i) \
+ 	for (POLICY::reverse_iterator n = i->second->rbegin(); \
+ 	    n != i->second->rend(); ++n)
++*/
++#define FOR_ALL_POLICIES(n) \
++    if (! _protocols.empty()) \
++    for (PROTOCOL::iterator i = _protocols.end(); \
++	i-- != _protocols.begin(); ) \
++	for (POLICY::iterator n = i->second->end(); \
++	    (! i->second->empty()) & (n-- != i->second->begin()); )
+ 
+ class IEMap {
+ public:
diff -ruN /usr/ports/net/xorp/files/patch-policy__lex.yy_policy_parser.cc ./files/patch-policy__lex.yy_policy_parser.cc
--- /usr/ports/net/xorp/files/patch-policy__lex.yy_policy_parser.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-policy__lex.yy_policy_parser.cc	2014-02-06 20:19:36.000000000 +0100
@@ -0,0 +1,10 @@
+--- policy/lex.yy_policy_parser.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ policy/lex.yy_policy_parser.cc	2014-02-06 20:17:42.000000000 +0100
+@@ -2982,6 +2982,7 @@
+ static int yy_flex_strlen (yyconst char * );
+ #endif
+ 
++#define YY_NO_INPUT
+ #ifndef YY_NO_INPUT
+ 
+ #ifdef __cplusplus
diff -ruN /usr/ports/net/xorp/files/patch-rib__vifmanager.hh ./files/patch-rib__vifmanager.hh
--- /usr/ports/net/xorp/files/patch-rib__vifmanager.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rib__vifmanager.hh	2014-02-06 21:05:42.000000000 +0100
@@ -0,0 +1,23 @@
+--- rib/vifmanager.hh.orig	2010-07-19 23:10:33.000000000 +0200
++++ rib/vifmanager.hh	2014-02-06 21:03:13.000000000 +0100
+@@ -110,6 +110,9 @@
+      */
+     int		final_stop();
+ 
++    XrlRouter&		_xrl_router;
++    EventLoop&		_eventloop;
++
+ protected:
+     //
+     // IfMgrHintObserver methods
+@@ -163,8 +166,8 @@
+      */
+     int ifmgr_shutdown();
+ 
+-    XrlRouter&		_xrl_router;
+-    EventLoop&		_eventloop;
++    // XrlRouter&		_xrl_router;
++    // EventLoop&		_eventloop;
+     RibManager*		_rib_manager;
+ 
+     IfMgrXrlMirror	_ifmgr;
diff -ruN /usr/ports/net/xorp/files/patch-rip__packets.hh ./files/patch-rip__packets.hh
--- /usr/ports/net/xorp/files/patch-rip__packets.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rip__packets.hh	2014-02-07 18:09:39.000000000 +0100
@@ -0,0 +1,10 @@
+--- rip/packets.hh.orig	2011-03-16 22:16:12.000000000 +0100
++++ rip/packets.hh	2014-02-07 18:07:00.000000000 +0100
+@@ -586,6 +586,7 @@
+     const uint8_t* _key_id;	// Key number used
+     const uint8_t* _auth_bytes;	// Auth data length at end of packet
+     const uint8_t* _seqno;	// Monotonically increasing seqno
++public:
+     const uint8_t* _mbz;	// Must-be-zero
+ };
+ 
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__cli.cc ./files/patch-rtrmgr__cli.cc
--- /usr/ports/net/xorp/files/patch-rtrmgr__cli.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__cli.cc	2014-02-07 13:51:27.000000000 +0100
@@ -0,0 +1,20 @@
+--- rtrmgr/cli.cc.orig	2011-03-16 22:16:13.000000000 +0100
++++ rtrmgr/cli.cc	2014-02-07 13:47:22.000000000 +0100
+@@ -741,7 +741,7 @@
+     path = token_vector2line(command_global_name);
+     XLOG_ASSERT(path.substr(0, 4) == "help");
+     if (path.size() == 4) {
+-	trimmed_path == "";
++	trimmed_path = "";
+     } else {
+ 	XLOG_ASSERT(path.substr(0, 5) == "help ");
+ 	trimmed_path = path.substr(5, path.size() - 5);
+@@ -1062,7 +1062,7 @@
+     path = token_vector2line(command_global_name);
+     XLOG_ASSERT(path.substr(0, 4) == "help");
+     if (path.size() == 4) {
+-	trimmed_path == "";
++	trimmed_path = "";
+     } else {
+ 	XLOG_ASSERT(path.substr(0, 5) == "help ");
+ 	trimmed_path = path.substr(5, path.size() - 5);
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__lex.boot.cc ./files/patch-rtrmgr__lex.boot.cc
--- /usr/ports/net/xorp/files/patch-rtrmgr__lex.boot.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__lex.boot.cc	2014-02-06 21:27:16.000000000 +0100
@@ -0,0 +1,27 @@
+--- rtrmgr/lex.boot.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ rtrmgr/lex.boot.cc	2014-02-06 21:19:35.000000000 +0100
+@@ -9552,6 +9552,7 @@
+ static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+ #endif
+ 
++#define YY_NO_INPUT
+ #ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+ static int yyinput YY_PROTO(( void ));
+@@ -10483,6 +10484,7 @@
+ #endif	/* ifndef YY_NO_UNPUT */
+ 
+ 
++#ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+ static int yyinput()
+ #else
+@@ -10554,7 +10556,7 @@
+ 
+ 	return c;
+ 	}
+-
++#endif
+ 
+ #ifdef YY_USE_PROTOS
+ void yyrestart( FILE *input_file )
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__lex.opcmd.cc ./files/patch-rtrmgr__lex.opcmd.cc
--- /usr/ports/net/xorp/files/patch-rtrmgr__lex.opcmd.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__lex.opcmd.cc	2014-02-06 21:41:56.000000000 +0100
@@ -0,0 +1,27 @@
+--- rtrmgr/lex.opcmd.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ rtrmgr/lex.opcmd.cc	2014-02-06 21:29:26.000000000 +0100
+@@ -518,6 +518,7 @@
+ static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+ #endif
+ 
++#define YY_NO_INPUT
+ #ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+ static int yyinput YY_PROTO(( void ));
+@@ -1322,6 +1323,7 @@
+ #endif	/* ifndef YY_NO_UNPUT */
+ 
+ 
++#ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+ static int yyinput()
+ #else
+@@ -1393,7 +1395,7 @@
+ 
+ 	return c;
+ 	}
+-
++#endif
+ 
+ #ifdef YY_USE_PROTOS
+ void yyrestart( FILE *input_file )
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__lex.tplt.cc ./files/patch-rtrmgr__lex.tplt.cc
--- /usr/ports/net/xorp/files/patch-rtrmgr__lex.tplt.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__lex.tplt.cc	2014-02-06 21:44:07.000000000 +0100
@@ -0,0 +1,27 @@
+--- rtrmgr/lex.tplt.cc.orig	2010-07-19 23:10:33.000000000 +0200
++++ rtrmgr/lex.tplt.cc	2014-02-06 21:33:41.000000000 +0100
+@@ -8667,6 +8667,7 @@
+ static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+ #endif
+ 
++#define YY_NO_INPUT
+ #ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+ static int yyinput YY_PROTO(( void ));
+@@ -9708,6 +9709,7 @@
+ #endif	/* ifndef YY_NO_UNPUT */
+ 
+ 
++#ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+ static int yyinput()
+ #else
+@@ -9779,7 +9781,7 @@
+ 
+ 	return c;
+ 	}
+-
++#endif
+ 
+ #ifdef YY_USE_PROTOS
+ void yyrestart( FILE *input_file )
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__module_command.hh ./files/patch-rtrmgr__module_command.hh
--- /usr/ports/net/xorp/files/patch-rtrmgr__module_command.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__module_command.hh	2014-02-06 22:40:57.000000000 +0100
@@ -0,0 +1,10 @@
+--- rtrmgr/module_command.hh.orig	2010-07-19 23:10:33.000000000 +0200
++++ rtrmgr/module_command.hh	2014-02-06 22:38:09.000000000 +0100
+@@ -87,6 +87,7 @@
+     Action*		_status_method;
+     Action*		_startup_method;
+     Action*		_shutdown_method;
++public:
+     bool		_execute_done;
+     bool		_verbose;	// Set to true if output is verbose
+ };
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__module_manager.hh ./files/patch-rtrmgr__module_manager.hh
--- /usr/ports/net/xorp/files/patch-rtrmgr__module_manager.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__module_manager.hh	2014-02-06 22:49:33.000000000 +0100
@@ -0,0 +1,12 @@
+--- rtrmgr/module_manager.hh.orig	2011-09-20 02:33:28.000000000 +0200
++++ rtrmgr/module_manager.hh	2014-02-06 22:48:01.000000000 +0100
+@@ -144,7 +144,9 @@
+     string	_expath;	// The expanded absolute path to the program
+     bool	_do_exec;	// false indicates we're running in test mode,
+ 				// when we may not actually start any processes
++public:
+     bool	_verbose;	// Set to true if output is verbose
++private:
+     XorpTimer	_shutdown_timer; // A timer used during shutdown
+     XorpCallback0<void>::RefPtr _terminate_cb; // The cb when module terminated
+ };
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__op_commands.hh ./files/patch-rtrmgr__op_commands.hh
--- /usr/ports/net/xorp/files/patch-rtrmgr__op_commands.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__op_commands.hh	2014-02-06 22:54:56.000000000 +0100
@@ -0,0 +1,11 @@
+--- rtrmgr/op_commands.hh.orig	2011-03-16 22:27:56.000000000 +0100
++++ rtrmgr/op_commands.hh	2014-02-06 22:52:04.000000000 +0100
+@@ -215,7 +215,7 @@
+ 
+     // Below here is temporary storage for use in parsing
+     list<string>	_path_segments;
+-    OpCommand*		_current_command;
++    // OpCommand*		_current_command;
+     const TemplateTree*	_template_tree;
+     SlaveConfigTree*	_slave_config_tree;
+     SlaveModuleManager& _mmgr;
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__template_commands.hh ./files/patch-rtrmgr__template_commands.hh
--- /usr/ports/net/xorp/files/patch-rtrmgr__template_commands.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__template_commands.hh	2014-02-06 23:40:32.000000000 +0100
@@ -0,0 +1,20 @@
+--- rtrmgr/template_commands.hh.orig	2011-03-16 22:16:14.000000000 +0100
++++ rtrmgr/template_commands.hh	2014-02-06 23:35:47.000000000 +0100
+@@ -78,6 +78,8 @@
+     string related_module() const;
+     string affected_module() const;
+ 
++    const XRLdb*	_xrldb;
++
+ private:
+ #ifdef DEBUG_XRLDB
+     bool check_xrl_is_valid(const list<string>& action,
+@@ -92,7 +94,7 @@
+     string		_request;
+     list<string>	_split_response;
+     string		_response;
+-    const XRLdb*	_xrldb;
++    // const XRLdb*	_xrldb;
+ };
+ 
+ class ProgramAction : public Action {
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__template_tree_node.cc ./files/patch-rtrmgr__template_tree_node.cc
--- /usr/ports/net/xorp/files/patch-rtrmgr__template_tree_node.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__template_tree_node.cc	2014-02-07 13:12:10.000000000 +0100
@@ -0,0 +1,17 @@
+--- rtrmgr/template_tree_node.cc.orig	2011-03-16 22:16:14.000000000 +0100
++++ rtrmgr/template_tree_node.cc	2014-02-07 13:00:37.000000000 +0100
+@@ -543,9 +543,12 @@
+ {
+     map<string,string> varmap;
+     const TemplateTreeNode* ttn = this;
+-    list<string>::const_reverse_iterator iter;
++    // list<string>::const_reverse_iterator iter;
++    list<string>::const_iterator iter;
+ 
+-    for (iter = segments.rbegin(); iter != segments.rend(); ++iter) {
++//    for (iter = segments.rbegin(); iter != segments.rend(); ++iter) {
++    if (! segments.empty())
++    for (iter = segments.end(); iter-- != segments.begin(); ) {
+ 	if (ttn->name_is_variable())
+ 	    varmap[ttn->segname()] = *iter;
+ 	ttn = ttn->parent();
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__template_tree_node.hh ./files/patch-rtrmgr__template_tree_node.hh
--- /usr/ports/net/xorp/files/patch-rtrmgr__template_tree_node.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__template_tree_node.hh	2014-02-07 13:07:19.000000000 +0100
@@ -0,0 +1,19 @@
+--- rtrmgr/template_tree_node.hh.orig	2011-03-16 22:16:14.000000000 +0100
++++ rtrmgr/template_tree_node.hh	2014-02-07 13:04:29.000000000 +0100
+@@ -189,13 +189,15 @@
+     TemplateTreeNode*	_parent;
+     list<TemplateTreeNode*> _children;
+ 
++    TemplateTree&	_template_tree;
++
+ private:
+     bool split_up_varname(const string& varname,
+ 			  list<string>& var_parts) const;
+     TemplateTreeNode* find_parent_varname_node(const list<string>& var_parts);
+     TemplateTreeNode* find_child_varname_node(const list<string>& var_parts);
+ 
+-    TemplateTree&	_template_tree;
++    // TemplateTree&	_template_tree;
+ 
+     string _module_name;
+     string _default_target_name;
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__userdb.hh ./files/patch-rtrmgr__userdb.hh
--- /usr/ports/net/xorp/files/patch-rtrmgr__userdb.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__userdb.hh	2014-02-07 13:16:52.000000000 +0100
@@ -0,0 +1,10 @@
+--- rtrmgr/userdb.hh.orig	2011-03-16 22:16:14.000000000 +0100
++++ rtrmgr/userdb.hh	2014-02-07 13:14:26.000000000 +0100
+@@ -98,6 +98,7 @@
+ 
+ private:
+     map<uid_t, User*> _users;
++public:
+     bool _verbose;	// Set to true if output is verbose
+ };
+ 
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__xorpsh_main.cc ./files/patch-rtrmgr__xorpsh_main.cc
--- /usr/ports/net/xorp/files/patch-rtrmgr__xorpsh_main.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__xorpsh_main.cc	2014-02-07 13:39:54.000000000 +0100
@@ -0,0 +1,20 @@
+--- rtrmgr/xorpsh_main.cc.orig	2012-01-11 18:46:45.000000000 +0100
++++ rtrmgr/xorpsh_main.cc	2014-02-07 13:35:51.000000000 +0100
+@@ -146,7 +146,7 @@
+       _verbose(verbose),
+       _ipc_name(IPCname),
+       _got_config(false),
+-      _got_modules(false),
++      // _got_modules(false),
+       _mode(MODE_INITIALIZING),
+       _xorpsh_interface(&_xrl_router, *this)
+ {
+@@ -667,7 +667,7 @@
+ 	_router_cli->notify_user(response, /* urgent */ true);
+ 	// XXX it's not clear we can continue if this happens
+     }
+-    response == "";
++    // response == "";
+     if (!_ct->apply_deletions(user_id, deletions,
+ 			      /* this is not a provisional change */ false,
+ 			      response)) {
diff -ruN /usr/ports/net/xorp/files/patch-rtrmgr__xorpsh_main.hh ./files/patch-rtrmgr__xorpsh_main.hh
--- /usr/ports/net/xorp/files/patch-rtrmgr__xorpsh_main.hh	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-rtrmgr__xorpsh_main.hh	2014-02-07 13:38:36.000000000 +0100
@@ -0,0 +1,11 @@
+--- rtrmgr/xorpsh_main.hh.orig	2011-03-16 22:16:14.000000000 +0100
++++ rtrmgr/xorpsh_main.hh	2014-02-07 13:34:19.000000000 +0100
+@@ -151,7 +151,7 @@
+     string		_authfile;
+     string		_authtoken;
+     bool		_got_config;
+-    bool		_got_modules;
++    // bool		_got_modules;
+     string		_configuration;
+ 
+     bool		_xrl_generic_done;	// XRL startup/shutdown flag
diff -ruN /usr/ports/net/xorp/files/patch-site_scons__config__allconfig.py ./files/patch-site_scons__config__allconfig.py
--- /usr/ports/net/xorp/files/patch-site_scons__config__allconfig.py	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-site_scons__config__allconfig.py	2014-02-10 19:29:41.000000000 +0100
@@ -0,0 +1,26 @@
+--- site_scons/config/allconfig.py.orig	2012-01-11 18:46:46.000000000 +0100
++++ site_scons/config/allconfig.py	2014-02-10 19:25:36.000000000 +0100
+@@ -21,6 +21,7 @@
+ import os
+ import string
+ from SCons.Script.SConscript import SConsEnvironment
++import fnmatch;
+ 
+ # TODO SCons support for headerfilename needs to be fixed at source--
+ # that would let us use confdefs.h for the include file header
+@@ -226,10 +227,12 @@
+     if has_af_inet and has_sock_raw:
+         conf.Define('HAVE_IP_RAW_SOCKETS')
+         # TODO:  This needs to be properly detected.
+-        # TODO:  This used to check for bsd and linux in an error prone
+-        #        way.  Now, do negative checks, but this could break Solaris
++        # <http://www.xorp.org/bugzilla/show_bug.cgi?id=106#c1>:
++        # TODO:  This used to check for openbsd and linux in an error prone
++        #        way.  Now, do negative checks, but this could break Solaris and other OS
+         #        (or not..no idea if it supports raw or not).
+-	if not (env.has_key('mingw') and env['mingw']):
++        if not ((env.has_key('mingw') and env['mingw']) or
++                   fnmatch.fnmatch(host_os, 'freebsd*')):
+             conf.Define('IPV4_RAW_OUTPUT_IS_RAW')
+             conf.Define('IPV4_RAW_INPUT_IS_RAW')
+     
diff -ruN /usr/ports/net/xorp/files/patch-vrrp__vrrp.cc ./files/patch-vrrp__vrrp.cc
--- /usr/ports/net/xorp/files/patch-vrrp__vrrp.cc	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-vrrp__vrrp.cc	2014-02-07 18:24:40.000000000 +0100
@@ -0,0 +1,29 @@
+--- vrrp/vrrp.cc.orig	2011-03-16 22:27:57.000000000 +0100
++++ vrrp/vrrp.cc	2014-02-07 18:20:15.000000000 +0100
+@@ -36,7 +36,7 @@
+ 
+ template <class T>
+ void
+-out_of_range(const string& msg, const T& x)
++out_of_range_(const string& msg, const T& x)
+ {
+     ostringstream oss;
+ 
+@@ -64,7 +64,7 @@
+       //, _arpd(_vif)
+ {
+     if (_vrid < 1 || _vrid > 255)
+-	out_of_range("VRID out of range", _vrid);
++	out_of_range_("VRID out of range", _vrid);
+ 
+     char tmp[sizeof "ff:ff:ff:ff:ff:ff"];
+ 
+@@ -94,7 +94,7 @@
+ Vrrp::set_priority(uint32_t priority)
+ {
+     if (priority == PRIORITY_LEAVE || priority >= PRIORITY_OWN)
+-	out_of_range("priority out of range", priority);
++	out_of_range_("priority out of range", priority);
+ 
+     _priority = priority;
+ 
diff -ruN /usr/ports/net/xorp/files/patch-xrl__scripts__Xif__parse.py ./files/patch-xrl__scripts__Xif__parse.py
--- /usr/ports/net/xorp/files/patch-xrl__scripts__Xif__parse.py	1970-01-01 01:00:00.000000000 +0100
+++ ./files/patch-xrl__scripts__Xif__parse.py	2014-02-04 19:46:26.000000000 +0100
@@ -0,0 +1,14 @@
+--- xrl/scripts/Xif/parse.py.orig	2011-03-22 22:08:59.000000000 +0100
++++ xrl/scripts/Xif/parse.py	2014-02-04 19:22:04.000000000 +0100
+@@ -71,8 +71,10 @@
+         pop_file()
+         pop_file()
+         push_file(file, line)
++    elif (flag == "3") | (flag == "4"):
++	print "Pre-processor #line flag (%s)" % flag
+     else:
+-        print "Invalid pre-processor #line flag (%d)\n", flag
++        print "Invalid pre-processor #line flag (%s)" % flag
+         sys.exit(1)
+     return 1
+ 
diff -ruN /usr/ports/net/xorp/files/pkg-message.in ./files/pkg-message.in
--- /usr/ports/net/xorp/files/pkg-message.in	1970-01-01 01:00:00.000000000 +0100
+++ ./files/pkg-message.in	2014-02-14 17:21:34.000000000 +0100
@@ -0,0 +1,14 @@
+Add the following lines to /etc/rc.conf to enable xorp:
+
+defaultrouter="NO"
+xorp_enable="YES"
+
+A configuration file must be created at
+
+%%PREFIX%%/etc/xorp.conf
+
+before use.
+
+Users who will be changing the xorp configuration via
+%%PREFIX%%/sbin/xorpsh
+must be members of the group xorp.
diff -ruN /usr/ports/net/xorp/files/xorp.in ./files/xorp.in
--- /usr/ports/net/xorp/files/xorp.in	2014-02-03 13:11:52.000000000 +0100
+++ ./files/xorp.in	1970-01-01 01:00:00.000000000 +0100
@@ -1,104 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD: head/net/xorp/files/xorp.in 340872 2014-01-24 00:14:07Z mat $
-#
-# A sample XORP startup script.
-#
-
-# PROVIDE: xorp
-# REQUIRE: netif routing mountcritlocal
-# BEFORE:  NETWORKING
-
-# Add the following lines to /etc/rc.conf to enable xorp:
-#
-# xorp_enable="YES"
-# xorp_flags="<set as needed>"
-# xorp_config_boot="%%PREFIX%%/etc/xorp.conf.sample"
-
-. /etc/rc.subr
-
-name="xorp"
-rcvar=xorp_enable
-
-load_rc_config $name
-
-: ${xorp_enable="NO"}
-: ${xorp_config_boot="%%PREFIX%%/etc/xorp.conf"}
-: ${xorp_rtrmgr_pidfile="/var/run/xorp_rtrmgr.pid"}
-: ${xorp_rtrmgr_logfile="/var/log/xorp_rtrmgr.log"}
-: ${xorp_rtrmgr_poll_enable=true}
-: ${xorp_rtrmgr_poll_timeout=90}
-: ${xorp_hardkill_enable=false}
-
-required_files=${xorp_config_boot}
-command=%%PREFIX%%/bin/xorp_rtrmgr
-command_args="-b ${xorp_config_boot}"
-pidfile=${xorp_rtrmgr_pidfile}
-sig_stop=INT
-
-start_precmd="xorp_prestart"
-start_cmd="xorp_start"
-stop_postcmd="xorp_poststop"
-
-xorp_prestart()
-{
-	touch ${xorp_rtrmgr_logfile}
-	return 0
-}
-
-xorp_start() 
-{
-	pidfile=${xorp_rtrmgr_pidfile}
-
-	echo -n 'Starting XORP router processes:'
-
-	echo -n ' xorp_rtrmgr'
-	if ! daemon </dev/null >>${xorp_rtrmgr_logfile} 2>&1 -c -p ${pidfile} \
-	     ${command} ${command_args} ; then
-		warn 'could not bring up xorp_rtrmgr.'
-		return 1
-	fi
-
-	${xorp_rtrmgr_poll_enable} || return 0
-
-	# If startup polling is enabled, then poll xorp_rtrmgr every
-	# second to see if it died, or if it logged successful bringup.
-	# XXX This may be racy on very fast machines, but without
-	# daemonizing support from xorp_rtrmgr it's difficult not to race.
-
-	pid=$(cat ${xorp_rtrmgr_pidfile})
-	timeout=${xorp_rtrmgr_poll_timeout}
-	tick=0
-	fail=true
-
-	until [ $tick = $timeout ];
-	do
-		sleep 1 ; kill -0 ${pid} || break
-		if ( tail -5 ${xorp_rtrmgr_logfile} | \
-		    grep 'No more tasks to run' > /dev/null 2>&1 ) ; then
-			fail=false
-			break
-		fi
-		tick=$((tick + 1))
-	done
-
-	if $fail ; then
-		warn 'xorp_rtrmgr failed to start'
-		return 1
-	fi
-
-	echo '.'
-	return 0
-}
-
-xorp_poststop()
-{
-	rm -f ${xorp_rtrmgr_pidfile} >/dev/null 2>&1 || true
-
-	${xorp_hardkill_enable} || return 0
-	killall -9 -m xorp_\* || true
-
-	return 0
-}
-
-run_rc_command "$1"
diff -ruN /usr/ports/net/xorp/files/xorp.sh.in ./files/xorp.sh.in
--- /usr/ports/net/xorp/files/xorp.sh.in	1970-01-01 01:00:00.000000000 +0100
+++ ./files/xorp.sh.in	2014-02-22 18:13:52.000000000 +0100
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# A sample XORP startup script.
+#
+
+# PROVIDE: xorp
+# REQUIRE: netif routing mountcritlocal ldconfig
+# BEFORE:  NETWORKING
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable xorp:
+#
+# xorp_enable="YES"
+#
+# Note: You have to create a config file before you can start xorp!
+#       Set ${xorp_conf} to its location, the default is defined below.
+#
+# Besides the xorp_* variables which you'll find below with their
+# default values, you can also define the following in rc.conf:
+#
+# xorp_rtprio=n
+#
+# This will run the xorp processes with realtime priority n, see rtprio(1).
+
+. /etc/rc.subr
+
+name=xorp
+rcvar=xorp_enable
+
+load_rc_config $name
+
+: ${xorp_enable:=NO}
+: ${xorp_conf=%%PREFIX%%/etc/xorp.conf}
+: ${xorp_rtrmgr_pidfile=/var/run/xorp_rtrmgr.pid}
+: ${xorp_rtrmgr_logfile=/var/log/xorp_rtrmgr.log}
+: ${xorp_flags=-l ${xorp_rtrmgr_logfile}}
+: ${xorp_hardkill_enable:=NO}
+
+required_files=${xorp_conf}
+
+command=%%PREFIX%%/sbin/xorp_rtrmgr
+pidfile=${xorp_rtrmgr_pidfile}
+logfile=${xorp_rtrmgr_logfile}
+command_args="-d -c ${xorp_conf} -P ${pidfile}"
+sig_stop=INT
+
+start_precmd=xorp_prestart
+stop_postcmd=xorp_poststop
+
+xorp_prestart()
+{
+	[ -z ${logfile} ] || [ -f ${logfile} ] || touch ${logfile}
+
+	# required for rtprio(1) until handled like nice(1) by rc.subr(8)
+	if [ -n "$xorp_rtprio" ] && [ "$xorp_rtprio" -ge 0 ]
+	then
+		rc_flags="$xorp_rtprio $command $xorp_flags"
+		command=/usr/sbin/rtprio
+	fi
+
+	return 0
+}
+
+xorp_poststop()
+{
+	rm -f ${pidfile} >/dev/null 2>&1 || true
+
+	checkyesno xorp_hardkill_enable || return 0
+	killall -9 -m xorp_\* || true
+
+	return 0
+}
+
+run_rc_command "$1"
diff -ruN /usr/ports/net/xorp/pkg-deinstall ./pkg-deinstall
--- /usr/ports/net/xorp/pkg-deinstall	2014-02-03 13:11:52.000000000 +0100
+++ ./pkg-deinstall	2014-02-18 21:29:14.000000000 +0100
@@ -5,18 +5,14 @@
 
 PATH=/bin:/usr/sbin
 
-if [ -z "${XORP_GROUP}" ]; then
-	XORP_GROUP=xorp
-fi
-
 case $2 in
 	POST-DEINSTALL)
-		if pw group show ${XORP_GROUP} 2>/dev/null 
+		if pw group show xorp 2>/dev/null 
 		then
-			echo "Deleting group ${XORP_GROUP}..."
-			pw groupdel -n ${XORP_GROUP} 2>/dev/null
+			echo "Deleting group xorp..."
+			pw groupdel -n xorp 2>/dev/null
 		else
-			echo "Group ${XORP_GROUP} not found!"
+			echo "Group xorp not found!"
 		fi
 	;;
 esac
diff -ruN /usr/ports/net/xorp/pkg-install ./pkg-install
--- /usr/ports/net/xorp/pkg-install	2014-02-03 13:11:52.000000000 +0100
+++ ./pkg-install	2014-02-18 21:29:40.000000000 +0100
@@ -5,31 +5,13 @@
 
 PATH=/bin:/usr/bin:/usr/sbin
 
-if [ -z "${XORP_GROUP}" ]; then
-	XORP_GROUP=xorp
-fi
-
 case $2 in
         POST-INSTALL)
-		if [ ! -f ${PREFIX}/etc/xorp.conf.sample ]; then \
-			cp ${WRKSRC}/rtrmgr/config.boot.sample ${PREFIX}/etc/xorp.conf.sample; \
-		fi
-		if pw group show "${XORP_GROUP}" 2>/dev/null; then \
-			echo "You already have a group \"${XORP_GROUP}\", so I will use it."; \
-		else \
-			echo "Adding group \"${XORP_GROUP}\"."; \
-			pw groupadd -n ${XORP_GROUP} 2>/dev/null; \
+		if pw group show xorp 2>/dev/null; then
+			echo "You already have a group xorp, so I will use it.";
+		else
+			echo "Adding group xorp.";
+			pw groupadd -n xorp 2>/dev/null;
 		fi
-		echo ""
-		echo "Add the following lines to /etc/rc.conf to enable xorp:"
-		echo ""
-		echo "defaultrouter=\"NO\""
-		echo "xorp_enable=\"YES\""
-		echo ""
-		echo "A configuration file must be created at ${PREFIX}/etc/xorp.conf before use."
-		echo ""
-		echo "Users who will be changing the xorp configuration via xorpsh"
-		echo "must be members of the group xorp."
-		echo ""
 	;;
 esac
diff -ruN /usr/ports/net/xorp/pkg-plist ./pkg-plist
--- /usr/ports/net/xorp/pkg-plist	2012-07-14 16:29:18.000000000 +0200
+++ ./pkg-plist	2014-02-13 17:05:37.000000000 +0100
@@ -1,156 +1,200 @@
-bin/call_xrl
-bin/xorp_profiler
-bin/xorp_rtrmgr
-bin/xorpsh
-bgp/xorp_bgp
-bgp/tools/xorpsh_print_peers
-bgp/tools/xorpsh_print_routes
-cli/tools/send_cli_processor_xrl
-cli/tools/cli_generic
-contrib/olsr/tools/clear_database
-contrib/olsr/tools/print_databases
-contrib/olsr/xorp_olsr4
-etc/templates/bgp.cmds
-etc/templates/bgp.tp
-etc/templates/fea.cmds
-etc/templates/fea.tp
-etc/templates/fib2mrib.tp
-etc/templates/firewall.tp
-etc/templates/host.cmds
-etc/templates/igmp.cmds
-etc/templates/igmp.tp
-etc/templates/interfaces.tp
-etc/templates/mfea.cmds
-etc/templates/mfea4.tp
-etc/templates/mfea6.cmds
-etc/templates/mfea6.tp
-etc/templates/misc.cmds
-etc/templates/mld.cmds
-etc/templates/mld.tp
-etc/templates/olsr4.cmds
-etc/templates/olsr4.tp
-etc/templates/ospfv2.cmds
-etc/templates/ospfv2.tp
-etc/templates/ospfv3.cmds
-etc/templates/ospfv3.tp
-etc/templates/pim.cmds
-etc/templates/pim6.cmds
-etc/templates/rib.tp
-etc/templates/pimsm4.tp
-etc/templates/pimsm6.tp
-etc/templates/plumbing.tp
-etc/templates/policy.tp
-etc/templates/protocols.tp
-etc/templates/rib.cmds
-etc/templates/rip.cmds
-etc/templates/rip.tp
-etc/templates/ripng.cmds
-etc/templates/ripng.tp
-etc/templates/rtrmgr.tp
-etc/templates/snmp.tp
-etc/templates/static_routes.tp
-etc/templates/xorpsh.cmds
-fea/xorp_fea
-fea/xorp_fea_click_config_generator
-fea/xorp_fea_dummy
-fea/tools/show_interfaces
-fib2mrib/xorp_fib2mrib
-libxipc/xorp_finder
-mld6igmp/xorp_igmp
-mld6igmp/xorp_mld
-ospf/xorp_ospfv2
-ospf/xorp_ospfv3
-ospf/tools/clear_database
-ospf/tools/print_lsas
-ospf/tools/print_neighbours
-pim/xorp_pimsm4
-pim/xorp_pimsm6
-policy/xorp_policy
-rib/xorp_rib
-rib/tools/show_distances
-rib/tools/show_routes
-rip/xorp_rip
-rip/xorp_ripng
-rip/tools/show_peer_stats
-rip/tools/show_stats
-static_routes/xorp_static_routes
-vrrp/xorp_vrrp
-xrl/targets/bgp.xrls
-xrl/targets/bgp4_mib.xrls
-xrl/targets/cli.xrls
-xrl/targets/coord.xrls
-xrl/targets/fea.xrls
-xrl/targets/fea_ifmgr_mirror.xrls
-xrl/targets/fib2mrib.xrls
-xrl/targets/finder.xrls
-xrl/targets/finder_client.xrls
-xrl/targets/mfea.xrls
-xrl/targets/mld6igmp.xrls
-xrl/targets/olsr4.xrls
-xrl/targets/ospfv2.xrls
-xrl/targets/ospfv3.xrls
-xrl/targets/pim.xrls
-xrl/targets/policy.xrls
-xrl/targets/profiler.xrls
-xrl/targets/rib.xrls
-xrl/targets/ribclient.xrls
-xrl/targets/rip.xrls
-xrl/targets/ripng.xrls
-xrl/targets/rtrmgr.xrls
-xrl/targets/show_distances.xrls
-xrl/targets/show_routes.xrls
-xrl/targets/static_routes.xrls
-xrl/targets/test.xrls
-xrl/targets/test_fea_ifmgr_mirror.xrls
-xrl/targets/test_fea_rawlink.xrls
-xrl/targets/test_finder_events.xrls
-xrl/targets/test_peer.xrls
-xrl/targets/test_socket4.xrls
-xrl/targets/test_socket6.xrls
-xrl/targets/test_xrls.xrls
-xrl/targets/vrrp.xrls
-xrl/targets/xorp_if_mib.xrls
-xrl/targets/xorpsh.xrls
-%%XORP_SNMP%%mibs/bgp4_mib_1657.la
-%%XORP_SNMP%%mibs/bgp4_mib_1657.so
-%%XORP_SNMP%%mibs/libnetsnmpxorp.la
-%%XORP_SNMP%%mibs/libnetsnmpxorp.so
-%%XORP_SNMP%%mibs/ospf_mib_1850.la
-%%XORP_SNMP%%mibs/ospf_mib_1850.so
-%%XORP_SNMP%%mibs/xorp_if_mib_module.la
-%%XORP_SNMP%%mibs/xorp_if_mib_module.so
-%%XORP_SNMP%%mibs/snmpdscripts/getbgppeertable
-%%XORP_SNMP%%mibs/snmpdscripts/getbgpversion
-%%XORP_SNMP%%mibs/snmpdscripts/startsnmp
-%%XORP_SNMP%%mibs/snmpdscripts/stopsnmp
-@dirrm xrl/targets
-@dirrm xrl
-@dirrm static_routes
-@dirrm rip/tools
-@dirrm rip
-@dirrm rib/tools
-@dirrm rib
-@dirrm policy
-@dirrm pim
-@dirrm ospf/tools
-@dirrm ospf
-@dirrm mld6igmp
-@dirrm vrrp
-%%XORP_SNMP%%@dirrm mibs/snmpdscripts
-%%XORP_SNMP%%@dirrm mibs
-@dirrm libxipc
-%%XORP_SNMP%%@dirrmtry libdata/ldconfig/xorp
-%%XORP_SNMP%%@dirrmtry libdata/ldconfig
-%%XORP_SNMP%%@dirrmtry libdata
-@dirrm fib2mrib
-@dirrmtry fea/tools
-@dirrm fea
-@dirrmtry etc/templates
-@dirrm contrib/olsr/tools
-@dirrm contrib/olsr
-@dirrm contrib
-@dirrm cli/tools
-@dirrm cli
-@dirrmtry bin
-@dirrm bgp/tools
-@dirrm bgp
+etc/xorp.conf.sample
+lib/xorp/bin/bgp_print_peers
+lib/xorp/bin/bgp_print_routes
+lib/xorp/bin/cli_generic
+lib/xorp/bin/cli_send_processor_xrl
+lib/xorp/bin/fea_show_interfaces
+lib/xorp/bin/olsr_print_databases
+lib/xorp/bin/olsr_clear_database
+lib/xorp/bin/ospf_clear_database
+lib/xorp/bin/ospf_print_lsas
+lib/xorp/bin/ospf_print_neighbours
+lib/xorp/bin/rib_show_distances
+lib/xorp/bin/rib_show_routes
+lib/xorp/bin/rip_show_peer_stats
+lib/xorp/bin/rip_show_stats
+%%XORP_SHLIB%%lib/xorp/lib/libxif_bgp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_cli_manager.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_cli_processor.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_common.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_coord.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_datain.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_fib.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_fib_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_firewall.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_ifmgr.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_ifmgr_mirror.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_ifmgr_replicator.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_rawlink.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_rawlink_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_rawpkt4.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_rawpkt4_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_rawpkt6.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fea_rawpkt6_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fib2mrib.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_finder.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_finder_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_finder_event_notifier.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_finder_event_observer.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_fti.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_mfea.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_mfea_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_mld6igmp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_mld6igmp_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_ospfv2.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_ospfv3.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_pim.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_policy.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_policy_backend.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_policy_redist4.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_policy_redist6.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_profile.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_profile_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_redist4.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_redist6.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_redist_transaction4.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_redist_transaction6.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_rib.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_rib_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_rip.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_ripng.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_rtrmgr.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_rtrmgr_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_socket4.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_socket4_user.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_socket6.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_socket6_user.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_static_routes.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_vrrp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_cli.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_comm.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_core.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea_control_socket.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea_data_plane_managers.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea_fibconfig.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea_firewall.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea_ifconfig.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fea_io.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_fib2mrib.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_finder.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_ipc.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_mld6igmp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_mrt.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_ospf.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_pim.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_policy.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_policy_backend.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_policy_common.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_proto.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_rib.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_rip.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_rip_xrl.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_ripng.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_ripng_xrl.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_static_routes.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_tecla.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_vrrp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_bgp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_cli.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_coord.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_fea.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_fea_ifmgr_mirror.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_fib2mrib.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_finder.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_finder_client.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_mfea.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_mld6igmp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_ospfv2.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_ospfv3.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_pim.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_policy.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_profiler.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_rib.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_ribclient.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_rip.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_ripng.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_rtrmgr.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_show_distances.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_show_routes.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_static_routes.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_vrrp.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_xorpsh.so
+%%XORP_SHLIB%%lib/xorp/lib/libxst_olsr4.so
+%%XORP_SHLIB%%lib/xorp/lib/libolsrxrl.so
+%%XORP_SHLIB%%lib/xorp/lib/libxif_olsr4.so
+%%XORP_SHLIB%%lib/xorp/lib/libxorp_bgp.so
+%%XORP_SHLIB%%lib/xorp/lib/libolsr.so
+lib/xorp/sbin/xorp_bgp
+lib/xorp/sbin/xorp_fea
+lib/xorp/sbin/xorp_fea_dummy
+lib/xorp/sbin/xorp_fib2mrib
+lib/xorp/sbin/xorp_igmp
+lib/xorp/sbin/xorp_mld
+lib/xorp/sbin/xorp_olsr4
+lib/xorp/sbin/xorp_ospfv2
+lib/xorp/sbin/xorp_ospfv3
+lib/xorp/sbin/xorp_pimsm4
+lib/xorp/sbin/xorp_pimsm6
+lib/xorp/sbin/xorp_policy
+lib/xorp/sbin/xorp_rib
+lib/xorp/sbin/xorp_rip
+lib/xorp/sbin/xorp_ripng
+lib/xorp/sbin/xorp_static_routes
+lib/xorp/sbin/xorp_vrrp
+sbin/call_xrl
+sbin/fea_xrl_shell_funcs.sh
+sbin/bgp_xrl_shell_funcs.sh
+sbin/rib_xrl_shell_funcs.sh
+sbin/xorp_profiler
+sbin/xorp_rtrmgr
+sbin/xorpsh
+share/xorp/templates/bgp.cmds
+share/xorp/templates/bgp.tp
+share/xorp/templates/fea.cmds
+share/xorp/templates/fea.tp
+share/xorp/templates/fib2mrib.tp
+share/xorp/templates/firewall.tp
+share/xorp/templates/host.cmds
+share/xorp/templates/igmp.cmds
+share/xorp/templates/igmp.tp
+share/xorp/templates/interfaces.tp
+share/xorp/templates/mfea.cmds
+share/xorp/templates/mfea4.tp
+share/xorp/templates/mfea6.cmds
+share/xorp/templates/mfea6.tp
+share/xorp/templates/misc.cmds
+share/xorp/templates/mld.cmds
+share/xorp/templates/mld.tp
+share/xorp/templates/olsr4.cmds
+share/xorp/templates/olsr4.tp
+share/xorp/templates/ospfv2.cmds
+share/xorp/templates/ospfv2.tp
+share/xorp/templates/ospfv3.cmds
+share/xorp/templates/ospfv3.tp
+share/xorp/templates/pim.cmds
+share/xorp/templates/pim6.cmds
+share/xorp/templates/pimsm4.tp
+share/xorp/templates/pimsm6.tp
+share/xorp/templates/plumbing.tp
+share/xorp/templates/policy.cmds
+share/xorp/templates/policy.tp
+share/xorp/templates/protocols.tp
+share/xorp/templates/rib.cmds
+share/xorp/templates/rib.tp
+share/xorp/templates/rip.cmds
+share/xorp/templates/rip.tp
+share/xorp/templates/ripng.cmds
+share/xorp/templates/ripng.tp
+share/xorp/templates/rtrmgr.tp
+share/xorp/templates/static_routes.tp
+share/xorp/templates/vrrp.cmds
+share/xorp/templates/vrrp.tp
+share/xorp/templates/xorpsh.cmds
+@dirrm share/xorp/templates
+@dirrm share/xorp
+%%XORP_SHLIB%%@dirrm lib/xorp/lib
+@dirrm lib/xorp/bin
+@dirrm lib/xorp/sbin
+@dirrm lib/xorp
--- xorp-1.8.5.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140223180555.32023.qmail>