[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] Diffserv Model for NS 2.1b5 available from Nortel NetworksOpen 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 ",