summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorjoerg <joerg>2013-06-13 21:48:09 +0000
committerjoerg <joerg>2013-06-13 21:48:09 +0000
commit2b1c202b4c8b0974b2cc6c085881d8199a38740a (patch)
tree7e9a15fd63b9051a32eb91f15af12898e6e7ffad /net
parent03d54b303c9e61e71455f3befa67ab066ce9382e (diff)
downloadpkgsrc-2b1c202b4c8b0974b2cc6c085881d8199a38740a.tar.gz
Don't use rel_ops, it can create ambiguity for types that define more
than the minimal operator set. Rename out_of_range.
Diffstat (limited to 'net')
-rw-r--r--net/xorp/distinfo27
-rw-r--r--net/xorp/patches/patch-bgp_aspath.hh24
-rw-r--r--net/xorp/patches/patch-bgp_route__table__fanout.hh14
-rw-r--r--net/xorp/patches/patch-libfeaclient_ifmgr__atoms.hh33
-rw-r--r--net/xorp/patches/patch-libproto_config__node__id.hh14
-rw-r--r--net/xorp/patches/patch-libxipc_xrl__atom.hh14
-rw-r--r--net/xorp/patches/patch-libxorp_asnum.hh12
-rw-r--r--net/xorp/patches/patch-libxorp_ipnet.hh15
-rw-r--r--net/xorp/patches/patch-libxorp_ipv4.hh22
-rw-r--r--net/xorp/patches/patch-libxorp_ipv6.hh25
-rw-r--r--net/xorp/patches/patch-libxorp_ipvx.hh14
-rw-r--r--net/xorp/patches/patch-libxorp_range.hh18
-rw-r--r--net/xorp/patches/patch-libxorp_ref__ptr.hh12
-rw-r--r--net/xorp/patches/patch-libxorp_timeval.hh33
-rw-r--r--net/xorp/patches/patch-libxorp_trie.hh12
-rw-r--r--net/xorp/patches/patch-libxorp_vif.hh14
-rw-r--r--net/xorp/patches/patch-libxorp_xorp.h15
-rw-r--r--net/xorp/patches/patch-ospf_vertex.hh16
-rw-r--r--net/xorp/patches/patch-pim_pim__mre__track__state.hh15
-rw-r--r--net/xorp/patches/patch-pim_pim__scope__zone__table.hh14
-rw-r--r--net/xorp/patches/patch-policy_backend_policytags.hh14
-rw-r--r--net/xorp/patches/patch-vrrp_vrrp.cc31
22 files changed, 394 insertions, 14 deletions
diff --git a/net/xorp/distinfo b/net/xorp/distinfo
index fa5d9db3a1a..495ed123f7e 100644
--- a/net/xorp/distinfo
+++ b/net/xorp/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.20 2013/05/30 15:37:24 joerg Exp $
+$NetBSD: distinfo,v 1.21 2013/06/13 21:48:09 joerg Exp $
SHA1 (xorp-1.6.tar.gz) = 366d32068ed76b8ec69958b601d4fbde61ef4cbb
RMD160 (xorp-1.6.tar.gz) = 32b3f6d03defc816ed983088e61b5e808de17f98
@@ -6,7 +6,9 @@ Size (xorp-1.6.tar.gz) = 7895108 bytes
SHA1 (patch-aa) = 0c4bceca2560e963885069eaa7e868676c856694
SHA1 (patch-ab) = 248719bb3ffc5fa92a2fd6a5cc63c0f77ba8d5b6
SHA1 (patch-ac) = 87710604d945b8a58cdabeb08dbd5c484f2ad3ba
+SHA1 (patch-bgp_aspath.hh) = 930db2ec152a881a1d517883e16b338832d22a71
SHA1 (patch-bgp_bgp__trie.cc) = fb6003a92094cac3b470b9d54176e1b60c272987
+SHA1 (patch-bgp_route__table__fanout.hh) = 95f25dfe17299a30a07a30d9867b83180a6631e7
SHA1 (patch-bgp_route__table__policy__im.cc) = a1d2a98e7542def7fdea977501bbd9ad82842302
SHA1 (patch-bgp_route__table__ribin.cc) = bc04827ee42f9cff23cd3a2243044fee2af7d240
SHA1 (patch-cli_cli__client.cc) = 6c0b026eb5f8c3cd35e29662da6b3b40a1061fd1
@@ -16,34 +18,48 @@ SHA1 (patch-fea_data__plane_control__socket_click__socket.hh) = 1e0ea2de08a131a9
SHA1 (patch-fea_data__plane_control__socket_netlink__socket.hh) = 2b2c774a8e9778d438292850f4a310403d019365
SHA1 (patch-fea_data__plane_control__socket_routing__socket.hh) = 1acad764066424d1fc457ea7e130636257248530
SHA1 (patch-fea_data__plane_control__socket_windows__rtm__pipe.hh) = 608b22a8507e2a44c5eea26e964c6201e7240420
+SHA1 (patch-libfeaclient_ifmgr__atoms.hh) = 702363b8346820d92a84ae9798c06b4e2d5b62f9
+SHA1 (patch-libproto_config__node__id.hh) = 83f79e69c5fff84d01bb6ce2f311dd1802bcc92a
SHA1 (patch-libproto_packet.hh) = a5e8a8fe88bbaf20ef48cf136770fb5f7325b400
SHA1 (patch-libxipc_finder.cc) = 941d01e3f041c9ad2ea73671b42b1ef7daac0e7b
SHA1 (patch-libxipc_finder__messenger.hh) = f1a36df79516ac03a69e3e9ba56dc1b56bc6d886
SHA1 (patch-libxipc_xrl__atom.cc) = 5b2dd8488570477c362017faa41eb9191cd2b48b
+SHA1 (patch-libxipc_xrl__atom.hh) = 28a3a0f4b95181655eb1297a1229921c95fdd198
SHA1 (patch-libxipc_xrl__error.hh) = efce8151c2211526a3a27d6f7cb7b599c46bd84b
SHA1 (patch-libxipc_xrl__pf__stcp__ph.cc) = 306e5c27cd371f206233ff70ce3d38493157fd00
SHA1 (patch-libxipc_xrl__router.hh) = b29884206da7a9c40c26b1e20f5bf4dccd9da42a
SHA1 (patch-libxipc_xuid.cc) = 0d2711e92b162817b0a76d2d4fc15edd4b3be29e
+SHA1 (patch-libxorp_asnum.hh) = 1417273aa26e473a10094c35062459ae89b34d85
SHA1 (patch-libxorp_asyncio.cc) = 1288ac42bac5e5f1cdfa98ef26036379d7ff1d2e
SHA1 (patch-libxorp_heap.cc) = 45abbc27a4391f3312e6048d632b56c9e5091fa7
-SHA1 (patch-libxorp_ipv4.hh) = d8c5be2a038f29b4e45040fb7edb59f037efd13c
+SHA1 (patch-libxorp_ipnet.hh) = 2c5556102041b308690da9222337b5fdf5b9cb6b
+SHA1 (patch-libxorp_ipv4.hh) = 7dacee6127e762d7d08118de7297253a0e5fbc08
SHA1 (patch-libxorp_ipv6.cc) = d1d0793c0b28f4b40c96ffd26036ddc6c3d14623
-SHA1 (patch-libxorp_ipv6.hh) = bdea336f34ca1aa06aaba084d6a72e70822e0fa7
+SHA1 (patch-libxorp_ipv6.hh) = 5cd56bec545bf211bf1e1a20d84dc982083b81e2
SHA1 (patch-libxorp_ipvx.cc) = 97c95f85eb44649bd3996ca649c26485737d7b21
+SHA1 (patch-libxorp_ipvx.hh) = 9571418d19de88cc40bc57a6007ecc5ebb79262c
+SHA1 (patch-libxorp_range.hh) = 54367fa70507b6dc4f53785125c5e4264580837e
+SHA1 (patch-libxorp_ref__ptr.hh) = 2209c7ff7e15ab2fd9a6bd5dcb9c9742c3e0da74
SHA1 (patch-libxorp_safe__callback__obj.hh) = a5019173b864829dd96f55c92d831dd98a1b0d84
SHA1 (patch-libxorp_selector.cc) = 36c97e64242aa1911fb7c8d9395aada6dc1541b8
SHA1 (patch-libxorp_test__main.hh) = 9893f1276066f16fe92b5787e9235484882cbfe9
+SHA1 (patch-libxorp_timeval.hh) = f0120e29f6d56df8fc5efaa0552100605582feb9
SHA1 (patch-libxorp_transaction.hh) = f6fbcc929610f48116590fd28a8df7ed30280856
-SHA1 (patch-libxorp_trie.hh) = eab5e4e232fb3bd60d9c3632c47bc4d89f432ed8
+SHA1 (patch-libxorp_trie.hh) = 4acfee1fc1222271c3d2b6b8840d2fcf6213418f
SHA1 (patch-libxorp_utility.h) = 8c29d67c38ac8ff37725c1617aa18f5182cdfe28
-SHA1 (patch-libxorp_xorp.h) = 09fa420872903bdff321decd020810588668c2a2
+SHA1 (patch-libxorp_vif.hh) = 1eee80ed1dd8ee37049c8960348cf63362da840a
+SHA1 (patch-libxorp_xorp.h) = 2bba60932a2d8873c784c30e0a3970b4e857ee0c
SHA1 (patch-ospf_packet.cc) = b172129d5f754dc66a3d99d75320fd78208033fe
SHA1 (patch-ospf_peer.cc) = 2a30dbf655ae194bb47a882c095f5a83973e80be
+SHA1 (patch-ospf_vertex.hh) = 13964d74717a6ec6a01bad501c72652f9261f0f9
SHA1 (patch-pim_pim__bsr.cc) = 67ebcd67efeb421327de9847803213f826a2c5cc
SHA1 (patch-pim_pim__bsr.hh) = a8876be2bcaac8c026dda04cd599175f5965b205
+SHA1 (patch-pim_pim__mre__track__state.hh) = b470edf7c14a88d1f7fe4d7fa025c338b5012fae
+SHA1 (patch-pim_pim__scope__zone__table.hh) = fabc82917d4fb88c27a47409957632bfb9172d3b
SHA1 (patch-pim_pim__vif.cc) = 922e9b502e8e0622efb1d63621aeec3ab2265549
SHA1 (patch-policy_backend_backend.l) = 81491356406cc15b73233aa1eba78c51df41e4db
SHA1 (patch-policy_backend_iv__exec.cc) = de92d8103c6921c6c530539aa2d3e6526bd222e2
+SHA1 (patch-policy_backend_policytags.hh) = 22f31e64c162435be5de5885c56292cca5395fe9
SHA1 (patch-policy_backend_single__varrw.cc) = 84fc7c9ffdb79401fc469b46fa24f9e418d8b278
SHA1 (patch-policy_policy.l) = 9bec462ff62794ac9154d3ed66637109dcd0e84c
SHA1 (patch-policy_test_compilepolicy.l) = 7c2985af63524c669d9bb3781457c8cc53359903
@@ -66,4 +82,5 @@ SHA1 (patch-rtrmgr_cli.cc) = 0756e3eaaef0d510cdfc602836441066df2852d0
SHA1 (patch-rtrmgr_op__commands.ll) = 0259228f4d604a869f04c6b80402126cab083108
SHA1 (patch-rtrmgr_template.ll) = cf2467c8a928b60bcd848c90f1b6842047cb79ca
SHA1 (patch-rtrmgr_xorpsh__main.cc) = a87e6dcc1a95885ced5e061dc0c0282047476f11
+SHA1 (patch-vrrp_vrrp.cc) = 41d8e25208068ae16be7b9c11bd86b66a3ac1912
SHA1 (patch-vrrp_vrrp__packet.cc) = 335ee62e40cd9ece557e3ce4cac48a161b3b708d
diff --git a/net/xorp/patches/patch-bgp_aspath.hh b/net/xorp/patches/patch-bgp_aspath.hh
new file mode 100644
index 00000000000..6903256dc2c
--- /dev/null
+++ b/net/xorp/patches/patch-bgp_aspath.hh
@@ -0,0 +1,24 @@
+$NetBSD: patch-bgp_aspath.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- bgp/aspath.hh.orig 2013-06-13 18:38:08.000000000 +0000
++++ bgp/aspath.hh
+@@ -262,6 +262,9 @@ public:
+ * compares internal representations for equality.
+ */
+ bool operator==(const ASSegment& him) const;
++ bool operator!=(const ASSegment& him) const {
++ return !(*this == him);
++ }
+
+ /**
+ * Compares internal representations for <.
+@@ -433,6 +436,9 @@ public:
+ ASPath& operator=(const ASPath& him);
+
+ bool operator==(const ASPath& him) const;
++ bool operator!=(const ASPath& him) const {
++ return !(*this == him);
++ }
+
+ bool operator<(const ASPath& him) const;
+
diff --git a/net/xorp/patches/patch-bgp_route__table__fanout.hh b/net/xorp/patches/patch-bgp_route__table__fanout.hh
new file mode 100644
index 00000000000..97aa9c46c2f
--- /dev/null
+++ b/net/xorp/patches/patch-bgp_route__table__fanout.hh
@@ -0,0 +1,14 @@
+$NetBSD: patch-bgp_route__table__fanout.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- bgp/route_table_fanout.hh.orig 2013-06-13 19:01:39.000000000 +0000
++++ bgp/route_table_fanout.hh
+@@ -45,6 +45,9 @@ public:
+ bool operator==(const NextTableMapIterator& them) const {
+ return _iter == them._iter;
+ }
++ bool operator!=(const NextTableMapIterator& them) const {
++ return _iter != them._iter;
++ }
+ private:
+ typename multimap <uint32_t, PeerTableInfo<A>*>::iterator _iter;
+ };
diff --git a/net/xorp/patches/patch-libfeaclient_ifmgr__atoms.hh b/net/xorp/patches/patch-libfeaclient_ifmgr__atoms.hh
new file mode 100644
index 00000000000..3e4703307bb
--- /dev/null
+++ b/net/xorp/patches/patch-libfeaclient_ifmgr__atoms.hh
@@ -0,0 +1,33 @@
+$NetBSD: patch-libfeaclient_ifmgr__atoms.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libfeaclient/ifmgr_atoms.hh.orig 2013-06-13 18:53:54.000000000 +0000
++++ libfeaclient/ifmgr_atoms.hh
+@@ -52,7 +52,7 @@ class IfMgrIPv6Atom;
+ */
+ class IfMgrIfTree {
+ public:
+- typedef map<const string, IfMgrIfAtom> IfMap;
++ typedef map<string, IfMgrIfAtom> IfMap;
+
+ public:
+
+@@ -268,7 +268,7 @@ protected:
+ */
+ class IfMgrIfAtom {
+ public:
+- typedef map<const string, IfMgrVifAtom> VifMap;
++ typedef map<string, IfMgrVifAtom> VifMap;
+
+ public:
+ IfMgrIfAtom(const string& name);
+@@ -336,8 +336,8 @@ protected:
+ */
+ class IfMgrVifAtom {
+ public:
+- typedef map<const IPv4, IfMgrIPv4Atom> IPv4Map;
+- typedef map<const IPv6, IfMgrIPv6Atom> IPv6Map;
++ typedef map<IPv4, IfMgrIPv4Atom> IPv4Map;
++ typedef map<IPv6, IfMgrIPv6Atom> IPv6Map;
+
+ public:
+ IfMgrVifAtom(const string& name);
diff --git a/net/xorp/patches/patch-libproto_config__node__id.hh b/net/xorp/patches/patch-libproto_config__node__id.hh
new file mode 100644
index 00000000000..536b31e373a
--- /dev/null
+++ b/net/xorp/patches/patch-libproto_config__node__id.hh
@@ -0,0 +1,14 @@
+$NetBSD: patch-libproto_config__node__id.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libproto/config_node_id.hh.orig 2013-06-13 19:43:57.000000000 +0000
++++ libproto/config_node_id.hh
+@@ -98,6 +98,9 @@ public:
+ * right-hand operand.
+ */
+ bool operator==(const ConfigNodeId& other) const;
++ bool operator!=(const ConfigNodeId& other) const {
++ return !(*this == other);
++ }
+
+ /**
+ * Return the unique node ID.
diff --git a/net/xorp/patches/patch-libxipc_xrl__atom.hh b/net/xorp/patches/patch-libxipc_xrl__atom.hh
new file mode 100644
index 00000000000..dd35b114c75
--- /dev/null
+++ b/net/xorp/patches/patch-libxipc_xrl__atom.hh
@@ -0,0 +1,14 @@
+$NetBSD: patch-libxipc_xrl__atom.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxipc/xrl_atom.hh.orig 2013-06-13 18:11:47.000000000 +0000
++++ libxipc/xrl_atom.hh
+@@ -398,6 +398,9 @@ public:
+
+ // Equality tests
+ bool operator==(const XrlAtom& x) const;
++ bool operator!=(const XrlAtom& x) const {
++ return !(*this == x);
++ }
+
+ // Binary packing and unpacking operations
+ bool packed_bytes_fixed() const;
diff --git a/net/xorp/patches/patch-libxorp_asnum.hh b/net/xorp/patches/patch-libxorp_asnum.hh
new file mode 100644
index 00000000000..a8bc4d1a00c
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_asnum.hh
@@ -0,0 +1,12 @@
+$NetBSD: patch-libxorp_asnum.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxorp/asnum.hh.orig 2013-06-13 18:35:47.000000000 +0000
++++ libxorp/asnum.hh
+@@ -209,6 +209,7 @@ public:
+ * right-hand operand.
+ */
+ bool operator==(const AsNum& x) const { return _as == x._as; }
++ bool operator!=(const AsNum& x) const { return _as != x._as; }
+
+ /**
+ * Less-Than Operator
diff --git a/net/xorp/patches/patch-libxorp_ipnet.hh b/net/xorp/patches/patch-libxorp_ipnet.hh
new file mode 100644
index 00000000000..e71bea982e1
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_ipnet.hh
@@ -0,0 +1,15 @@
+$NetBSD: patch-libxorp_ipnet.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxorp/ipnet.hh.orig 2013-06-13 18:24:26.000000000 +0000
++++ libxorp/ipnet.hh
+@@ -107,6 +107,10 @@ public:
+ (masked_addr() == other.masked_addr()));
+ }
+
++ bool operator!=(const IPNet& other) const {
++ return !(*this == other);
++ }
++
+ /**
+ * Less-than comparison for subnets (see body for description).
+ *
diff --git a/net/xorp/patches/patch-libxorp_ipv4.hh b/net/xorp/patches/patch-libxorp_ipv4.hh
index 3581f3aabd5..08825b666d4 100644
--- a/net/xorp/patches/patch-libxorp_ipv4.hh
+++ b/net/xorp/patches/patch-libxorp_ipv4.hh
@@ -1,8 +1,24 @@
-$NetBSD: patch-libxorp_ipv4.hh,v 1.1 2013/05/30 15:37:24 joerg Exp $
+$NetBSD: patch-libxorp_ipv4.hh,v 1.2 2013/06/13 21:48:09 joerg Exp $
---- libxorp/ipv4.hh.orig 2013-04-29 19:22:58.000000000 +0000
+--- libxorp/ipv4.hh.orig 2009-01-05 18:30:58.000000000 +0000
+++ libxorp/ipv4.hh
-@@ -506,7 +506,7 @@ public:
+@@ -273,6 +273,15 @@ public:
+ * right-hand operand.
+ */
+ bool operator<(const IPv4& other) const;
++ bool operator>(const IPv4& other) const {
++ return other < *this;
++ }
++ bool operator>=(const IPv4& other) const {
++ return *this > other || *this == other;
++ }
++ bool operator<=(const IPv4& other) const {
++ return *this < other || *this == other;
++ }
+
+ /**
+ * Equality Operator
+@@ -506,7 +515,7 @@ public:
* @return address size in number of octets.
*/
static size_t addr_bytelen() {
diff --git a/net/xorp/patches/patch-libxorp_ipv6.hh b/net/xorp/patches/patch-libxorp_ipv6.hh
index a8f5f52190d..80f0aa29062 100644
--- a/net/xorp/patches/patch-libxorp_ipv6.hh
+++ b/net/xorp/patches/patch-libxorp_ipv6.hh
@@ -1,8 +1,27 @@
-$NetBSD: patch-libxorp_ipv6.hh,v 1.1 2013/05/30 15:37:24 joerg Exp $
+$NetBSD: patch-libxorp_ipv6.hh,v 1.2 2013/06/13 21:48:09 joerg Exp $
---- libxorp/ipv6.hh.orig 2013-04-29 19:22:56.000000000 +0000
+--- libxorp/ipv6.hh.orig 2009-01-05 18:30:58.000000000 +0000
+++ libxorp/ipv6.hh
-@@ -459,7 +459,7 @@ public:
+@@ -281,6 +281,18 @@ public:
+ */
+ bool operator!=(const IPv6& other) const;
+
++ bool operator<=(const IPv6& other) const {
++ return other < *this || other == *this;
++ }
++
++ bool operator>=(const IPv6& other) const {
++ return other <= *this;
++ }
++
++ bool operator>(const IPv6& other) const {
++ return other < *this;
++ }
++
+ /**
+ * Equality Operator for @ref IPv6 against @ref IPv6Range operand.
+ *
+@@ -459,7 +471,7 @@ public:
* @return address size in number of octets.
*/
static size_t addr_bytelen() {
diff --git a/net/xorp/patches/patch-libxorp_ipvx.hh b/net/xorp/patches/patch-libxorp_ipvx.hh
new file mode 100644
index 00000000000..c8ddaa98a36
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_ipvx.hh
@@ -0,0 +1,14 @@
+$NetBSD: patch-libxorp_ipvx.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxorp/ipvx.hh.orig 2013-06-13 19:31:17.000000000 +0000
++++ libxorp/ipvx.hh
+@@ -344,6 +344,9 @@ public:
+ * right-hand operand.
+ */
+ bool operator<(const IPvX& other) const;
++ bool operator>(const IPvX& other) const {
++ return other < *this;
++ }
+
+ /**
+ * Equality Operator
diff --git a/net/xorp/patches/patch-libxorp_range.hh b/net/xorp/patches/patch-libxorp_range.hh
new file mode 100644
index 00000000000..19dfccbdf75
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_range.hh
@@ -0,0 +1,18 @@
+$NetBSD: patch-libxorp_range.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxorp/range.hh.orig 2013-06-13 18:00:21.000000000 +0000
++++ libxorp/range.hh
+@@ -59,6 +59,13 @@ public:
+ const T& low() const { return _low; }
+ const T& high() const { return _high; }
+
++ bool operator==(const Range& rhs) const {
++ return _low == rhs._low && _high == rhs._high;
++ }
++ bool operator!=(const Range& rhs) const {
++ return _low != rhs._low || _high != rhs._high;
++ }
++
+ protected:
+ T _low;
+ T _high;
diff --git a/net/xorp/patches/patch-libxorp_ref__ptr.hh b/net/xorp/patches/patch-libxorp_ref__ptr.hh
new file mode 100644
index 00000000000..a432506b502
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_ref__ptr.hh
@@ -0,0 +1,12 @@
+$NetBSD: patch-libxorp_ref__ptr.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxorp/ref_ptr.hh.orig 2013-06-13 19:17:52.000000000 +0000
++++ libxorp/ref_ptr.hh
+@@ -198,6 +198,7 @@ public:
+ * @return true if reference pointers refer to same object.
+ */
+ bool operator==(const ref_ptr& rp) const { return _M_ptr == rp._M_ptr; }
++ bool operator!=(const ref_ptr& rp) const { return _M_ptr != rp._M_ptr; }
+
+ /**
+ * Check if reference pointer refers to an object or whether it has
diff --git a/net/xorp/patches/patch-libxorp_timeval.hh b/net/xorp/patches/patch-libxorp_timeval.hh
new file mode 100644
index 00000000000..5d92daa3e9b
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_timeval.hh
@@ -0,0 +1,33 @@
+$NetBSD: patch-libxorp_timeval.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxorp/timeval.hh.orig 2013-06-13 18:08:49.000000000 +0000
++++ libxorp/timeval.hh
+@@ -239,6 +239,9 @@ public:
+ * right-hand operand.
+ */
+ bool operator==(const TimeVal& other) const;
++ bool operator!=(const TimeVal& other) const {
++ return !(*this == other);
++ }
+
+ /**
+ * Less-Than Operator
+@@ -249,6 +252,18 @@ public:
+ */
+ bool operator<(const TimeVal& other) const;
+
++ bool operator>(const TimeVal& other) const {
++ return other < *this;
++ }
++
++ bool operator>=(const TimeVal& other) const {
++ return other <= *this;
++ }
++
++ bool operator<=(const TimeVal& other) const {
++ return *this <= other || *this == other;
++ }
++
+ /**
+ * Assign-Sum Operator
+ *
diff --git a/net/xorp/patches/patch-libxorp_trie.hh b/net/xorp/patches/patch-libxorp_trie.hh
index fcb89c12036..0ee6b862f83 100644
--- a/net/xorp/patches/patch-libxorp_trie.hh
+++ b/net/xorp/patches/patch-libxorp_trie.hh
@@ -1,4 +1,4 @@
-$NetBSD: patch-libxorp_trie.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+$NetBSD: patch-libxorp_trie.hh,v 1.2 2013/06/13 21:48:09 joerg Exp $
--- libxorp/trie.hh.orig 2009-01-05 18:30:58.000000000 +0000
+++ libxorp/trie.hh
@@ -10,3 +10,13 @@ $NetBSD: patch-libxorp_trie.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
trie_debug_msg(" %s %s %s\n",
msg,
_k.str().c_str(), _p ? "PL" : "[]");
+@@ -372,6 +373,9 @@ public:
+ bool operator==(const TriePostOrderIterator & x) const {
+ return (_cur == x._cur);
+ }
++ bool operator!=(const TriePostOrderIterator & x) const {
++ return (_cur != x._cur);
++ }
+
+ bool has_payload() const { return _cur->has_payload(); }
+ Payload & payload() { return _cur->p(); };
diff --git a/net/xorp/patches/patch-libxorp_vif.hh b/net/xorp/patches/patch-libxorp_vif.hh
new file mode 100644
index 00000000000..38e04bf9725
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_vif.hh
@@ -0,0 +1,14 @@
+$NetBSD: patch-libxorp_vif.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- libxorp/vif.hh.orig 2013-06-13 18:49:34.000000000 +0000
++++ libxorp/vif.hh
+@@ -168,6 +168,9 @@ public:
+ * right-hand operand.
+ */
+ bool operator==(const VifAddr& other) const;
++ bool operator!=(const VifAddr& other) const {
++ return !(*this == other);
++ }
+
+ private:
+ IPvX _addr; // IP address of the vif
diff --git a/net/xorp/patches/patch-libxorp_xorp.h b/net/xorp/patches/patch-libxorp_xorp.h
index 2c20840a54f..c44113d77b1 100644
--- a/net/xorp/patches/patch-libxorp_xorp.h
+++ b/net/xorp/patches/patch-libxorp_xorp.h
@@ -1,4 +1,4 @@
-$NetBSD: patch-libxorp_xorp.h,v 1.2 2012/07/03 17:36:10 joerg Exp $
+$NetBSD: patch-libxorp_xorp.h,v 1.3 2013/06/13 21:48:09 joerg Exp $
--- libxorp/xorp.h.orig 2009-01-05 18:30:58.000000000 +0000
+++ libxorp/xorp.h
@@ -10,7 +10,18 @@ $NetBSD: patch-libxorp_xorp.h,v 1.2 2012/07/03 17:36:10 joerg Exp $
using namespace std;
#endif
-@@ -173,9 +174,7 @@ using namespace std::rel_ops;
+@@ -130,10 +131,6 @@ using namespace std;
+
+ #include "xorp_osdep_mid.h"
+
+-#if defined (__cplusplus) && !defined(__STL_NO_NAMESPACES)
+-using namespace std::rel_ops;
+-#endif
+-
+ /*
+ * Misc. definitions that may be missing from the system header files.
+ * TODO: this should go to a different header file.
+@@ -173,9 +170,7 @@ using namespace std::rel_ops;
#define FALSE (0)
#define TRUE (!FALSE)
#endif /* TRUE, FALSE */
diff --git a/net/xorp/patches/patch-ospf_vertex.hh b/net/xorp/patches/patch-ospf_vertex.hh
new file mode 100644
index 00000000000..89fdb032ce3
--- /dev/null
+++ b/net/xorp/patches/patch-ospf_vertex.hh
@@ -0,0 +1,16 @@
+$NetBSD: patch-ospf_vertex.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- ospf/vertex.hh.orig 2013-06-13 19:14:46.000000000 +0000
++++ ospf/vertex.hh
+@@ -60,6 +60,11 @@ class Vertex {
+ return _nodeid == other.get_nodeid() && _t == other.get_type();
+ }
+
++ bool operator!=(const Vertex& other) const {
++ XLOG_ASSERT(get_version() == other.get_version());
++ return _nodeid != other.get_nodeid() || _t != other.get_type();
++ }
++
+ void set_version(OspfTypes::Version v) {
+ _version = v;
+ }
diff --git a/net/xorp/patches/patch-pim_pim__mre__track__state.hh b/net/xorp/patches/patch-pim_pim__mre__track__state.hh
new file mode 100644
index 00000000000..0a4005f9f03
--- /dev/null
+++ b/net/xorp/patches/patch-pim_pim__mre__track__state.hh
@@ -0,0 +1,15 @@
+$NetBSD: patch-pim_pim__mre__track__state.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- pim/pim_mre_track_state.hh.orig 2013-06-13 19:39:59.000000000 +0000
++++ pim/pim_mre_track_state.hh
+@@ -638,6 +638,10 @@ public:
+ return ((output_state() == action.output_state())
+ && (entry_type() == action.entry_type()));
+ }
++ bool operator!=(const PimMreAction& action) const {
++ return ((output_state() != action.output_state())
++ || (entry_type() != action.entry_type()));
++ }
+
+ void perform_action(PimMre& pim_mre, uint32_t vif_index,
+ const IPvX& addr_arg);
diff --git a/net/xorp/patches/patch-pim_pim__scope__zone__table.hh b/net/xorp/patches/patch-pim_pim__scope__zone__table.hh
new file mode 100644
index 00000000000..0c8799a1aa9
--- /dev/null
+++ b/net/xorp/patches/patch-pim_pim__scope__zone__table.hh
@@ -0,0 +1,14 @@
+$NetBSD: patch-pim_pim__scope__zone__table.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- pim/pim_scope_zone_table.hh.orig 2013-06-13 19:32:12.000000000 +0000
++++ pim/pim_scope_zone_table.hh
+@@ -54,6 +54,9 @@ public:
+ const IPvXNet& scope_zone_prefix() const { return (_scope_zone_prefix); }
+ bool is_scope_zone() const { return (_is_scope_zone); }
+ bool operator==(const PimScopeZoneId& other) const;
++ bool operator!=(const PimScopeZoneId& other) const {
++ return !(*this == other);
++ }
+ bool is_overlap(const PimScopeZoneId& other) const;
+ bool contains(const IPvXNet& ipvxnet) const;
+ bool contains(const IPvX& ipvx) const;
diff --git a/net/xorp/patches/patch-policy_backend_policytags.hh b/net/xorp/patches/patch-policy_backend_policytags.hh
new file mode 100644
index 00000000000..3194e39f2e0
--- /dev/null
+++ b/net/xorp/patches/patch-policy_backend_policytags.hh
@@ -0,0 +1,14 @@
+$NetBSD: patch-policy_backend_policytags.hh,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- policy/backend/policytags.hh.orig 2013-06-13 19:41:47.000000000 +0000
++++ policy/backend/policytags.hh
+@@ -73,6 +73,9 @@ public:
+ * @param rhs PolicyTags to compare with.
+ */
+ bool operator==(const PolicyTags& rhs) const;
++ bool operator!=(const PolicyTags& rhs) const {
++ return !(*this == rhs);
++ }
+
+ /**
+ * Convert to an ElemSet.
diff --git a/net/xorp/patches/patch-vrrp_vrrp.cc b/net/xorp/patches/patch-vrrp_vrrp.cc
new file mode 100644
index 00000000000..6bfe74ddeea
--- /dev/null
+++ b/net/xorp/patches/patch-vrrp_vrrp.cc
@@ -0,0 +1,31 @@
+$NetBSD: patch-vrrp_vrrp.cc,v 1.1 2013/06/13 21:48:09 joerg Exp $
+
+--- vrrp/vrrp.cc.orig 2013-06-13 19:45:44.000000000 +0000
++++ vrrp/vrrp.cc
+@@ -36,7 +36,7 @@ namespace {
+
+ template <class T>
+ void
+-out_of_range(const string& msg, const T& x)
++my_out_of_range(const string& msg, const T& x)
+ {
+ ostringstream oss;
+
+@@ -64,7 +64,7 @@ Vrrp::Vrrp(VrrpInterface& vif, EventLoop
+ _arpd(_vif)
+ {
+ if (_vrid < 1 || _vrid > 255)
+- out_of_range("VRID out of range", _vrid);
++ my_out_of_range("VRID out of range", _vrid);
+
+ char tmp[sizeof "ff:ff:ff:ff:ff:ff"];
+ snprintf(tmp, sizeof(tmp), "00:00:5E:00:01:%X", (uint8_t) vrid);
+@@ -90,7 +90,7 @@ void
+ Vrrp::set_priority(uint32_t priority)
+ {
+ if (priority == PRIORITY_LEAVE || priority >= PRIORITY_OWN)
+- out_of_range("priority out of range", priority);
++ my_out_of_range("priority out of range", priority);
+
+ _priority = priority;
+