Hello,
Your compile errors seem to be related to addressing changes from 2.15 to 2.16b
A while back Lloyd posted something on moving the Nortel Diffserv Model to 2.16b.
Here are the necessary changes he detailed:
-----Original Message-----
From: Lloyd Wood [SMTP:[email protected]]
Sent: Sunday, July 23, 2000 5:28 PM
To: Pieda, Peter [CAR:0R31:EXCH]; Nandy, Biswajit [CAR:0C40:EXCH]
Cc: '[email protected]'; [email protected]
Subject: Re: [ns] Diffserv Model for NS 2.1b5 available from Nortel Networks Open I P Environment Group
On Sun, 23 Jul 2000, Peter Pieda wrote:
> The Open IP Environment group at Nortel Networks is releasing the
> Diffserv NS model that it has used for much of its Diffserv simulation
> work over the last 2 years. The model files and some documentation
> are available from http://www7.nortel.com:8080/CTL/.
(intended internal links at the top of the page were broken when I
looked. Scroll down to the bottom of the page.)
> The current version is compatible with the 2.1b5 release of NS.
I tried this with a recent snapshot (ns 2.1b7-snapshot-20000720) and
found it straightforward to get this diffserv code working and pass
the supplied regression testing, matching the output described in the
Nortel tcl/ex/README.
Make the simple changes as outlined in the diffs below, and you're
compatible with ns 2.1b6a, the last ns 'release'.
that zip file is quite pc-centric (do make sure you unpack
it in a new empty directory, or you'll fill your current
directory with junk...); use dos2unix to strip ^Ms etc.
cheers,
L.
isn't a capital letter in a filename a cross-platform nono?
<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>
$ diff ~/ns/nortel/dsPolicy.h dsPolicy.h
38c38
< long sourceNode, destNode; // Source-destination pair
---
> int32_t sourceNode, destNode; // Source-destination pair
85c85
< policyTableEntry* getPolicyTableEntry(long source, long dest);
---
> policyTableEntry* getPolicyTableEntry(int32_t source, int32_t
dest);
$ diff ~/ns/nortel/dsPolicy.cc dsPolicy.cc
123c123
< policyTableEntry* getPolicyTableEntry(long source, long dest)
---
> policyTableEntry* getPolicyTableEntry(int32_t source, int32_t dest)
129c129
< policyTableEntry* Policy::getPolicyTableEntry(long source, long
dest) {
---
> policyTableEntry* Policy::getPolicyTableEntry(int32_t source,
int32_t dest) {
135c135
< printf("ERROR: No Policy Table entry found for Source
%ld-Destination %ld.\n", source, dest);
---
> printf("ERROR: No Policy Table entry found for Source
%d-Destination %d.\n", source, dest);
511c511
< policy = getPolicyTableEntry((iph->src() >> 8), (iph->dst() >>
8));
---
> policy = getPolicyTableEntry((iph->saddr()), (iph->daddr()));
549c549
< printf("Flow (%ld to %ld): TSW2CM policer,
",
---
> printf("Flow (%d to %d): TSW2CM policer, ",
555c555
< printf("Flow (%ld to %ld): TSW3CM policer,
initial code ",
---
> printf("Flow (%d to %d): TSW3CM policer,
initial code ",
562c562
< printf("Flow (%ld to %ld): Token Bucket
policer, ",
---
> printf("Flow (%d to %d): Token Bucket
policer, ",
569c569
< printf("Flow (%ld to %ld): srTCM policer,
initial code ",
---
> printf("Flow (%d to %d): srTCM policer,
initial code ",
576c576
< printf("Flow (%ld to %ld): trTCM policer,
initial code ",
---
> printf("Flow (%d to %d): trTCM policer,
initial code ",
Hope this helps.
Peter Pieda
613-765-3999
Nortel Networks