Skip to content
forked from riebl/vanetza

Open-source implementation of the ETSI C-ITS protocol stack

License

Notifications You must be signed in to change notification settings

QuentinDLZ/vanetza

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vanetza

Vanetza is an open-source implementation of the ETSI C-ITS protocol suite. This comprises the following protocols and features among others:

  • GeoNetworking (GN)
  • Basic Transport Protocol (BTP)
  • Decentralized Congestion Control (DCC)
  • Security
  • Support for ASN.1 messages (Facilities) such as CAM and DENM

Though originally designed to operate on ITS-G5 channels in a Vehicular Ad Hoc Network (VANET) using IEEE 802.11p, Vanetza and its components can be combined with other communication technologies as well, e.g. GeoNetworking over IP multicast.

How to build

Building Vanetza is accomplished by the CMake build system. Hence, CMake needs to be available on the build host.

Prerequisites

You need following tools and libraries on your system for compiling Vanetza:

If OpenSSL (1.0 or 1.1) or LibreSSL is available on your system, an alternative security backend implementation is compiled along with the Crypto++ based backend. See security::Backend and security::create_backend for more details.

Compilation

Following command line snippet demonstrates the build process using a generated Makefile. Other CMake generators and build directory setups can be used as well.

cd vanetza
mkdir build && cd build
cmake ..
make

Continuous Integration

We strive for quality in our code base. Latest commits are built using Travis CI as part of this effort. Build Status

Demo

Vanetza ships with a simple demo application called socktap. You can enable the build process for this application by the BUILD_SOCKTAP CMake option. See tools/socktap for details. If socktap is going to be built gpsd is required in addition to aforementioned prerequisites.

Integrating Vanetza

Vanetza is primarily a library project intended for integration by other projects, e.g. V2X simulation tools such as Artery. Projects using CMake can integrate Vanetza most easily by calling find_package(Vanetza) and then refer to the imported Vanetza targets, such as Vanetza::vanetza.

Authors

Development of Vanetza is part of ongoing research work at Technische Hochschule Ingolstadt. Maintenance is coordinated by Raphael Riebl. Contributions are happily accepted.

License

Vanetza is licensed under LGPLv3, see license file for details.

About

Open-source implementation of the ETSI C-ITS protocol stack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 64.7%
  • C++ 33.7%
  • CMake 1.5%
  • Other 0.1%