Darren

This discussion falls outside the realm of Surya design review (perhaps belongs in the IP refactoring discussion). So please start another thread on this topic.

My 2 cents on this issue:

IMHO we need in-depth analysis of the current design of IP (and understand why certain parts were designed the way they were, and what constraints caused it to be complex), implementation of alternative prototypes, perform comparative analysis before deciding existing scheme as suboptimal.

Complexity of code/or scheme does not *in itself* merit it to be labeled as "suboptimal". If you do not analyse a module to figure out its bad and good points(and figure out what parts need refactoring vs complete redesign) and simply decide to redesign it from ground up, you are likely and spend time reinventing things.

At least that is how I would go about things - other folks may disagree :-)

Sangeeta

Darren Reed wrote:
Thirumalai Srinivasan wrote:

Iam not sure what exactly you have in mind.  If you come up with some
alternative proposal with the details, it may help to clarify.



We have complex locking hierarchy in place that we have to adapt new code
to because of the infrastructure around IREs.

In replacing an IRE table with a radix tree, we're rediscovering how intricate the locking mechanisms are within this. It's not clear whether this is because we're retaining IREs (rather than replacing them with something else) or if it
is just the code organisation.

I think we need to sit up and take notice of the nature of the comments that
everyone has made about the surya project, especially those from you
(I would never have imagined the threading/locking problems you highlighted).

Perhaps the use of IREs should have been thrown out long ago and replaced
with something better but if we're going to stick with them, we need to look at
redesiging the way we work with them from the ground up.

We need to ask ourselves what can we do to make it easier to maintain TCP/IP
without having to consider such a complex scenario?

A starting point is to look at what's required to eliminate recursion when deleting
elements from the routing table (or radix tree.)

Darren

Darren Reed wrote:


To me this seems suboptimal.  Do we have any plans to do away with
the IRE tables completely and replace them all with radix trees?
Or is there a reason why we cannot do this?

What else can we do to make the situation less complex and less fraught?

Darren
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to