-
Notifications
You must be signed in to change notification settings - Fork 16
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
Support new subflows when the kernel is the client #13
Comments
That's a good question. That could be possible by sending ADD_ADDR option to the kernel. If the kernel decides by itself there is no way to know the kernel's willing :). |
The kernel is deterministic. So, we know when the kernel initiates new subflows. All we need is a way to capture the SYN+MP_JOIN in packetdrill, which is not possible at the moment. |
The way we could implement this is: forasmuch we know when the kernel will initiate a subflow we could put simply (without connect call):
the "new_number" could be an INTEGER, need to be sure this number is not already used. This kind of usage is not yet implemented in Packetdrill. By the way, I don't see how the kernel would decide to open a second subflow by itself ? |
Inside packetdrill we might add another IP to the kernel's tun interface. Then, the kernel triggers the creation of a new subflow. Alternatively, we can force the kernel to open 2 subflows for the pair of IP-addresses that is being used by the initial subflow. |
MPJ/ADD_ADDR: be more tolerant
As of now, I do not have the impression that it is possible to allow the creationg of new subflows when the kernel is the client.
If it is possible, how can this be done?
The kernel decides on his own to send a SYN+MP_JOIN. Packetdrill somehow needs to capture this one.
The text was updated successfully, but these errors were encountered: