merge with HEAD
This commit is contained in:
@@ -21,7 +21,6 @@ ns-3.6 has been tested on the following platforms:
|
||||
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
|
||||
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
|
||||
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
|
||||
- mingw gcc 3.4.5 (debug only)
|
||||
|
||||
Not all ns-3 options are available on all platforms; consult the
|
||||
wiki for more information:
|
||||
@@ -78,7 +77,7 @@ API changes for this release are documented in the file CHANGES.html.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
ns-3 build is known to fail on the following platforms:
|
||||
ns-3.6 build is known to fail on the following platforms:
|
||||
- gcc 3.3 and earlier
|
||||
- optimized builds on gcc 3.4.4 and 3.4.5
|
||||
- optimized builds on linux x86 gcc 4.0.x
|
||||
|
||||
@@ -21,9 +21,15 @@
|
||||
#include <stdio.h>
|
||||
#include <sstream>
|
||||
|
||||
#include "ns3/net-anim-config.h"
|
||||
|
||||
// Socket related includes
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#if defined(HAVE_SYS_SOCKET_H) && defined(HAVE_NETINET_IN_H)
|
||||
# include <sys/socket.h>
|
||||
# include <netinet/in.h>
|
||||
#else
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
// ns3 includes
|
||||
#include "ns3/animation-interface.h"
|
||||
@@ -58,6 +64,7 @@ bool AnimationInterface::SetOutputFile (const std::string& fn)
|
||||
|
||||
bool AnimationInterface::SetServerPort (uint16_t port)
|
||||
{
|
||||
#if defined(HAVE_SYS_SOCKET_H) && defined(HAVE_NETINET_IN_H)
|
||||
int s = socket (AF_INET, SOCK_STREAM, 0);
|
||||
struct sockaddr_in addr;
|
||||
addr.sin_family = AF_INET;
|
||||
@@ -77,6 +84,8 @@ bool AnimationInterface::SetServerPort (uint16_t port)
|
||||
int t = 1;
|
||||
setsockopt (s, SOL_SOCKET, SO_LINGER, &t, sizeof(t));
|
||||
return true;
|
||||
#endif
|
||||
return false;//never reached unless the above is disabled
|
||||
}
|
||||
|
||||
bool AnimationInterface::SetInternalAnimation ()
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
// Socket related includes
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
// ns3 includes
|
||||
#include "ns3/animation-interface.h"
|
||||
#include "ns3/point-to-point-dumbbell-helper.h"
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
|
||||
|
||||
def configure(conf):
|
||||
conf.check(header_name='sys/socket.h', define_name='HAVE_SYS_SOCKET_H')
|
||||
conf.check(header_name='netinet/in.h', define_name='HAVE_NETINET_IN_H')
|
||||
conf.write_config_header('ns3/net-anim-config.h', top=True)
|
||||
|
||||
|
||||
def build(bld):
|
||||
obj = bld.create_ns3_module('net-anim')
|
||||
obj.source = [
|
||||
|
||||
@@ -14,10 +14,12 @@ def configure(conf):
|
||||
conf.report_optional_feature("XmlIo", "XmlIo",
|
||||
conf.env['ENABLE_LIBXML2'],
|
||||
"library 'libxml-2.0 >= 2.7' not found")
|
||||
conf.sub_config('stats')
|
||||
|
||||
conf.write_config_header('ns3/contrib-config.h', top=True)
|
||||
|
||||
conf.sub_config('stats')
|
||||
conf.sub_config('net-anim')
|
||||
|
||||
|
||||
def build(bld):
|
||||
module = bld.create_ns3_module('contrib', ['simulator', 'common'])
|
||||
module.source = [
|
||||
|
||||
@@ -401,6 +401,7 @@ HwmpProtocol::ReceivePreq (IePreq preq, Mac48Address from, uint32_t interface, M
|
||||
//acceptance cretirea:
|
||||
std::map<Mac48Address, std::pair<uint32_t, uint32_t> >::const_iterator i = m_hwmpSeqnoMetricDatabase.find (
|
||||
preq.GetOriginatorAddress ());
|
||||
bool freshInfo (true);
|
||||
if (i != m_hwmpSeqnoMetricDatabase.end ())
|
||||
{
|
||||
if ((int32_t)(i->second.first - preq.GetOriginatorSeqNumber ()) > 0)
|
||||
@@ -409,6 +410,7 @@ HwmpProtocol::ReceivePreq (IePreq preq, Mac48Address from, uint32_t interface, M
|
||||
}
|
||||
if (i->second.first == preq.GetOriginatorSeqNumber ())
|
||||
{
|
||||
freshInfo = false;
|
||||
if (i->second.second <= preq.GetMetric ())
|
||||
{
|
||||
return;
|
||||
@@ -421,7 +423,7 @@ HwmpProtocol::ReceivePreq (IePreq preq, Mac48Address from, uint32_t interface, M
|
||||
std::vector<Ptr<DestinationAddressUnit> > destinations = preq.GetDestinationList ();
|
||||
//Add reactive path to originator:
|
||||
if (
|
||||
((int32_t)(i->second.first - preq.GetOriginatorSeqNumber ()) < 0) ||
|
||||
(freshInfo) ||
|
||||
(
|
||||
(m_rtable->LookupReactive (preq.GetOriginatorAddress ()).retransmitter == Mac48Address::GetBroadcast ()) ||
|
||||
(m_rtable->LookupReactive (preq.GetOriginatorAddress ()).metric > preq.GetMetric ())
|
||||
@@ -562,9 +564,17 @@ HwmpProtocol::ReceivePrep (IePrep prep, Mac48Address from, uint32_t interface, M
|
||||
//acceptance cretirea:
|
||||
std::map<Mac48Address, std::pair<uint32_t, uint32_t> >::const_iterator i = m_hwmpSeqnoMetricDatabase.find (
|
||||
prep.GetOriginatorAddress ());
|
||||
if ((i != m_hwmpSeqnoMetricDatabase.end ()) && ((int32_t)(i->second.first - prep.GetOriginatorSeqNumber ()) > 0))
|
||||
bool freshInfo (true);
|
||||
if (i != m_hwmpSeqnoMetricDatabase.end ())
|
||||
{
|
||||
return;
|
||||
if ((int32_t)(i->second.first - prep.GetOriginatorSeqNumber ()) > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (i->second.first == prep.GetOriginatorSeqNumber ())
|
||||
{
|
||||
freshInfo = false;
|
||||
}
|
||||
}
|
||||
m_hwmpSeqnoMetricDatabase[prep.GetOriginatorAddress ()] = std::make_pair (prep.GetOriginatorSeqNumber (), prep.GetMetric ());
|
||||
//update routing info
|
||||
@@ -574,7 +584,7 @@ HwmpProtocol::ReceivePrep (IePrep prep, Mac48Address from, uint32_t interface, M
|
||||
//Add a reactive path only if seqno is fresher or it improves the
|
||||
//metric
|
||||
if (
|
||||
(((int32_t)(i->second.first - prep.GetOriginatorSeqNumber ()) < 0)) ||
|
||||
(freshInfo) ||
|
||||
(
|
||||
((m_rtable->LookupReactive (prep.GetOriginatorAddress ())).retransmitter == Mac48Address::GetBroadcast ()) ||
|
||||
((m_rtable->LookupReactive (prep.GetOriginatorAddress ())).metric > prep.GetMetric ())
|
||||
|
||||
Reference in New Issue
Block a user