-
Notifications
You must be signed in to change notification settings - Fork 13
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
General improvements for Click compatibility #17
Labels
Comments
achimnol
added a commit
that referenced
this issue
Aug 8, 2015
achimnol
added a commit
that referenced
this issue
Aug 8, 2015
* They will be appended to out_batches in the ElementGraph. * Pose a restriction that a packet can be pushed to a single output only; to push to multiple outputs, you need to clone the packet. * Next TODO: rewrite branching logic.
achimnol
added a commit
that referenced
this issue
Aug 8, 2015
achimnol
added a commit
that referenced
this issue
Aug 8, 2015
achimnol
added a commit
that referenced
this issue
Aug 9, 2015
Packet::uniqueify() seems to be implemented to maintain compatibility with Click, however it simply returns nullptr. I think it should behave same as Packet::clone(), so elements following Click's convention can run in NBA. Please check codes here. |
@protos37: It's just not done yet. :) |
@protos37: And now you have write access to this repository. Feel free to make branches and PRs. |
achimnol
added a commit
that referenced
this issue
Sep 16, 2015
achimnol
changed the title
Add capability to clone packets and pass to multiple elements
General improvements for Click compatibility
Sep 16, 2015
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For our Retro-Click project, this issue collects commits related to general improvements for Click compatibility.
Examples:
There are several core use cases of cloning packets and pushing them to multiple output elements, such as TCP/IP fragmenter and switching logic.
However, the current NBA only allows pushing to only one element by returning the output port index, because it is easier to batch by storing those return values in a single array and we have targeted only a "receive-process-and-forward" type of workloads.
Let's make a design to allow cloning packets and passing them to multiple different elements.
NBA has used return values to determine the output port selection for each packet in an element.
Change it to Click-like
output(n).push(pkt);
.The text was updated successfully, but these errors were encountered: