Closed maksimdrachov closed 1 year ago
This MR is based on this proposol discussed in the OpenCyphal forum.
In short, the changes can be broken down into three pieces:
Current:
uint8 version = 0 uint8 priority void16 uint32 frame_index_eot uint64 transfer_id void64
Proposal:
uint8 version = 1 # UPDATE uint8 priority uint16 source_node_id # NEW uint32 frame_index_eot uint64 transfer_id void64
Note: version will be bumped to 1, however no backward-compatibility changes are made (since the protocol is still in development).
version
fixed reserved (9 bits) (3 bits) ________ _ / \ / \ 11101111.0ddddddd.000sssss.ssssssss \__/ \_____/ \____________/ (4 bits) (7 bits) (13 bits) IPv4 subnet-ID subject-ID multicast \_______________________/ prefix (23 bits) collision-free multicast addressing limit of Ethernet MAC for IPv4
fixed message reserved (9 bits) select. (3 bits) ________ res.| _ / \ vv / \ 11101111.0ddddd00.000sssss.ssssssss \__/ \___/ \____________/ (4 bits) (5 bits) (13 bits) IPv4 subnet-ID subject-ID multicast \_______________________/ prefix (23 bits) collision-free multicast addressing limit of Ethernet MAC for IPv4
Current: regular unicast
fixed service (9 bits) res. selector ________ || / \ vv 11101111.0ddddd01.nnnnnnnn.nnnnnnnn \__/ \___/ \_______________/ (4 bits) (5 bits) (16 bits) IPv4 subnet-ID node-ID multicast \_______________________/ prefix (23 bits) collision-free multicast addressing limit of Ethernet MAC for IPv4
This MR is based on this proposol discussed in the OpenCyphal forum.
In short, the changes can be broken down into three pieces:
1. Datagram header format
Current:
Proposal:
Note:
version
will be bumped to 1, however no backward-compatibility changes are made (since the protocol is still in development).2. Message
Current:
Proposal:
3. Service
Current: regular unicast
Proposal:
TODO