Skip to content

sys:net:routing Add a dynamic routing information base (RIB) #930

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

Closed

Conversation

BytesGalore
Copy link
Member

The dynamic RIB implementation enables to keep the general routing management on the OS side.
It detaches routing and forwarding tables from the actual used routing protocol and provides interfaces for handling the entries.

@LudwigKnuepfer
Copy link
Member

Can you reorganize the commits into features?

@BytesGalore
Copy link
Member Author

Damn, I forgot to push the squashed commits.
Actually its only one feature, the routing information base.

@BytesGalore
Copy link
Member Author

squashed to one commit

@LudwigKnuepfer
Copy link
Member

Is your master up to date + this based on it?

@BytesGalore
Copy link
Member Author

No, but now it should be.

@LudwigKnuepfer
Copy link
Member

This is IPv6 only? Maybe it should be reflected in the name if it is intended to stay that way.
Also it should probably go into its own module subdirectory?

@mehlis
Copy link
Contributor

mehlis commented Mar 26, 2014

please make functions either static or add the prefix of the module to them

@BytesGalore
Copy link
Member Author

yes, IPv6 only.
so you would suggest to prefix the functions and defines like: static void rib_ipv6_route_*(...); ?

@BytesGalore
Copy link
Member Author

sorry wrong button

@BytesGalore BytesGalore reopened this Mar 26, 2014
@OlegHahm
Copy link
Member

OlegHahm commented Apr 1, 2014

Doxygen documentation is not complete.

*
* @param dst_net_addr pointer to the address to be deleted
* @param iface_id pointer to the transceiver interface identifier
* @param metric pointer to the metric(s) used for this routing entry
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no "metric pointer"-param

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yepp, it became obsolete during implementation.
btw. this is still WIP, it basically works, but things may change. (definitely the doxy will change ;) )

@fabratu
Copy link
Contributor

fabratu commented Apr 3, 2014

A future PR of RPL-restruction should include a form of common routing information base like this PR. Looks therefore fine except the additional module called "routing", which is also included in earlier PR #918

@OlegHahm OlegHahm added the WIP label Apr 8, 2014
@fabratu
Copy link
Contributor

fabratu commented Apr 29, 2014

If there is interest, maybe we can discuss this PR? It would be a nice thing to have such a common routing table structure. Actually I kind of need it (or something similar) for RPL, so if this not gets an ACK, then I have to implement something more rudimentary (not a base, just common routing and forwarding table behaviour) on my own.

@BytesGalore
Copy link
Member Author

sure, at least I'm interested in this PR ;) . I will add the requested changes tomorrow, then we will have a base to talk about further requests and changes.

size_t max_entries;

// the current number of entries in the routing table
size_t current_entries;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unprefixed variables, defined in a header file??

Martin Landsmann added 2 commits April 30, 2014 19:21
@OlegHahm OlegHahm modified the milestones: Release NEXT MAJOR, FIX ME FIRST Jun 3, 2014
@BytesGalore
Copy link
Member Author

I close this WIP PR temporary until my concept of RIB reaches a more mature level:
points to be cleared out:

  • multiple routing protocols - how should the dispatching behave, on interface basis?
  • fixed vs dynamic routing table sizes - what is the right way to handle entries especially on constrained devices?
  • decoupling RIB from FIB - generally a good idea to delimit these distinct "blocks" but requires to define and elaborate routing protocol <-> RIB <-> FIB <-> Next_hop_request in detail

@BytesGalore BytesGalore closed this Jun 4, 2014
@OlegHahm OlegHahm added memo and removed WIP labels Jun 4, 2014
@OlegHahm OlegHahm removed Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation State: archived State: The PR has been archived for possible future re-adaptation Area: network Area: Networking labels Mar 14, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants