From cc7a7761e83f762ed00df3a38cececd37a3b8170 Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Fri, 29 Feb 2008 15:30:37 +0000 Subject: changed networkPrefix Constructor --- anyctr.cpp | 2 +- anytun.cpp | 2 +- networkPrefix.cpp | 2 +- networkPrefix.h | 2 +- routingTable.cpp | 3 +-- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/anyctr.cpp b/anyctr.cpp index 61c238b..aaecbc0 100644 --- a/anyctr.cpp +++ b/anyctr.cpp @@ -63,7 +63,7 @@ void createConnection(const std::string & remote_host, u_int16_t remote_port, Co ConnectionParam connparam ( (*kd), (*seq), seq_nr_, remote_host, remote_port ); cl.addConnection( connparam, mux ); NetworkAddress addr( ipv4, gOpt.getIfconfigParamRemoteNetmask().c_str() ); - NetworkPrefix prefix( addr ); + NetworkPrefix prefix( addr,gOpt.getNetworkPrefixLength() ); prefix.setNetworkPrefixLength(gOpt.getNetworkPrefixLength()); diff --git a/anytun.cpp b/anytun.cpp index 1270bfe..ff4a724 100644 --- a/anytun.cpp +++ b/anytun.cpp @@ -82,7 +82,7 @@ void createConnection(const std::string & remote_host, u_int16_t remote_port, Co ConnectionParam connparam ( (*kd), (*seq), seq_nr_, remote_host, remote_port); cl.addConnection(connparam,mux); NetworkAddress addr(ipv4,gOpt.getIfconfigParamRemoteNetmask().c_str()); - NetworkPrefix prefix(addr); + NetworkPrefix prefix(addr,32); gRoutingTable.addRoute(prefix,mux); SyncCommand sc (cl,mux); queue.push(sc); diff --git a/networkPrefix.cpp b/networkPrefix.cpp index 15b2af6..4ab8f6d 100644 --- a/networkPrefix.cpp +++ b/networkPrefix.cpp @@ -38,7 +38,7 @@ NetworkPrefix::NetworkPrefix(): NetworkAddress(),length_(0) { } -NetworkPrefix::NetworkPrefix(const NetworkAddress & src): NetworkAddress(src),length_(0) +NetworkPrefix::NetworkPrefix(const NetworkAddress & src,uint8_t length): NetworkAddress(src),length_(length) { } diff --git a/networkPrefix.h b/networkPrefix.h index fac1b08..c8211ea 100644 --- a/networkPrefix.h +++ b/networkPrefix.h @@ -42,7 +42,7 @@ class NetworkPrefix : public NetworkAddress { public: NetworkPrefix(); - NetworkPrefix(const NetworkAddress &); + NetworkPrefix(const NetworkAddress &, uint8_t length); NetworkPrefix(const NetworkPrefix &); void setNetworkPrefixLength(uint8_t length ); uint8_t getNetworkPrefixLength(); diff --git a/routingTable.cpp b/routingTable.cpp index d23bc4f..9db9f61 100644 --- a/routingTable.cpp +++ b/routingTable.cpp @@ -82,8 +82,7 @@ u_int16_t RoutingTable::getRoute(const NetworkAddress & addr) Lock lock(mutex_); if (routes_.empty()) return 0; - NetworkPrefix prefix(addr); - prefix.setNetworkPrefixLength(32); + NetworkPrefix prefix(addr,32); RoutingMap::iterator it = routes_.lower_bound(prefix); it--; if (it!=routes_.end()) -- cgit v1.2.3