diff --git a/Version b/Version new file mode 100644 index 00000000000..56b291efb71 --- /dev/null +++ b/Version @@ -0,0 +1 @@ +inet-1.99.0 diff --git a/WHATSNEW b/WHATSNEW index 282e26258f5..280f9253dc9 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1,9 +1,9 @@ Recent changes in the INET Framework ==================================== -INET-XX.XX +INET-1.99.0 ---------- -This is a major feature release, with new models and also incompatible +This is a beta of a major feature release, with new models and also incompatible changes. If you are upgrading from an earlier INET version, expect to have to revise your existing omnetpp.ini files and possibly NED/C++ files as well. @@ -15,9 +15,10 @@ The most significant changes: - support for more than one type of tcpApp and udpApp in StandardHost (elimination of tcpAppType/udpAppType parameters) -- Interfaces renamed for starting with I letter. BasicMobility -> IMobility, +- Interfaces renamed to start with letter "I". BasicMobility -> IMobility, TCPApp->ITCPApp, UDPApp->IUDPApp, SCTPApp->ISCTPApp, MacRelayUnit->IMacRelayUnit, - Radio->IRadio, Ieee80211Mgmt->IIeee80211Mgmt, OutputQueue->IOutputQueue + Radio->IRadio, Ieee80211Mgmt->IIeee80211Mgmt, OutputQueue->IOutputQueue, + INetworkInterface->IWiredNic - added new AdhocHost for basic node types used in adhoc networks. Supports mobility and multiple wireless radios. It obsoletes the MFMobileHost @@ -32,7 +33,7 @@ The most significant changes: StandardHost with numRadios=1 and wlanNicType=Ieee80211NicSTASimplified) - in StandardHost and Router it is now possible to configure what wireless, ethernet, ppp - or external interfaces are used. Wired interfaces must implement INetworkInterface while wireless + or external interfaces are used. Wired interfaces must implement IWiredNic while wireless modules implement IWirlessNic. Mobility type and number of wireless cards (default=0) can be also configured via parameters. The use of interfaces obsoletes several older modules which differed only in interface types (like WirelessHost or ExtRouter) @@ -42,9 +43,10 @@ The most significant changes: protocols (plus IPForwarding is enabled by default). Obsoletes the ExtRouter module (use Router) - in NetworkLayer and NetworkLayer6 added dummy modules implementing IHook interface - that can be inserted above the physical layer. This allows to insert thruput metering, - packet drop and duplication modules etc. without modifying the module. New modules implementing - IHook: ThruputMeter, DropsGenerator, DuplicatesGenerator and EmptyHook (which is a NOP) + that can be inserted at the bottom of network layer (above link layer). + This allows to insert thruput metering, packet drop and duplication modules etc. + without modifying the module. New modules implementing IHook: + ThruputMeter, DropsGenerator, DuplicatesGenerator and Nop. use **.networkLayer.outputHookType = "ThruputMeter" to configure it. (use inputHookType for incoming traffic) @@ -53,7 +55,7 @@ The most significant changes: **.networkLayer.arp.globalARP=true - multi radios per host (multi channel) are supported by StandardHost, AdhocHost and Router if - ChannelControllerExtended is used in the network. + ChannelControllerExtended is used in the network. - point-to-point Ethernet links can now use normal DatarateChannels (EtherMAC's txrate parameter was removed) @@ -107,7 +109,7 @@ Several changes were introduced to make the basic building blocks of simulation (StandardHost, AdhocHost, Router etc.) more configurable, without the need to copy and modify the modules or derive a new module type. Applications, tcp type, nic, mobility, routing protocols can be -configured using paramaters or the **.like-type=typename in the .ini file. +configured using paramaters or the **.type-name=typename in the .ini file. * Ethernet point-to-point links: diff --git a/__TODO b/__TODO index e77eb67e60a..dc7bd190f85 100644 --- a/__TODO +++ b/__TODO @@ -12,11 +12,23 @@ TODO: implement missing models: TDMA; QoS supports for cross-layer design and also, Group Mobility, etc. +TODO: derive BGPRouter from OSPFRouter that should be derived from Router + +TODO: Remove ChannelInstaller. Channels can now implement thruput metering in C++. + +TODO: is the namId needed at StandardHost level? Possibly implement namtrace as a plugin? + +TODO: port NAM trace writer to use signals mechanism + +TODO: Add ThruputMetering channel (NED definition) + +TODO: remove MobileHost, MFMobileHost and most of the obsolete modules in nosed/wireless + +TODO: provide default for RoutingTable.routingTableFile once xmlinline() is implemented in omnet. + TODO: integrate models: HTTPTools, VoIPTools, HIPSim++, MobileWiMAX, ... -TODO: TCP congestion control algorithms are all present in the Linux kernel, extract and use them in our TCP! - TODO: for omnetpp-4.1: eliminate NotificationBoard, use signals instead TODO: PPP, Ethernet: should use signals (ModelChangeNotification) to detect if channel path breaks @@ -25,14 +37,12 @@ TODO: IPv6 works only eth, not work on ppp. See examples/ipv6/nclients. TODO: implement node failure/recovery by using signals mechanism -TODO: port NAM trace writer to use signals mechanism - TODO: pcacp file recording using signals mechanism TODO: VideoStrmReq problem on IPv6: "Error in module (UDP) P62.server.udp (id=21): User error: (UDPPacket)VideoStrmReq arrived from lower layer without control info" -TODO: add SCTP for StandardHost6 (IPv6) +TODO: check if SCTP in StandardHost6 (IPv6) is working properly BUG: if SCTPServer.echoFactor not 0, then will a runtime error: "Error in module (SCTP) P5.server.sctp (id=22): User error: stream with id 2 not found." @@ -82,7 +92,6 @@ TODO: add SCTP to the whatsnew file TODO: -- fix Ethernet channel usage (should use datarate on the channel!) - failure/recovery (replacing with failed router is problematic!) - gate labelling for the NED editor @@ -129,8 +138,6 @@ The paper is excellent work, and literally cries for follow-ups: would be value in doing that. ----------------------- - -TODO: ethernet: use normal channels TODO: eliminate cast after dup(), like (AirFrame*)airframe->dup() TODO: IRoutingTable6, ITED, etc! diff --git a/_scripts/makedist b/_scripts/makedist index a8bca16c4a3..3651f6b84e1 100755 --- a/_scripts/makedist +++ b/_scripts/makedist @@ -3,10 +3,12 @@ cd `dirname $0`/.. || { echo --- error changing to the inet root directory ---; exit 1;} INET_ROOT=`pwd` +export VERSION=`cat Version | sed 's/^.*-//'` if [ "$BUILDID" = "" ]; then # generate our own build identifier export BUILDDATE=`date +%Y%m%d` - export BUILDID=$BUILDDATE-`git describe --tags | awk -F '-g' '{print $2;}'` + export BUILDHASH=`git describe --tags | awk -F '-g' '{print $2;}'` + export BUILDID="$VERSION-$BUILDHASH" fi FILENAME=$INET_ROOT/inet-$BUILDID-src.tgz