Re: Multipath TCP for FreeBSD v0.1

2013-04-16 Thread Nigel Williams

Hi all,

An update is now available at [1]. This patch fixes a number of known 
stability issues (see changelog [2]). The readme [3] has also been 
updated. As with v0.2, this release code is considered to be of alpha 
quality.


Cheers,
Nigel, Lawrence and Grenville

http://caia.swin.edu.au


[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html

[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-changelog-v0.3.txt

[3] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.3.txt


On 11/03/13 03:49, Lawrence Stewart wrote:

Hi all,

The CAIA MPTCP team is pleased to announce the initial release of our
multipath TCP implementation for FreeBSD 10-CURRENT which is available
from [1]. This release contains wire-related protocol code and a lot of
core stack infrastructure. It is capable of running regular TCP flows
and single or multi-subflow MPTCP flows (with some caveats as documented
in the readme [2]).

We consider this code to be of alpha quality and plan to release
frequent updates going forward as we continue to flesh out additional
features and fix the rough edges.

That being said, we welcome everyone to start playing with the code and
provide feedback, bug reports, fixes, praise and/or abuse ;)

The "Multipath TCP for FreeBSD" project team consists of:

   Nigel Williams:  lead R&D engineer
   Lawrence Stewart:supporting R&D engineer
   Grenville Armitage:  principal investigator & overall project lead

Many thanks go to the Cisco University Research Program Fund at
Community Foundation Silicon Valley for their support of this work.

Have fun with it!

Cheers,
Lawrence, Nigel & Grenville

http://caia.swin.edu.au



[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html

[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.1.txt
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Multipath TCP for FreeBSD v0.4

2014-07-10 Thread Nigel Williams

Hello all,

A new v0.4 patch is available at [1]. This release is mostly bug-fixes 
and improvements to core functionality (establishing/closing 
connections, retransmissions etc), and also brings the implementation up 
to a more recent version of FreeBSD-HEAD.


The full list of changes and caveats can be found in [2] and [3], but 
briefly:
- Patched against r265307 of FreeBSD-HEAD. This is prior to some recent 
TCP reassembly memory management changes and the patch will be brought 
up to a newer revision soon (currently working on integrating those 
changes).
- Added data-level retransmits and subflows can now stall and recover 
(or timeout) during a connection.
- The path management and packet scheduler are still fairly rudimentary, 
and I haven't yet implemented coupled CC.
- The patch is still under heavy development so consider this release 
code to be of alpha quality.


This release ties up work that was partially supported by a gift from 
The Cisco University Research Program Fund. Future releases will be 
supported by a grant from the FreeBSD Foundation.


P.S. I will be working on the patch full-time again so updates should be 
a little more frequent from this point onwards.


cheers,
nigel

[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html
[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-changelog-v0.4.txt
[3] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.4.txt



On 11/03/13 03:49, Lawrence Stewart wrote:

Hi all,

The CAIA MPTCP team is pleased to announce the initial release of our
multipath TCP implementation for FreeBSD 10-CURRENT which is available
from [1]. This release contains wire-related protocol code and a lot of
core stack infrastructure. It is capable of running regular TCP flows
and single or multi-subflow MPTCP flows (with some caveats as documented
in the readme [2]).

We consider this code to be of alpha quality and plan to release
frequent updates going forward as we continue to flesh out additional
features and fix the rough edges.

That being said, we welcome everyone to start playing with the code and
provide feedback, bug reports, fixes, praise and/or abuse ;)

The "Multipath TCP for FreeBSD" project team consists of:

   Nigel Williams:  lead R&D engineer
   Lawrence Stewart:supporting R&D engineer
   Grenville Armitage:  principal investigator & overall project lead

Many thanks go to the Cisco University Research Program Fund at
Community Foundation Silicon Valley for their support of this work.

Have fun with it!

Cheers,
Lawrence, Nigel & Grenville

http://caia.swin.edu.au



[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html

[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.1.txt
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Multipath TCP for FreeBSD v0.4

2014-07-13 Thread Nigel Williams

Hi Nils,

On 11/07/14 20:24, Nils Beyer wrote:

Hi Nigel,

Nigel Williams wrote:

A new v0.4 patch is available at [1]. [...]


Thanks a lot for publishing the latest patch. Already tried it on two phyiscal
machines with directly connected NICs.



Great, thanks for testing it out.


"iperf" looks nice:
===
#iperf -c 10.255.255.11 -i 1

Client connecting to 10.255.255.11, TCP port 5001
TCP window size: 32.5 KByte (default)

[  3] local 10.255.255.10 port 40171 connected with 10.255.255.11 port 5001
[ ID] Interval   Transfer Bandwidth
[  3]  0.0- 1.0 sec   167 MBytes  1.40 Gbits/sec
[  3]  1.0- 2.0 sec   171 MBytes  1.43 Gbits/sec
[  3]  2.0- 3.0 sec   171 MBytes  1.44 Gbits/sec
[  3]  3.0- 4.0 sec   171 MBytes  1.44 Gbits/sec
[  3]  4.0- 5.0 sec   171 MBytes  1.44 Gbits/sec
[  3]  5.0- 6.0 sec   169 MBytes  1.41 Gbits/sec
[  3]  6.0- 7.0 sec   168 MBytes  1.41 Gbits/sec
[  3]  7.0- 8.0 sec   169 MBytes  1.41 Gbits/sec
[  3]  8.0- 9.0 sec   168 MBytes  1.41 Gbits/sec
[  3]  9.0-10.0 sec   171 MBytes  1.43 Gbits/sec
[  3]  0.0-10.0 sec  1.66 GBytes  1.42 Gbits/sec
===

TCP networking is rather unstable after some "iperf" executions. So that new
SSH connections aren't possible anymore.

Everything more complex than "iperf" - like NFS and FTP usage - leads to a
kernel panic (page fault).

Do you want any crash dumps? If yes, where do you want them to be uploaded?



Yes, that would be helpful (I'll send you a link to a drop box). If you 
were able to email me the core text files that might also help.




FWIW: I haven't set up any special routings or PF rules at all:
===
MPTCP1
--
ifconfig_em1="10.255.255.10/8 -tso"
ifconfig_em0="192.168.1.1/24 -tso"
ifconfig_em2="192.168.2.1/24 -tso"


MPTCP2
--
ifconfig_em1="10.255.255.11/8 -tso"
ifconfig_em0="192.168.1.2/24 -tso"
ifconfig_em2="192.168.2.2/24 -tso"
===




Okay, I'll set up something similar. Did you configure any other TCP 
sysctls?


cheers,
nigel



Thanks for all your work and regards,
Nils
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Multipath TCP for FreeBSD v0.4

2014-07-16 Thread Nigel Williams

Just a quick note for anyone else that might be trying out the patch...



and I've built the whole system on both nodes without WITNESS and other debug-
ging functionalities:
===
Index: /usr/src/sys/amd64/conf/GENERIC
===
--- /usr/src/sys/amd64/conf/GENERIC (revision 265307)
+++ /usr/src/sys/amd64/conf/GENERIC (working copy)
@@ -76,14 +76,14 @@
  optionsKDB # Enable kernel debugger support.
  optionsKDB_TRACE   # Print a stack trace for a panic.
  # For full debugger support use (turn off in stable branch):
-optionsDDB # Support DDB.
-optionsGDB # Support remote GDB.
-optionsDEADLKRES   # Enable the deadlock resolver
-optionsINVARIANTS  # Enable calls of extra sanity checking
-optionsINVARIANT_SUPPORT   # Extra sanity checks of internal 
structures, required by INVARIANTS
-optionsWITNESS # Enable checks to detect deadlocks and 
cycles
-optionsWITNESS_SKIPSPIN# Don't run witness on spinlocks for 
speed
-optionsMALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
+#options   DDB # Support DDB.
+#options   GDB # Support remote GDB.
+#options   DEADLKRES   # Enable the deadlock resolver
+#options   INVARIANTS  # Enable calls of extra sanity checking
+#options   INVARIANT_SUPPORT   # Extra sanity checks of internal 
structures, required by INVARIANTS
+#options   WITNESS # Enable checks to detect deadlocks and 
cycles
+#options   WITNESS_SKIPSPIN# Don't run witness on spinlocks for 
speed
+#options   MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones

  # Make an SMP-capable kernel by default
  optionsSMP # Symmetric MultiProcessor Kernel
===


I'd recommend leaving debugging options on (at minimum INVARIANTS and 
INVARIANT_SUPPORT). This will slow network performance but will allow a 
number of assertions to run that can make it a little easier to debug 
some issues.


cheers,
nigel


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Multipath TCP for FreeBSD v0.4

2014-09-07 Thread Nigel Williams

Hi,

We recently released a new tech report "Design Overview of Multipath TCP 
version 0.4 for FreeBSD-11" [1]. The report provides some details on 
various aspects of the implementation (session management, data-level 
retransmission etc), as of the most recent v0.4 patch [2].


cheers,
nigel

[1] http://caia.swin.edu.au/reports/140822A/CAIA-TR-140822A.pdf
[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html


On 11/07/14 16:50, Nigel Williams wrote:

Hello all,

A new v0.4 patch is available at [1]. This release is mostly bug-fixes
and improvements to core functionality (establishing/closing
connections, retransmissions etc), and also brings the implementation up
to a more recent version of FreeBSD-HEAD.

The full list of changes and caveats can be found in [2] and [3], but
briefly:
- Patched against r265307 of FreeBSD-HEAD. This is prior to some recent
TCP reassembly memory management changes and the patch will be brought
up to a newer revision soon (currently working on integrating those
changes).
- Added data-level retransmits and subflows can now stall and recover
(or timeout) during a connection.
- The path management and packet scheduler are still fairly rudimentary,
and I haven't yet implemented coupled CC.
- The patch is still under heavy development so consider this release
code to be of alpha quality.

This release ties up work that was partially supported by a gift from
The Cisco University Research Program Fund. Future releases will be
supported by a grant from the FreeBSD Foundation.

P.S. I will be working on the patch full-time again so updates should be
a little more frequent from this point onwards.

cheers,
nigel

[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html
[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-changelog-v0.4.txt
[3] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.4.txt



On 11/03/13 03:49, Lawrence Stewart wrote:

Hi all,

The CAIA MPTCP team is pleased to announce the initial release of our
multipath TCP implementation for FreeBSD 10-CURRENT which is available
from [1]. This release contains wire-related protocol code and a lot of
core stack infrastructure. It is capable of running regular TCP flows
and single or multi-subflow MPTCP flows (with some caveats as documented
in the readme [2]).

We consider this code to be of alpha quality and plan to release
frequent updates going forward as we continue to flesh out additional
features and fix the rough edges.

That being said, we welcome everyone to start playing with the code and
provide feedback, bug reports, fixes, praise and/or abuse ;)

The "Multipath TCP for FreeBSD" project team consists of:

   Nigel Williams:lead R&D engineer
   Lawrence Stewart:supporting R&D engineer
   Grenville Armitage:principal investigator & overall project lead

Many thanks go to the Cisco University Research Program Fund at
Community Foundation Silicon Valley for their support of this work.

Have fun with it!

Cheers,
Lawrence, Nigel & Grenville

http://caia.swin.edu.au



[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html

[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.1.txt
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Multipath TCP for FreeBSD v0.4

2014-09-16 Thread Nigel Williams



On 17/09/14 08:48, Sean Bruno wrote:

On Mon, 2014-09-08 at 11:32 +1000, Nigel Williams wrote:

Hi,

We recently released a new tech report "Design Overview of Multipath TCP
version 0.4 for FreeBSD-11" [1]. The report provides some details on
various aspects of the implementation (session management, data-level
retransmission etc), as of the most recent v0.4 patch [2].

cheers,
nigel

[1] http://caia.swin.edu.au/reports/140822A/CAIA-TR-140822A.pdf
[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html




Nigel:

Hi!  Are you folks interested in having this patchset incorporated into
the main line of FreeBSD?  I'm open to putting up a phabricator review
for you folks at https://reviews.freebsd.org if that's something you
guys want to do?

sean



Hi Sean,

Thanks, but I think it's too early to put it into phabricator. The patch 
releases thus far are early test previews for those who are interested 
and perhaps willing to play around with. So in short, it's not 
production quality and not ready for committing to mainline.


I'll continue to announce these patches on the mailing list for the time 
being. I'm of course open to feedback/suggestions/questions and will 
provide documentation with each release.


cheers,
nigel




On 11/07/14 16:50, Nigel Williams wrote:

Hello all,

A new v0.4 patch is available at [1]. This release is mostly bug-fixes
and improvements to core functionality (establishing/closing
connections, retransmissions etc), and also brings the implementation up
to a more recent version of FreeBSD-HEAD.

The full list of changes and caveats can be found in [2] and [3], but
briefly:
- Patched against r265307 of FreeBSD-HEAD. This is prior to some recent
TCP reassembly memory management changes and the patch will be brought
up to a newer revision soon (currently working on integrating those
changes).
- Added data-level retransmits and subflows can now stall and recover
(or timeout) during a connection.
- The path management and packet scheduler are still fairly rudimentary,
and I haven't yet implemented coupled CC.
- The patch is still under heavy development so consider this release
code to be of alpha quality.

This release ties up work that was partially supported by a gift from
The Cisco University Research Program Fund. Future releases will be
supported by a grant from the FreeBSD Foundation.

P.S. I will be working on the patch full-time again so updates should be
a little more frequent from this point onwards.

cheers,
nigel

[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html
[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-changelog-v0.4.txt
[3] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.4.txt



On 11/03/13 03:49, Lawrence Stewart wrote:

Hi all,

The CAIA MPTCP team is pleased to announce the initial release of our
multipath TCP implementation for FreeBSD 10-CURRENT which is available
from [1]. This release contains wire-related protocol code and a lot of
core stack infrastructure. It is capable of running regular TCP flows
and single or multi-subflow MPTCP flows (with some caveats as documented
in the readme [2]).

We consider this code to be of alpha quality and plan to release
frequent updates going forward as we continue to flesh out additional
features and fix the rough edges.

That being said, we welcome everyone to start playing with the code and
provide feedback, bug reports, fixes, praise and/or abuse ;)

The "Multipath TCP for FreeBSD" project team consists of:

Nigel Williams:lead R&D engineer
Lawrence Stewart:supporting R&D engineer
Grenville Armitage:principal investigator & overall project lead

Many thanks go to the Cisco University Research Program Fund at
Community Foundation Silicon Valley for their support of this work.

Have fun with it!

Cheers,
Lawrence, Nigel & Grenville

http://caia.swin.edu.au



[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html

[2] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/mptcp-readme-v0.1.txt
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"




___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Multipath TCP for FreeBSD v0.5

2015-08-31 Thread Nigel Williams

Hi,

A new mptcp v0.5 patch is available at 
http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html. This release 
represents a near-complete rewrite of the v0.4 implementation and as 
such there have been a large number of changes (see [1] and [2]). The 
patch applies against r285254 of HEAD.


Current functionality is slightly advanced of the previous patch, though 
the new code base should allow for an increased rate of improvement over 
the next few months. I'm hoping to keep to release incremental updates 
on a more regular basis over this time period.


Along with the patch there are also pre-configured VMs and a pre-built 
kernel binary available for download, for those who want to try it out 
without going through the patching/building process. There is also a set 
of scripts that demonstrate some basic multi-path connections.


The patch is still under heavy development and testing so consider this 
release code to be of alpha quality (expect bugs/panics etc). Currently 
it supports MPTCP for FreeBSD-to-FreeBSD connections only. Feedback re 
bugs encountered or suggestions on code/design improvements is welcome.


To come in the near future:
- A public-facing source repository
- A report that details the design of the current implementation

This work has been made possible in part by grants from the FreeBSD 
Foundation, and The Cisco University Research Program Fund at Community 
Foundation Silicon Valley.


cheers,
nigel

[1] http://caia.swin.edu.au/urp/newtcp/mptcp/tools/v05/mptcp-readme-v0.5.txt
[2] 
http://caia.swin.edu.au/urp/newtcp/mptcp/tools/v05/mptcp-changelog-v0.5.txt

___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Multipath TCP for FreeBSD v0.5

2015-09-16 Thread Nigel Williams

Hi Nils,

On 16/09/15 20:52, Nils Beyer wrote:

Hi Nigel,

Nigel Williams wrote:

A new mptcp v0.5 patch is available at
http://caia.swin.edu.au/urp/newtcp/mptcp/tools.html.


thanks for the new patch. I've tried your provided VirtualBox VM "FB11-test1".

Unfortunately, standard TCP-connections aren't working. For instance, after I
execute:

fetch -o - 'http://www.google.com'

I get an incomplete transfer that times out after a while. Sometimes I get
a kernel panic (s. attached screenshot).

Then I tried the patch on real hardware (built my own kernel as described).
Same behaviour.

Is it intended that the current implementation is not backwards compatible
to non-MPTCP-connections? If you need any more details, feel free to contact
me...



Thanks for taking a look at the patch. The patch should be backwards 
compatible with TCP, though as you've observed there are still issues 
with stalls and crashes (I've only so far done limited testing within my 
testbed).


I was able to replicate the stall on one of the VMs - so I'll take a 
look at what might be happening. Thanks for letting me know.


cheers,
nigel




Regards,
Nils
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


MPTCP for FreeBSD repository on BitBucket/v0.51 update

2015-10-18 Thread Nigel Williams

Hi,

The MPTCP code is now available as a mercurial repository:
- Repository: https://bitbucket.org/nw-swin/caia-mptcp-freebsd
- Wiki: https://bitbucket.org/nw-swin/caia-mptcp-freebsd/wiki/

For those interested in trying the implementation/looking at the code, 
this should hopefully make the process a little easier (and save having 
to patch in updates). It should also make it possible to contribute code 
for those wishing to do so.


Some details:
- Has been branched off 'freebsd-head' at 
'http://hg-beta.freebsd.org/base', and will be merged on a weekly basis.
- I will be working off this repository so it will be up-to-date with 
recent changes.

- In place of patch releases, release versions will now be tagged.
- I'll also start to populate the 'Issues' section so that there is a 
better picture of current bugs/things TBD.


The version has also been updated to v0.51. See:
- http://caia.swin.edu.au/newtcp/mptcp/tools.html
- OR https://bitbucket.org/nw-swin/caia-mptcp-freebsd/wiki/Home

Functionally-wise this hasn't changed from the previous version, but has 
been merged with a recent revision of head.


cheers,
nigel
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: MPTCP for FreeBSD repository on BitBucket/v0.51 update

2015-10-19 Thread Nigel Williams

Hi,

Fixed. It should just have been that file.

cheers,
nigel

On 20/10/15 09:50, Outback Dingo wrote:

Nigel...

seriously...

/*-^M
  * Copyright (c) 2012-2015^M
  *  Swinburne University of Technology, Melbourne, Australia.^M
  * All rights reserved.^M
  *^M
  * This software was developed at the Centre for Advanced Internet^M
  * Architectures, Swinburne University of Technology, by Nigel Williams
and^M
  * Lawrence Stewart, made possible in part by a gift from the FreeBSD^M
  * Foundation and The Cisco University Research Program Fund, a corporate^M
  * advised fund of Silicon Valley Community Foundation.^M
  *^M
  * Redistribution and use in source and binary forms, with or without^M
  * modification, are permitted provided that the following conditions^M
  * are met:^M
  * 1. Redistributions of source code must retain the above copyright^M
  *notice, this list of conditions and the following disclaimer.^M
  * 2. Redistributions in binary form must reproduce the above copyright^M
  *notice, this list of conditions and the following disclaimer in the^M
  *documentation and/or other materials provided with the
distribution.^M
  *^M
  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS''
AND^M
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE^M
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE^M
  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
LIABLE^M
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL^M
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS^M
  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)^M
  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT^M
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY^M
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF^M
  * SUCH DAMAGE.^M
  */^M
^M
/*^M
  * mptcp.h^M
  *^M
  *  Created on: 15/05/2012^M
  *  Author: nwilliams^M
  */^M
^M
#ifndef MPTCP_H_^M
#define MPTCP_H_^M
^M
^M
#include ^M
^M
#define MPTCP_64BIT_KEY 8^M
^M
typedef u_int64_t mptcp_seq;^M
^M
/* MPTCP subtypes */^M
#define MPTCP_SUBTYPE_MP_CAPABLE0^M
#define MPTCP_SUBLEN_MP_CAPABLE_SYN 12^M
#define MPTCP_SUBLEN_MP_CAPABLE_ACK 20^M
^M
#define MPTCP_SUBTYPE_MP_JOIN   1^M
#define MPTCP_SUBLEN_MP_JOIN_SYN12^M
#define MPTCP_SUBLEN_MP_JOIN_SYNACK 16  //
should be 16, but run out of option space^M
#define MPTCP_SUBLEN_MP_JOIN_ACK24  //
should be 24, but run out of option space^M
^M
#define MPTCP_SUBTYPE_DSS   2^M
#define MPTCP_SUBLEN_DSS_DATA_ACK   XX^M
#define MPTCP_SUBLEN_DSS_DATA_DSN   XX^M
^M
#define MPTCP_SUBTYPE_ADD_ADDR  3^M
#define MPTCP_SUBLEN_ADD_ADDRV4 8^M
#define MPTCP_SUBLEN_ADD_ADDRV6 20^M
^M
#define MPTCP_SUBTYPE_REMOVE_ADDR   4^M
#define MPTCP_SUBLEN_REMOVE_ADDR4^M
^M
#define MPTCP_SUBTYPE_MP_PRIO   5^M
^M
#define MPTCP_SUBTYPE_MP_FAIL   6^M
#define MPTCP_SUBTYPELEN_MP_FAIL12^M
^M
#define MPTCP_SUBTYPE_MP_FASTCLOSE  7^M
#define MPTCP_SUBTYPELEN_MP_FASTCLOSE 12^M
^M
#define MAX_MP_OPLEN28^M
^M
/* mptcp errors */^M
^M
#define EMAXSUBFLOWSREACHED 01^M
#define ENOMPCB 02^M
#define ENOTCPCB 03^M
^M
/* mptcp funcs */^M
^M
^M
#define MPTCP_SA_NAME_MAX   16  /* max scheduler discipline name
length */^M
^M
#endif /* MPTCP_H_ */^M


On Mon, Oct 19, 2015 at 1:42 PM, Nigel Williams mailto:njwilli...@swin.edu.au>> wrote:

Hi,

The MPTCP code is now available as a mercurial repository:
- Repository: https://bitbucket.org/nw-swin/caia-mptcp-freebsd
- Wiki: https://bitbucket.org/nw-swin/caia-mptcp-freebsd/wiki/

For those interested in trying the implementation/looking at the
code, this should hopefully make the process a little easier (and
save having to patch in updates). It should also make it possible to
contribute code for those wishing to do so.

Some details:
- Has been branched off 'freebsd-head' at
'http://hg-beta.freebsd.org/base', and will be merged on a weekly basis.
- I will be working off this repository so it will be up-to-date
with recent changes.
- In place of patch releases, release versions will now be tagged.
- I'll also start to populate the 'Issues' section so that there is
a better picture of current bugs/things TBD.

The version has also been updated to v0.51. See:
- http://caia.swin.edu.au/newtcp/mptcp/tools.html
- OR https://bitbucket.org/nw-swin/caia-mptcp-freebsd/wiki/Home

Functionally-wise this hasn't changed from the previous version, but
has been merge

Re: MPTCP for FreeBSD repository on BitBucket/v0.51 update

2015-10-22 Thread Nigel Williams

Hi George,



Very nice!  Just wondering how you're testing this out.  I've been
working on a lot of networking
tests and I'm sure MPTCP introduces some interesting complications.



Right now the tests are quite simple - based off the shell scripts and 
topology here: https://bitbucket.org/nw-swin/caia-mptcp-files/src


These are mostly quick and dirty tests to catch regressions (I'm still 
making some fairly broad changes to the implementation). They provide 
basic MP connections and some dummynet control to adjust the link 
characteristics.


I don't yet have anything where I can easily script-in topology changes, 
bring links up and down mid-connection, introduce cross traffic, etc... 
but the plan is to move to that kind of set up.


And it's probably worth mentioning I've just been running my tests in 
VMs, though I'd like to run tests on hardware once I squash some of the 
stability issues.


cheers,
nigel
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Multipath TCP, what's the progress, if there is any?

2018-02-11 Thread Nigel Williams
Hi Dingo,

On 26/01/2018 09:37, Outback Dingo wrote:
>* On Thu, Jan 25, 2018 at 4:21 PM, Peter G. > wrote:
*>>* A few years back a working group announced their work on MPTCP for FreeBSD,
*>>* http://caia.swin.edu.au/newtcp/mptcp/.
 Around that time also a QR
mentioned
*>>* the project,
*>>* 
https://www.freebsd.org/news/status/report-2013-01-2013-03.html#Multipath-TCP-(MPTCP
)-for-FreeBSD
** Since then all of this seems to have gone silent. The only
recent mention is
*>>* this page,
*>>* https://www.freebsdfoundation.org/project/multipath-tcp-for-freebsd/

** Is the development truly ongoing against HEAD? Where can I find any
*>>* up-to-date info regarding this? Can't find anything.
*> >* their bitbucket of the code base is here, though nothing since 2016,
*>* and i believe CAIA working group itself is now merged with something
*>* else at uni of Swinborne
*>* https://bitbucket.org/nw-swin/caia-mptcp-freebsd
*

Had to relocate for a new job and had limited time to spend on this last
year. Did some work but this wasn't pushed into the public repository.
Intend to pick this up again this year in my spare time. I don't have
access to my old Swinburne email so if you had any questions you can
contact me at this gmail address.

cheers,
nigel
___
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"