The open source vehicular network simulation framework.


Veins 5 alpha 1

This is an unstable preview of upcoming features.

Download Veins 5 alpha 1

Download Instant Veins 5 alpha 1 i1

Download Instant Veins 5 alpha 1 i1 with SimuLTE

About Instant Veins View Changelog »

Veins 4.7.1

This is the current release of Veins.

Download Veins 4.7.1

Download Instant Veins 4.7.1 i1

Download Instant Veins 4.7.1 i1 with SimuLTE

About Instant Veins View Changelog »

Development Version

If you want to closely follow the development of Veins, you might be interested in its public code repository.

Browse the "veins" branch at github or Subscribe to the RSS feed (stable codebase)

Browse the "master" branch at github or Subscribe to RSS feed (unstable, ongoing development)

Older and Other Versions


New in Veins 5 alpha 1

This is an unstable preview of upcoming features. As it is a massive re-write of Veins, user-written models will likely need to be upgraded to work with this version. See the documentation on upgrading for a brief summary. Major changes are summarized below. All changes to the base models (along with necessary changes to upgrade the included tutorial simulation) can be found in the Git commit log.

  • Rewrite PHY to use simpler signal representation and short circuiting evaluation (up to 10x speed increase; thanks to Fabian Bronner)
  • Add support for multiple PHYs and per-PHY antenna offset
  • Add support for linearly extrapolating node/antenna position between position updates
  • Add support for treating vehicles as radio obstacles (was a separate branch)
  • Add (and apply) .clang-format and uncrustify.cfg for formatting code consistently (replace all tabs by spaces, remove hard line breaks, ...)
  • Add TraCI method for enumerating POIs
  • Add TraCI methods for converting cartesian coordinates to road map locations (thanks to Hamzah Abdelaziz)
  • Add TraCI methods for lane area detectors (thanks to Filippo Leveni)
  • Add TraCI methods for reading vehicle CO2, CO, HC, PMx, NOx, Noise emissions, Fuel/Electricity consumption
  • Add TraCI methods for reading vehicle color, width, height, accel, decel
  • Add TraCI methods for reading vehicle waiting time
  • Remove TraCI methods for parking vehicles
  • Refactor for C++11 (thanks to Dominik Buse, Max Schettler, Julian Heinovski) and move everything to namespace Veins
  • Refactor for OMNeT++ 5 (e.g., use EV_{loglevel} macros instead of debug/coreDebug .ned parameters, remove simsignalwrap_t)
  • Refactor programmatic vehicle insertion from part of TraCIScenarioManager into its own module, TraCIVehicleInserter
  • Refactor PHY to be less 802.11p centric and more modular (thanks to Agon Memedi)
  • Rename central include header to veins/veins.h
  • Rename WaveShortMessage to BaseFrame1609_4
  • Rename BaseWaveApplLayer, BasicSafetyMessage, WaveServiceAdvertisement to DemoBaseApplLayer, DemoSafetyMessage, DemoServiceAdvertisement
  • Rename PHY parameters to avoid confusion about their intent and adapt tutorial simulation parameters to realistic values
  • Move smoke tests into a subproject (veins_testsims)
  • Change top-level Makefile to (by default) build both debug and release targets
  • Emit OMNeT++ signal when vehicles are added or removed
  • Fix memory leaks
  • Merge run scripts (from ./run -u Cmdenv and ./debug -u Cmdenv to ./run --debug --tool gdb -- -u Cmdenv; this also allows using lldb and valgrind both with and without a debug build)
  • Rename veins_inet to veins_inet3 (and update for INET 3.6.4)
  • Add new veins_inet for INET 4.0.0 (does not build on Windows - upstream bug yet to be fixed)
  • Remove support for OMNeT++ 4, require OMNeT++ 5 (recommend OMNeT++ 5.4.1)
  • Update for (and require) SUMO 1.0.0

New in Veins 4.7.1

  • Fix compilation on Windows
  • Reduce memory consumption

New in Veins 4.7

  • Add experimental unicast support to IEEE 802.11p
  • Add OMNeT++ proxy modules for SUMO traffic lights
  • Add veins_catch subproject for unit testing of Veins using catch2
  • Add TimerManager convenience class for creating simple (or repetitive) callbacks based on time ellapsed
  • Add several small new TraCI commands
  • Fix antenna pattern calculation breaking for some angles
  • Fix compilation of veins_inet subproject on Windows
  • Fix include path when using Veins as an external project in some OMNeT++ versions
  • Refactor TraCI interface to be more modular
  • Simplify example simulation so beaconing is turned off by default
  • Update for OMNeT++ 5.3 and SUMO 0.32.0

New in Veins 4.6

  • Rely on icons for visualization instead of manipulating Display String
  • Employ 802.1D user priority (UP) values for mapping frames to queues (AC)
  • Bugfix: Resolve internal collisions by queue AC
  • Bugfix: Allow setting per-vehicle-type Display String
  • Whitelist INET 3.6.0
  • Require OMNeT++ 5.1.1
  • Require SUMO 0.30.0

New in Veins 4.5

  • Add attenuation model capturing antenna patterns
  • Add a subproject "veins_inet" which allows using Veins as a mobility model in INET 3.4.0 (can be imported from subprojects/veins_inet)
  • Refactor MAC layer to be more modular
  • Rewrite sample application and upper layers
  • Add alternative TraCI client ( that launches SUMO process directly instead of relying on an external script (
  • Add simple mobility model using only initial position, speed, and acceleration (LinearMobility)
  • Add tracking vehicles' signals (e.g., turn signal indicators)
  • Fix contention window update in case of internal collisions
  • Fix channel idle detection on ideal channel
  • Change vehicle type mappings to use "0" as meaning "do not instantiate"
  • Require OMNeT++ 5.0
  • Require SUMO 0.29.0

New in Veins 4.4

  • Veins is now compatible with OMNeT++ 5 (as of the OMNeT++ 5.0 release candidate)
  • code has been polished to avoid common errors
  • scripts have been polished to keep fewer processes running
  • requires SUMO 0.25.0 (which now ships with netedit, the graphical road network editor)

New in Veins 4.3

  • The simple obstacle model now reads a full type-value mapping of attenuation values from an XML document (see the sample simulation for how to make efficient use of this option)
  • Veins can now be configured to use different module types/names/displaystrings for different vehicle classes (for example, "a=X b=Y *=" means to use value "X" for vehicle class "a", value "Y" for vehicle class "b", and not to instantiate any other class)
  • Veins now includes a very simple Nakagami-m fading model
  • can now simulate cars without network cards
  • requires SUMO 0.25.0 (which now ships with netedit, the graphical road network editor)

New in Veins 4 alpha 2

  • fix compilation on Windows
  • add option for custom WLAN-based MAC layers to force physical layer to transmit even on busy medium
  • bugfix CCA threshold changing
  • requires SUMO 0.22.0

New in Veins 4 alpha 1

  • the annotations feature of Veins has been included into OMNeT++ 4.5; Veins now uses this feature if a suitable version of OMNeT++ is detected, speeding up simulations containing annotations by an order of magnitude
  • allow changing the CCA threshold during simulations
  • include Nist frame error rate model to allow arbitrary PHY configurations
  • change TraCI API to follow a hierarchical structure (global commands, commands wrt. a single vehicle, commands wrt. a single lane, ...
  • move all source files from, e.g., src/modules to src/veins/modules; use only a single include search path (the root of the project) instead of adding every single directory to include paths. Together, this should make Veins much easier to link with other module frameworks. Similar efforts have been started for the INET Framework.
  • add TraCI commands to ease recording of screenshots and screencasts (from a series of screenshots, all taken at equal intervals wrt. simulation time).
  • requires SUMO 0.22.0

New in Veins 3.0

  • configurable NIC types for cars
  • improved clean-up of memory on shutdown
  • requires SUMO 0.21.0

New in Veins 3 alpha 3

  • add collision reporting: packet loss due (only) to interfering frames
  • pad simulated frame length to full symbols
  • fix TraCI error reporting

New in Veins 3 alpha 2

  • refactor of TraCI functionality into components
  • can keep number of vehicles in the simulation constant
  • requires SUMO 0.20.0
  • add RSU to demo code

New in Veins 3 alpha 1

  • first unstable preview release of Veins 3
  • fork MiXiM core as Veins proper
  • massive refactor to allow linking Veins and INET
  • add support for parking (set to "stopped" in SUMO) vehicles
  • requires SUMO 0.19.0

New in Veins 2.2

  • render annotations (e.g., communicating vehicles) in SUMO
  • update Veins example to show re-routing of cars around accident
  • add TraCI dissector for Wireshark
  • updates for SUMO 0.19.0

New in Veins 2.1

  • fix CCA sometimes failing for superposition of many low-power frames
  • updates for SUMO 0.17.0
  • updates for gcc 4.7.2

New in Veins 2.0

  • support longer running and larger scale simulations
  • improved support for batch runs
  • configurable antenna position
  • removal of deadlocked/livelocked vehicles in OMNeT++
  • new metrics: channel busy time
  • more pre-configured TraCI commands: traffic lights
  • allow switching between IEEE 1609.4 and pure IEEE 802.11p
  • support CLang and newer GCC
  • code cleanup and minor bug fixes

New in Veins 2.0-rc2

  • complete IEEE 802.11p and IEEE 1609.4 rewrite to improve stability and speed
  • more pre-configured TraCI commands: routes, junctions, polygons, and parking vehicles
  • code cleanup and minor bug fixes

New in Veins 2.0-rc1

  • MiXiM-only release
  • adaptation of MiXiM for full IEEE 802.11p and IEEE 1609.4 support
  • two ray interference attenuation model for freeway scenarios
  • code cleanup and minor bug fixes

New in Veins 1.99.2

  • Dual release for both MiXiM and the INET Framework 1.99.2
  • shadow fading model for buildings in urban and suburban scenarios
  • graphical annotations in OMNeT++ TKenv

New in Veins 0.2

  • update for INET Framework 2006-10-20
  • update for OMNeT++ 3.4b2

New in Veins 0.1

  • first public release
  • bidirectionally coupled road traffic and network traffic simulation

New in Veins

  • road traffic simulation coupled to network traffic simulation