Protocol and reference implementation for direct messaging over raw Ethernet
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Juhani Krekelä bd23f43cfa Notify frotend of Speak version packets 4 years ago
.gitignore Start working on the frontend 4 years ago
CC0 First commit 4 years ago
Makefile Take better advantage of install(1) 4 years ago
README.md Make licensing clear 4 years ago
arp-request.c Remove unnecessary errno = 0; 4 years ago
ethermess-backend.c Notify frotend of Speak version packets 4 years ago
ethermess.1 Let's not give our example users multicast MACs 4 years ago
ethermess.7 Don't create Speak version packets for broadcasts. 4 years ago
ethermess.py Notify frotend of Speak version packets 4 years ago
ethertype-dump.c Remove unnecessary errno = 0; 4 years ago
frontend-backend-protocol.md Notify frotend of Speak version packets 4 years ago
test.sh Make test.sh add the veth0a and veth0b interfaces automatically 4 years ago

README.md

EtherMess

EtherMess is a protocol for direct messaging over bare Ethernet as well as a reference implementation for it in C and Python.

Building and installing

Build with make and install with make install. If you are installing somewhere other than the default of /usr/local, please set PREFIX to that location during both build and installation steps.

make install will tell you how to set the correct capability on ethermess-backend to allow running it as a normal user.

Protocol documentation

Description of the EtherMess protocol is provided as a man page ethermess.7. The description is contractual, and may not change in incompatible ways unless the version number in the EtherMess packets is updated.

Additionally a description of the protocol spoken between ethermess-backend and ethermess is provided to help understand the code and develop alternative frontends. The description is non-contractual and the protocol may change with future versions of ethermess.

Licensing

Everything in the repository is under Creative Commons Zero 1.0 Universal license.