-
Notifications
You must be signed in to change notification settings - Fork 488
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
Router alert handling (in integration branch) #27
Conversation
… router alert flag setin IPv4/IPv6 packets
…router alert IP option set
Thank you for the patch! However, could you provide some details why this functionality is important enough to be included in INET? What is the motivation? |
The motivation is that it is needed for some protocols (in this case, a layer-3 QoS path reservation protocol for a research project at a German university, but as far as I know also NSIS should it get implemented in INET) to be able to intercept IP packets from the network, possibly modify them and set a verdict (accept or drop packet). It could be argued that there should be a more general solution, a complete packet filtering framework. I agree in principle, but this would mean a massive amount of work and is probably not needed for most protocols. The router alert flag is a standardized IP flag that can be utilized for this purpose and using it seemed like a good compromise between too much effort and over-specialization to our needs. |
See also https://www.rfc-editor.org/rfc/rfc2113.txt for a general motivation and https://www.rfc-editor.org/rfc/rfc5971.txt for its usage in NSIS |
When switching to NetFilter hooks, |
I see... How about we take the parts that deal with being able to send Router Alerts (ie. control info and IPv4/IPv6 datagram changes together with handling code), and you keep the handling of received Router Alerts ( |
Sure, we'll definitely go with NetFilter once it lands in IPv6. We'd even help implementing once you say the IPv6 code is stable enough for that to be feasible. Do you have a general outline when this will be the case? With the release of INET 3, maybe? |
Regarding the IPv6 code, it's not really about stability, but rather the code is currently ill-structured for maintainability and future extension, it needs to be re-thought and refactored. On IPv4, Tamas Borbely has done similar refactoring in a series of commits starting at 2012-01-19 (you can find it in the repo). It was planned that Tamas does this refactoring for IPv6 too, but he has left our team since then. We currently don't know when we can do IPv6 and who'll do it (we are a very small team, and currently concentrating our efforts on wireless the PHY and MAC layers, and on developing OMNeT++ itself.) It has not been planned for the 3.0 release. Also, some of us will have to dig ourselves into the IPv6 RFCs, as none of the team are exactly IPv6 scientists. |
As for actions:
|
|
This pull request includes an updated version of the topic/router-alert-handling branch modified for the integration branch.
See #10, #11