summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--anyctr.cpp2
-rw-r--r--anytun.cpp2
-rw-r--r--networkPrefix.cpp2
-rw-r--r--networkPrefix.h2
-rw-r--r--routingTable.cpp3
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())