Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Redefine 'reserved' addresses #140

Open
kc1awv opened this issue Sep 9, 2024 · 6 comments
Open

RFC: Redefine 'reserved' addresses #140

kc1awv opened this issue Sep 9, 2024 · 6 comments
Assignees
Labels
RFC Request for Comment

Comments

@kc1awv
Copy link
Collaborator

kc1awv commented Sep 9, 2024

Regarding a previous discussion in GH #139 about the spec and address encoding / reserved space, how about slicing off a part of the space for application functions, and define them? The spec should also define that 'future use' is open to anyone, this is just the first subset of the reserved addresses being used.

0xFFFFFFFF0000 - 0xFFFFFFFFFFFE gives 65534 addresses that could be used for application functions, like #ECHO, #INFO, and #UNLINK.

Use of the # character shall also indicate use of reserved address space / application functions.

Application space of the 65534 addresses can be further subdivided with a large enough divisor to hold the functions for differing applications. For instance, allocating 14 commands for an application gives space for 4681 different applications. Multiple subdivisions could be requested if the number of commands for a single application exceeds 14. Though, I'd expect that would be a very rare case.

Think of it like IANA, but for M17 addresses instead of port numbers.

@kc1awv kc1awv added the RFC Request for Comment label Sep 9, 2024
@n7tae
Copy link

n7tae commented Sep 10, 2024

This sounds good and about the right size to me, but I have lot's of questions. My initial question are about what the reserved address are for and what's the benefit of using them.

I can see the need for i8n so I can use ALL, E-land can use TODO, F-land can use TOUT and S-land can use WSZYSCY and we all actually mean #ALL, but how many languages will we support? (initially and what we might think will be a max) and how many #COMMAND values will be specified in the spec? (initial and what might be a max)

Are their #s that don't need i8n? What kind of commands might they be? Can we anticipate what they might be and how many their might be? Does each # have it's own scope? (radio/hot-spot/repeater/reflector/?)

Should we have an area in the reserved space where an application (by that, I mean anything from the lowly mvoice to the massive MMDVM) can use addresses for their own special needs? I would say that these reserved addresses have specific "application scope".

@mdiepart
Copy link
Member

mdiepart commented Sep 10, 2024

Here are a few comments about this issue:

  1. i8n is, in my opinion, not an issue if we decide that 0x0000000ED87D means "repeat after me" then we can let the implementations handle the actual translations. This however raises another issue which we will have anyway :
  2. How to enter the functions in the UI? Should the implementation display a list of actual commands? And if we use i8n with the current codes, what do you have to enter? The translated command name?

And here are a few suggestions about how imo we could/should handle this

  1. Use some of the "Don't care" bits in the "LSF TYPE" field to have a protocol version field
  2. Mark the current "ECHO", "INFO" and "UNLINK" identifiers as deprecated (from protocol version 0b001 onward) but keep them in the specs
  3. Add more identifiers in the same style as "ALL". That is, the address value of the identifier do not match the encoded value of those letters (and mark that a specific part of the address space is reserved?)
  4. Because reflectors can have any name and are not regulated by IARU, specify what is an acceptable reflector name to make sure that it cannot clash with the reserved address space (example, if I want to call my reflector "........." then the encoded name would be "0xFFFFFFFFFFFF")

@n7tae
Copy link

n7tae commented Sep 10, 2024

Nine dots is at the top of the valid (not reserved) address space, 0xEE6B27FFFFFF.

@mdiepart
Copy link
Member

Ah yes, my bad

@SmittyHalibut
Copy link

SmittyHalibut commented Sep 12, 2024 via email

@sp5wwp
Copy link
Member

sp5wwp commented Sep 18, 2024

Addressed in a28a833.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC Request for Comment
Projects
None yet
Development

No branches or pull requests

6 participants