[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem with making ns-2
ShaoGang,
The IP_MULTICAST_TTL and other multicast definitions should
appear on netinet/in.h. They are added defines that appear
when you get the current multicast distribution, and apply them
patches to your machine. Note that this requires kernel and
other mods, and you may not want to go through this procedure.
It may be possible that you have a multicat kernel built
on another machine, and you only need to apply the include
file patches that comes with the multicast distribution.
Alternately, you can grab the distribution, apply the diffs to
the necessary include files and keep a local copy for yourself.
Another option is to build ns on a machine on which the
multicast software has been completely applied. (If you had
previously built gcc on this other machine, and gcc is on a
shared file system, you would be in good shape for entirely
curious reasons :-)
Two other sessions that have been proposed earlier would
also work.
- Note that with Cristoph's suggestion, you also need
to define IP_MULTICAST_TTL to something.
- With the other suggestion of simply excising the
odd files from the build, you need not worry about
these details.
FYI, you can check out the MBONE FAQ at
http://www.mediadesign.co.at/newmedia/more/mbone-faq.html to
address your multicast related questions. In particular, if you
decide to make your machine multicast aware...the question is:
-----------------------------------------------------------------------
Where can I get the IP multicast software and mrouted program?
The IP multicast software is available by anonymous FTP from
the vmtp-ip directory on host gregorio.stanford.edu. Here's a
snapshot of the files:
ipmulti-pmax31c.tar
ipmulti-sunos41x.tar.Z Binaries & patches for SunOS 4.1.1,2,3
ipmulticast-ultrix4.1.patch
ipmulticast-ultrix4.2a-binary.tar
ipmulticast-ultrix4.2a.patch
ipmulticast.README [** Warning: out of date **]
ipmulticast.tar.Z Sources for BSD
You don't need kernel sources to add multicast support. Included
in the distributions are files (sources or binaries, depending
upon the system) to modify your BSD, SunOS, or Ultrix kernel to
support IP multicast, including the mrouted program and special
multicast versions of ping and netstat.
Silicon Graphics includes IP multicast as a standard part of
their operating system. The mrouted executable and ip_mroute
kernel module are not installed by default; you must install the
eoe2.sw.ipgate subsystem and "autoconfig" the kernel to be able
to act as a multicast router. In the IRIX 4.0.x release, there
is a bug in the kernel code that handles multicast tunnels; an
unsupported fix is available via anonymous ftp from sgi.com in
the sgi/ipmcast directory. See the README there for details on
installing it.
IP multicast is also included in Sun's Solaris 2.1 and in BSD
4.4 when/if it is released.
The most common problem encountered when running this software
is with hosts that respond incorrectly to IP multicasts. These
responses typically take the form of ICMP network unreachable,
redirect, or time-exceeded error messages, which are a
nuisance but mostly harmless until we get several such hosts
each sending a packet in response to 50 packets per second of
packet audio. These responses are in violation of the current
IP specification and, with luck, will disappear over time.
-----------------------------------------------------------------------
Kannan
>>> From: Shaogang Chen <[email protected]>
>>> Date: Sat, 06 Sep 1997 10:53:31 CDT
> When I make ns-2, I run into the following problem.
> Any suggestion is welcome.
>
>
> c++ -o net-ip.o -c -I/homes/chensg/ns-2.0b17/../Tcl -I/usr/openwin/include -I/
> homes/chensg/ns-2.0b17/../otcl-0.96 -I/homes/chensg/ns-2.0b17/../tk4.2/generic -
> I/homes/chensg/ns-2.0b17/../tcl7.6/generic -I. -DNEED_SUNOS_PROTOS -DUSE_SHM -
> DHAVE_LIBOTCL0_96 -DHAVE_OTCL_H -DHAVE_LIBTK4_2 -DHAVE_TK_H -DHAVE_LIBTCL7_6 -DH
> AVE_TCL_H -DNO_TK -Dabort=_ABORT -O2 net-ip.cc
> net-ip.cc: In method `int IPNetwork::command(int, const char *const *)':
> net-ip.cc:134: `IP_MULTICAST_LOOP' undeclared (first use this function)
> net-ip.cc:134: (Each undeclared identifier is reported only once
> net-ip.cc:134: for each function it appears in.)
> net-ip.cc: In method `int IPNetwork::open(int)':
> net-ip.cc:195: warning: implicit declaration of function `int bzero(...)'
> net-ip.cc: In method `void IPNetwork::localname(struct sockaddr_in *)':
> net-ip.cc:284: warning: implicit declaration of function `int getsockname(...)'
> *** Error code 1
> make: Fatal error: Command failed for target `net-ip.o'
>
> --
> ============================================================================
> Web: http://yake.ecn.purdue.edu/~shaogang Purdue University
> Office: MSEE 292 Phone: (765) 494-0434 W. Lafayette, IN 47907
> ============================================================================
>
>
>