# V0 and v1 coexist

**URL:** <https://forum.opencyphal.org/t/v0-and-v1-coexist/779>\
**Category:** Development & Maintenance\
**Created:** [March 12, 2020, 6:36pm UTC](https://forum.opencyphal.org/t/v0-and-v1-coexist/779 "2020-03-12T18:36:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![deekay](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/d/8491ac/32.png) [@deekay](https://forum.opencyphal.org/u/deekay)\
**Post date:** [March 12, 2020, 6:36pm UTC](https://forum.opencyphal.org/t/v0-and-v1-coexist/779/1 "2020-03-12T18:36:23Z")

</div>

Hi!

I read that the toggle bit can be used to distinguish v0 and v1 of the protocol.  
Will there be an API support for this in libuavcan/libcanard?

Or will it be up to user to develop their own transport layer decoding mechanism to route v0 and v1 messages to v0/v1 stacks and further up to the application(s)?

I am seeing a scenario were nodes on the bus shall be updated from v0 to v1. Or were only v1 nodes exists but additional v0 node is attached and shall be updated. Given that one “updater” node is handling the update…

But ofcource, if the updater is a linux machine I guess it can have a dedicated application performing v0-\>v1 updates, called from main v1 application.

BR

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [March 13, 2020, 5:13pm UTC](https://forum.opencyphal.org/t/v0-and-v1-coexist/779/2 "2020-03-13T17:13:01Z")

</div>

> [@deekay](#):
>
> Will there be an API support for this in libuavcan/libcanard?

Probably not.

> [@deekay](#):
>
> will it be up to user to develop their own transport layer decoding mechanism to route v0 and v1 messages to v0/v1 stacks and further up to the application(s)?

Probably yes.

Probably there will be very few systems that make v0/v1 coexist at runtime. I expect most applications will transition to v1 synchronously. I am considering currently what would it cost to have the Kocherga bootloader support both v0/v1 to simplify such atomic transitions.
