Skip to content

eclipse-opensovd/uds2sovd-proxy

Repository files navigation

🔌 UDS-to-SOVD Proxy 🚗

This repository contains the UDS-to-SOVD Proxy of the Eclipse OpenSOVD project and its documentation.

In the SOVD (Service-Oriented Vehicle Diagnostics) context, the UDS-to-SOVD Proxy serves as a protocol translation gateway between legacy UDS (Unified Diagnostic Services) based diagnostic tools and the modern SOVD-based diagnostic architecture.

It accepts UDS requests over DoIP (Diagnostics over IP), resolves the corresponding SOVD service using the diagnostic description (MDD) of the ECU, and translates them into SOVD REST API calls. The SOVD responses are then encoded back into UDS format and returned to the requesting tool.

This enables existing UDS-based diagnostic tools and workflows to seamlessly interact with SOVD-enabled vehicle architectures without modification.

goals

  • 🔄 transparent UDS ↔ SOVD protocol translation
  • 🚀 high performance (asynchronous I/O)
  • 🤏 low memory and disk-space consumption
  • 🛡️ safe & secure
  • ⚡ fast startup

introduction

usage

prerequisites

build the executable

developing

pre commit

uv run https://raw.githubusercontent.com/eclipse-opensovd/cicd-workflows/main/run_checks.py

codestyle

see codestyle

testing

unit tests

Unittests are placed in the relevant module as usual in rust:

...
#[cfg(test)]
mod test {
    ...
}

Run unit tests with:

cargo test --locked --lib

integration tests

About

Proxy component mapping UDS requests to SOVD ones

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors