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

Make internals transport and protocol agnostic #3

Open
nicklasfrahm opened this issue Mar 31, 2022 · 0 comments
Open

Make internals transport and protocol agnostic #3

nicklasfrahm opened this issue Mar 31, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@nicklasfrahm
Copy link
Owner

nicklasfrahm commented Mar 31, 2022

Currently, the CLI is only able to communicate with Netgear switches via the Netgear Switch Discover Protocol. At its core, the communication with devices can always be seperated into two things:

  • Encoding
    The action, either read or write, alongside the desired attributes to be read or written are encoded into a message with a payload. Currently, the library supports TLV (tag-length-value) encoding only.
  • Transport
    The encoded message is transmitted over the network using a common network protocol. Currently, the library supports two mechanism, UDP broadcast and UDP unicast. The ports for this are currently hardcoded.

The first step towards improving this is to create the pkg/driver, which defines high-level interfaces. The current idea is to set up multiple RPC services based on the feature, such that there would be the following services for example:

  • VLAN: Set up Virtual Local Area Networks
  • BandwidthLimit: Limit ingress or egress network bandwidth
  • Links: Show status information about network links
@nicklasfrahm nicklasfrahm changed the title Make internal function transport and protocol agnostic Make internal transport and protocol agnostic Mar 31, 2022
@nicklasfrahm nicklasfrahm changed the title Make internal transport and protocol agnostic Make internals transport and protocol agnostic Mar 31, 2022
@nicklasfrahm nicklasfrahm self-assigned this Mar 31, 2022
@nicklasfrahm nicklasfrahm added the enhancement New feature or request label Aug 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant