Magik6k 17 Posted January 5, 2017 Share Posted January 5, 2017 The following document is still a DRAFT and a subject to change, though protocol and assigned numbers should not change. 1. Purpose ON2 - OCNet L2 protocol - is a very simple standard is aimed at advanced network stacks. It provides protocol tagging and optional vlan separation for devices that support it. 2. Protocol ON2 utilizes the fact that OpenComputers network message can have multiple parameters. When a message(data frame) is sent using ON2 layer, the implementation sets first data parameter to protocol number and passes the data via second data argument. Port number(if supported by device) can be used as VLAN tag allowing network separation. Default port number(vlan) is 1 Here is an example modem call for sending data frame with protocol 0x46 (IP frame): component.invoke(modem, "send", dest, vlan, 0x46, ip_data) 3. Implementation recommendations Each network stack implementation should default to listening and sending on port 1. If packet of with unknown protocol number is received is should be silently dropped. Implementations should pass local/remote address and interface information(modem ID, vlan or interface object) to higher layers. 4. Protocol numbers: Protocols are identified by numbers assigned in table below. |-------------------------------------------------------------| | PROTOCOL NUMBER | PROTOCOL NAME | DEFINING STANDARD | |-----------------X--------------------X----------------------| | 0x0C | OC HOST DISCOVERY | OETF #9 | |-----------------X--------------------X----------------------| | 0x46 | IPv4 or IPv6 Frame | RFC791 and RFC2460 | |-----------------X--------------------X----------------------| | 0xCF | OHCP CONFIG PROTO | OETF #10 | |-----------------X--------------------X----------------------| | 0x1000 | MultICE | ??? | |-----------------X--------------------X----------------------| | Above 0xFFFF | User defined | N/A | |-------------------------------------------------------------| You can apply for assigning protocol number by a post in this thread. Izaya 1 Quote Link to post Share on other sites
skyem123 4 Posted February 28, 2017 Share Posted February 28, 2017 I'm reading this, and while it does seem like a good idea, using the port number as some sort of VLAN seems to conflict with other services and you using port 1. Also, I am a bit worried about using port 1, as while it's a good number, someone earlier could have used it? Quote Link to post Share on other sites
Magik6k 17 Posted April 29, 2017 Author Share Posted April 29, 2017 Port 1 is just a default that can be changed. Ports in this network stack are used as VLANs, If in your infrastructure something else is using that port, you are free to change it, and it's not that hard(that is, implementations shouldn't make it hard). Quote Link to post Share on other sites
skyem123 4 Posted April 30, 2017 Share Posted April 30, 2017 I see... it would make automatic configuration systems harder in general though. Quote Link to post Share on other sites
Izaya 19 Posted May 8, 2017 Share Posted May 8, 2017 As the MultICE networking stack just gained support, I'd like to reserve protocol 0x1000 (4096). I'll note it uses broadcasts for its stuff though. Quote Link to post Share on other sites