All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] [PATCH 1/2] mptcp: reduce number of pr_debug() calls.
@ 2019-06-08  0:40 Peter Krystad
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Krystad @ 2019-06-08  0:40 UTC (permalink / raw)
  To: mptcp 

[-- Attachment #1: Type: text/plain, Size: 2727 bytes --]

squashto: Handle MPTCP TCP options

Signed-off-by: Peter Krystad <peter.krystad(a)linux.intel.com>
---
 net/mptcp/options.c | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/net/mptcp/options.c b/net/mptcp/options.c
index 1bee4a267fd8..cad1702323a3 100644
--- a/net/mptcp/options.c
+++ b/net/mptcp/options.c
@@ -13,7 +13,7 @@
 void mptcp_parse_option(const unsigned char *ptr, int opsize,
 			struct tcp_options_received *opt_rx)
 {
-	struct mptcp_options_received *mp_opt;
+	struct mptcp_options_received *mp_opt = &opt_rx->mptcp;
 	u8 subtype = *ptr >> 4;
 	int expected_opsize;
 
@@ -29,25 +29,29 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
 		    opsize != TCPOLEN_MPTCP_MPC_SYNACK)
 			break;
 
-		pr_debug("MP_CAPABLE");
-		opt_rx->mptcp.version = *ptr++ & MPTCPOPT_VERSION_MASK;
-		if (opt_rx->mptcp.version != 0)
+		mp_opt->version = *ptr++ & MPTCPOPT_VERSION_MASK;
+		if (mp_opt->version != 0)
 			break;
 
-		pr_debug("flags=%02x", *ptr);
-		opt_rx->mptcp.flags = *ptr++;
-		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) == MPTCP_CAP_HMAC_SHA1) ||
+		mp_opt->flags = *ptr++;
+		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) ==
+		    MPTCP_CAP_HMAC_SHA1) ||
 		    (opt_rx->mptcp.flags & MPTCP_CAP_EXTENSIBILITY))
 			break;
 
-		opt_rx->mptcp.mp_capable = 1;
-		opt_rx->mptcp.sndr_key = get_unaligned_be64(ptr);
-		pr_debug("sndr_key=%llu", opt_rx->mptcp.sndr_key);
+		mp_opt->mp_capable = 1;
+		mp_opt->sndr_key = get_unaligned_be64(ptr);
 		ptr += 8;
+
 		if (opsize == TCPOLEN_MPTCP_MPC_SYNACK) {
-			opt_rx->mptcp.rcvr_key = get_unaligned_be64(ptr);
-			pr_debug("rcvr_key=%llu", opt_rx->mptcp.rcvr_key);
+			mp_opt->rcvr_key = get_unaligned_be64(ptr);
 			ptr += 8;
+			pr_debug("MP_CAPABLE flags=%x, sndr=%llu, rcvr=%llu",
+				 mp_opt->flags, mp_opt->sndr_key,
+				 mp_opt->rcvr_key);
+		} else {
+			pr_debug("MP_CAPABLE flags=%x, sndr=%llu",
+				 mp_opt->flags, mp_opt->sndr_key);
 		}
 		break;
 
@@ -83,7 +87,6 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
 	 */
 	case MPTCPOPT_DSS:
 		pr_debug("DSS");
-		mp_opt = &opt_rx->mptcp;
 		mp_opt->dss = 1;
 		ptr++;
 
@@ -399,10 +402,8 @@ void mptcp_write_options(__be32 *ptr, struct mptcp_out_options *opts)
 
 		if (OPTION_MPTCP_MPC_SYN & opts->suboptions)
 			len = TCPOLEN_MPTCP_MPC_SYN;
-		else if (OPTION_MPTCP_MPC_SYNACK & opts->suboptions)
-			len = TCPOLEN_MPTCP_MPC_SYNACK;
 		else
-			len = TCPOLEN_MPTCP_MPC_ACK;
+			len = TCPOLEN_MPTCP_MPC_SYNACK;
 
 		*ptr++ = htonl((TCPOPT_MPTCP << 24) | (len << 16) |
 			       (MPTCPOPT_MP_CAPABLE << 12) |
-- 
2.17.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [MPTCP] [PATCH 1/2] mptcp: reduce number of pr_debug() calls.
@ 2019-06-11 11:48 Matthieu Baerts
  0 siblings, 0 replies; 4+ messages in thread
From: Matthieu Baerts @ 2019-06-11 11:48 UTC (permalink / raw)
  To: mptcp 

[-- Attachment #1: Type: text/plain, Size: 4251 bytes --]

Hi Peter,

On 08/06/2019 02:40, Peter Krystad wrote:
> squashto: Handle MPTCP TCP options

Thank you for the new patch!

I have two questions, please see below.

> Signed-off-by: Peter Krystad <peter.krystad(a)linux.intel.com>
> ---
>  net/mptcp/options.c | 33 +++++++++++++++++----------------
>  1 file changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/net/mptcp/options.c b/net/mptcp/options.c
> index 1bee4a267fd8..cad1702323a3 100644
> --- a/net/mptcp/options.c
> +++ b/net/mptcp/options.c
> @@ -13,7 +13,7 @@
>  void mptcp_parse_option(const unsigned char *ptr, int opsize,
>  			struct tcp_options_received *opt_rx)
>  {
> -	struct mptcp_options_received *mp_opt;
> +	struct mptcp_options_received *mp_opt = &opt_rx->mptcp;
>  	u8 subtype = *ptr >> 4;
>  	int expected_opsize;
>  
> @@ -29,25 +29,29 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
>  		    opsize != TCPOLEN_MPTCP_MPC_SYNACK)
>  			break;
>  
> -		pr_debug("MP_CAPABLE");
> -		opt_rx->mptcp.version = *ptr++ & MPTCPOPT_VERSION_MASK;
> -		if (opt_rx->mptcp.version != 0)
> +		mp_opt->version = *ptr++ & MPTCPOPT_VERSION_MASK;
> +		if (mp_opt->version != 0)
>  			break;
>  
> -		pr_debug("flags=%02x", *ptr);
> -		opt_rx->mptcp.flags = *ptr++;
> -		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) == MPTCP_CAP_HMAC_SHA1) ||
> +		mp_opt->flags = *ptr++;
> +		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) ==
> +		    MPTCP_CAP_HMAC_SHA1) ||
>  		    (opt_rx->mptcp.flags & MPTCP_CAP_EXTENSIBILITY))
>  			break;

detail: could we use "mp_opt->flags" here instead of
"opt_rx->mptcp.flags" used twice here above.

>  
> -		opt_rx->mptcp.mp_capable = 1;
> -		opt_rx->mptcp.sndr_key = get_unaligned_be64(ptr);
> -		pr_debug("sndr_key=%llu", opt_rx->mptcp.sndr_key);
> +		mp_opt->mp_capable = 1;
> +		mp_opt->sndr_key = get_unaligned_be64(ptr);
>  		ptr += 8;
> +
>  		if (opsize == TCPOLEN_MPTCP_MPC_SYNACK) {
> -			opt_rx->mptcp.rcvr_key = get_unaligned_be64(ptr);
> -			pr_debug("rcvr_key=%llu", opt_rx->mptcp.rcvr_key);
> +			mp_opt->rcvr_key = get_unaligned_be64(ptr);
>  			ptr += 8;
> +			pr_debug("MP_CAPABLE flags=%x, sndr=%llu, rcvr=%llu",
> +				 mp_opt->flags, mp_opt->sndr_key,
> +				 mp_opt->rcvr_key);
> +		} else {
> +			pr_debug("MP_CAPABLE flags=%x, sndr=%llu",
> +				 mp_opt->flags, mp_opt->sndr_key);
>  		}
>  		break;
>  
> @@ -83,7 +87,6 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
>  	 */
>  	case MPTCPOPT_DSS:
>  		pr_debug("DSS");
> -		mp_opt = &opt_rx->mptcp;
>  		mp_opt->dss = 1;
>  		ptr++;
>  
> @@ -399,10 +402,8 @@ void mptcp_write_options(__be32 *ptr, struct mptcp_out_options *opts)
>  
>  		if (OPTION_MPTCP_MPC_SYN & opts->suboptions)
>  			len = TCPOLEN_MPTCP_MPC_SYN;
> -		else if (OPTION_MPTCP_MPC_SYNACK & opts->suboptions)
> -			len = TCPOLEN_MPTCP_MPC_SYNACK;
>  		else
> -			len = TCPOLEN_MPTCP_MPC_ACK;
> +			len = TCPOLEN_MPTCP_MPC_SYNACK;

I am not sure to follow why you did this change. It doesn't seem to be
related to the pr_debug() calls. Are you doing that because
TCPOLEN_MPTCP_MPC_ACK == TCPOLEN_MPTCP_MPC_SYNACK == 20?

3 commits are modifying this first block in mptcp_write_options():
- 47168d901887 (mptcp: Handle MPTCP TCP options)
- 5e4c2881c7c9 (mptcp: Handle MP_CAPABLE options for outgoing connections)
- 447773e0cd92 (mptcp: Create SUBFLOW socket for incoming connections)

The first one introduces this block (with "OPTION_MPTCP_MPC_SYNACK").
The second one removes "OPTION_MPTCP_MPC_SYNACK" condition.
The third one re-adds "OPTION_MPTCP_MPC_SYNACK".

Should we not introduce "OPTION_MPTCP_MPC_SYNACK" condition only at the
3rd patch and keep:

    else if (OPTION_MPTCP_MPC_SYNACK & opts->suboptions)

for clarity purposes?

It's a detail but it is blocking me to know how to apply this patch
correctly and avoid this add/remove/re-add :)

Cheers,
Matt

>  		*ptr++ = htonl((TCPOPT_MPTCP << 24) | (len << 16) |
>  			       (MPTCPOPT_MP_CAPABLE << 12) |
> 

-- 
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [MPTCP] [PATCH 1/2] mptcp: reduce number of pr_debug() calls.
@ 2019-06-11 17:17 Peter Krystad
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Krystad @ 2019-06-11 17:17 UTC (permalink / raw)
  To: mptcp 

[-- Attachment #1: Type: text/plain, Size: 4759 bytes --]


See my responses inline:

On Tue, 2019-06-11 at 13:48 +0200, Matthieu Baerts wrote:
> Hi Peter,
> 
> On 08/06/2019 02:40, Peter Krystad wrote:
> > squashto: Handle MPTCP TCP options
> 
> Thank you for the new patch!
> 
> I have two questions, please see below.
> 
> > Signed-off-by: Peter Krystad <peter.krystad(a)linux.intel.com>
> > ---
> >  net/mptcp/options.c | 33 +++++++++++++++++----------------
> >  1 file changed, 17 insertions(+), 16 deletions(-)
> > 
> > diff --git a/net/mptcp/options.c b/net/mptcp/options.c
> > index 1bee4a267fd8..cad1702323a3 100644
> > --- a/net/mptcp/options.c
> > +++ b/net/mptcp/options.c
> > @@ -13,7 +13,7 @@
> >  void mptcp_parse_option(const unsigned char *ptr, int opsize,
> >  			struct tcp_options_received *opt_rx)
> >  {
> > -	struct mptcp_options_received *mp_opt;
> > +	struct mptcp_options_received *mp_opt = &opt_rx->mptcp;
> >  	u8 subtype = *ptr >> 4;
> >  	int expected_opsize;
> >  
> > @@ -29,25 +29,29 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
> >  		    opsize != TCPOLEN_MPTCP_MPC_SYNACK)
> >  			break;
> >  
> > -		pr_debug("MP_CAPABLE");
> > -		opt_rx->mptcp.version = *ptr++ & MPTCPOPT_VERSION_MASK;
> > -		if (opt_rx->mptcp.version != 0)
> > +		mp_opt->version = *ptr++ & MPTCPOPT_VERSION_MASK;
> > +		if (mp_opt->version != 0)
> >  			break;
> >  
> > -		pr_debug("flags=%02x", *ptr);
> > -		opt_rx->mptcp.flags = *ptr++;
> > -		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) == MPTCP_CAP_HMAC_SHA1) ||
> > +		mp_opt->flags = *ptr++;
> > +		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) ==
> > +		    MPTCP_CAP_HMAC_SHA1) ||
> >  		    (opt_rx->mptcp.flags & MPTCP_CAP_EXTENSIBILITY))
> >  			break;
> 
> detail: could we use "mp_opt->flags" here instead of
> "opt_rx->mptcp.flags" used twice here above.

Sure.

> >  
> > -		opt_rx->mptcp.mp_capable = 1;
> > -		opt_rx->mptcp.sndr_key = get_unaligned_be64(ptr);
> > -		pr_debug("sndr_key=%llu", opt_rx->mptcp.sndr_key);
> > +		mp_opt->mp_capable = 1;
> > +		mp_opt->sndr_key = get_unaligned_be64(ptr);
> >  		ptr += 8;
> > +
> >  		if (opsize == TCPOLEN_MPTCP_MPC_SYNACK) {
> > -			opt_rx->mptcp.rcvr_key = get_unaligned_be64(ptr);
> > -			pr_debug("rcvr_key=%llu", opt_rx->mptcp.rcvr_key);
> > +			mp_opt->rcvr_key = get_unaligned_be64(ptr);
> >  			ptr += 8;
> > +			pr_debug("MP_CAPABLE flags=%x, sndr=%llu, rcvr=%llu",
> > +				 mp_opt->flags, mp_opt->sndr_key,
> > +				 mp_opt->rcvr_key);
> > +		} else {
> > +			pr_debug("MP_CAPABLE flags=%x, sndr=%llu",
> > +				 mp_opt->flags, mp_opt->sndr_key);
> >  		}
> >  		break;
> >  
> > @@ -83,7 +87,6 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
> >  	 */
> >  	case MPTCPOPT_DSS:
> >  		pr_debug("DSS");
> > -		mp_opt = &opt_rx->mptcp;
> >  		mp_opt->dss = 1;
> >  		ptr++;
> >  
> > @@ -399,10 +402,8 @@ void mptcp_write_options(__be32 *ptr, struct mptcp_out_options *opts)
> >  
> >  		if (OPTION_MPTCP_MPC_SYN & opts->suboptions)
> >  			len = TCPOLEN_MPTCP_MPC_SYN;
> > -		else if (OPTION_MPTCP_MPC_SYNACK & opts->suboptions)
> > -			len = TCPOLEN_MPTCP_MPC_SYNACK;
> >  		else
> > -			len = TCPOLEN_MPTCP_MPC_ACK;
> > +			len = TCPOLEN_MPTCP_MPC_SYNACK;
> 
> I am not sure to follow why you did this change. It doesn't seem to be
> related to the pr_debug() calls. Are you doing that because
> TCPOLEN_MPTCP_MPC_ACK == TCPOLEN_MPTCP_MPC_SYNACK == 20?

I'll pull this out of the patch, not sure why I did this here either, it was 
fine as is.

> 3 commits are modifying this first block in mptcp_write_options():
> - 47168d901887 (mptcp: Handle MPTCP TCP options)
> - 5e4c2881c7c9 (mptcp: Handle MP_CAPABLE options for outgoing connections)
> - 447773e0cd92 (mptcp: Create SUBFLOW socket for incoming connections)
> 
> The first one introduces this block (with "OPTION_MPTCP_MPC_SYNACK").
> The second one removes "OPTION_MPTCP_MPC_SYNACK" condition.
> The third one re-adds "OPTION_MPTCP_MPC_SYNACK".
> 
> Should we not introduce "OPTION_MPTCP_MPC_SYNACK" condition only at the
> 3rd patch and keep:
> 
>     else if (OPTION_MPTCP_MPC_SYNACK & opts->suboptions)
> 
> for clarity purposes?

Yes, use of the OPTION_MPTCP_MPC_SYNACK condition should be added by the
"incoming connections" commit. A long time ago I split a single commit into
the current "incoming" and "outgoing" commits, and did not get this part quite
clean enough.

Peter.


> 
> It's a detail but it is blocking me to know how to apply this patch
> correctly and avoid this add/remove/re-add :)
> 
> Cheers,
> Matt
> 
> >  		*ptr++ = htonl((TCPOPT_MPTCP << 24) | (len << 16) |
> >  			       (MPTCPOPT_MP_CAPABLE << 12) |
> > 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [MPTCP] [PATCH 1/2] mptcp: reduce number of pr_debug() calls.
@ 2019-06-11 20:14 Matthieu Baerts
  0 siblings, 0 replies; 4+ messages in thread
From: Matthieu Baerts @ 2019-06-11 20:14 UTC (permalink / raw)
  To: mptcp 

[-- Attachment #1: Type: text/plain, Size: 5334 bytes --]

Hi Peter,

On 11/06/2019 19:17, Peter Krystad wrote:
> 
> See my responses inline:
> 
> On Tue, 2019-06-11 at 13:48 +0200, Matthieu Baerts wrote:
>> Hi Peter,
>>
>> On 08/06/2019 02:40, Peter Krystad wrote:
>>> squashto: Handle MPTCP TCP options
>>
>> Thank you for the new patch!
>>
>> I have two questions, please see below.
>>
>>> Signed-off-by: Peter Krystad <peter.krystad(a)linux.intel.com>
>>> ---
>>>  net/mptcp/options.c | 33 +++++++++++++++++----------------
>>>  1 file changed, 17 insertions(+), 16 deletions(-)
>>>
>>> diff --git a/net/mptcp/options.c b/net/mptcp/options.c
>>> index 1bee4a267fd8..cad1702323a3 100644
>>> --- a/net/mptcp/options.c
>>> +++ b/net/mptcp/options.c
>>> @@ -13,7 +13,7 @@
>>>  void mptcp_parse_option(const unsigned char *ptr, int opsize,
>>>  			struct tcp_options_received *opt_rx)
>>>  {
>>> -	struct mptcp_options_received *mp_opt;
>>> +	struct mptcp_options_received *mp_opt = &opt_rx->mptcp;
>>>  	u8 subtype = *ptr >> 4;
>>>  	int expected_opsize;
>>>  
>>> @@ -29,25 +29,29 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
>>>  		    opsize != TCPOLEN_MPTCP_MPC_SYNACK)
>>>  			break;
>>>  
>>> -		pr_debug("MP_CAPABLE");
>>> -		opt_rx->mptcp.version = *ptr++ & MPTCPOPT_VERSION_MASK;
>>> -		if (opt_rx->mptcp.version != 0)
>>> +		mp_opt->version = *ptr++ & MPTCPOPT_VERSION_MASK;
>>> +		if (mp_opt->version != 0)
>>>  			break;
>>>  
>>> -		pr_debug("flags=%02x", *ptr);
>>> -		opt_rx->mptcp.flags = *ptr++;
>>> -		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) == MPTCP_CAP_HMAC_SHA1) ||
>>> +		mp_opt->flags = *ptr++;
>>> +		if (!((opt_rx->mptcp.flags & MPTCP_CAP_FLAG_MASK) ==
>>> +		    MPTCP_CAP_HMAC_SHA1) ||
>>>  		    (opt_rx->mptcp.flags & MPTCP_CAP_EXTENSIBILITY))
>>>  			break;
>>
>> detail: could we use "mp_opt->flags" here instead of
>> "opt_rx->mptcp.flags" used twice here above.
> 
> Sure.
> 
>>>  
>>> -		opt_rx->mptcp.mp_capable = 1;
>>> -		opt_rx->mptcp.sndr_key = get_unaligned_be64(ptr);
>>> -		pr_debug("sndr_key=%llu", opt_rx->mptcp.sndr_key);
>>> +		mp_opt->mp_capable = 1;
>>> +		mp_opt->sndr_key = get_unaligned_be64(ptr);
>>>  		ptr += 8;
>>> +
>>>  		if (opsize == TCPOLEN_MPTCP_MPC_SYNACK) {
>>> -			opt_rx->mptcp.rcvr_key = get_unaligned_be64(ptr);
>>> -			pr_debug("rcvr_key=%llu", opt_rx->mptcp.rcvr_key);
>>> +			mp_opt->rcvr_key = get_unaligned_be64(ptr);
>>>  			ptr += 8;
>>> +			pr_debug("MP_CAPABLE flags=%x, sndr=%llu, rcvr=%llu",
>>> +				 mp_opt->flags, mp_opt->sndr_key,
>>> +				 mp_opt->rcvr_key);
>>> +		} else {
>>> +			pr_debug("MP_CAPABLE flags=%x, sndr=%llu",
>>> +				 mp_opt->flags, mp_opt->sndr_key);
>>>  		}
>>>  		break;
>>>  
>>> @@ -83,7 +87,6 @@ void mptcp_parse_option(const unsigned char *ptr, int opsize,
>>>  	 */
>>>  	case MPTCPOPT_DSS:
>>>  		pr_debug("DSS");
>>> -		mp_opt = &opt_rx->mptcp;
>>>  		mp_opt->dss = 1;
>>>  		ptr++;
>>>  
>>> @@ -399,10 +402,8 @@ void mptcp_write_options(__be32 *ptr, struct mptcp_out_options *opts)
>>>  
>>>  		if (OPTION_MPTCP_MPC_SYN & opts->suboptions)
>>>  			len = TCPOLEN_MPTCP_MPC_SYN;
>>> -		else if (OPTION_MPTCP_MPC_SYNACK & opts->suboptions)
>>> -			len = TCPOLEN_MPTCP_MPC_SYNACK;
>>>  		else
>>> -			len = TCPOLEN_MPTCP_MPC_ACK;
>>> +			len = TCPOLEN_MPTCP_MPC_SYNACK;
>>
>> I am not sure to follow why you did this change. It doesn't seem to be
>> related to the pr_debug() calls. Are you doing that because
>> TCPOLEN_MPTCP_MPC_ACK == TCPOLEN_MPTCP_MPC_SYNACK == 20?
> 
> I'll pull this out of the patch, not sure why I did this here either, it was 
> fine as is.

Thank you for this new patch!

>> 3 commits are modifying this first block in mptcp_write_options():
>> - 47168d901887 (mptcp: Handle MPTCP TCP options)
>> - 5e4c2881c7c9 (mptcp: Handle MP_CAPABLE options for outgoing connections)
>> - 447773e0cd92 (mptcp: Create SUBFLOW socket for incoming connections)
>>
>> The first one introduces this block (with "OPTION_MPTCP_MPC_SYNACK").
>> The second one removes "OPTION_MPTCP_MPC_SYNACK" condition.
>> The third one re-adds "OPTION_MPTCP_MPC_SYNACK".
>>
>> Should we not introduce "OPTION_MPTCP_MPC_SYNACK" condition only at the
>> 3rd patch and keep:
>>
>>     else if (OPTION_MPTCP_MPC_SYNACK & opts->suboptions)
>>
>> for clarity purposes?
> 
> Yes, use of the OPTION_MPTCP_MPC_SYNACK condition should be added by the
> "incoming connections" commit. A long time ago I split a single commit into
> the current "incoming" and "outgoing" commits, and did not get this part quite
> clean enough.

Thank you for this explanation!
I just cleaned that!

- f1eea07b5639: clean "mptcp: Handle MPTCP TCP options"
- no signed-off modified for this
- 3a58fe749160..6614ebdd54b7: result: the code is still the same as before

Cheers,
Matt

> Peter.
> 
> 
>>
>> It's a detail but it is blocking me to know how to apply this patch
>> correctly and avoid this add/remove/re-add :)
>>
>> Cheers,
>> Matt
>>
>>>  		*ptr++ = htonl((TCPOPT_MPTCP << 24) | (len << 16) |
>>>  			       (MPTCPOPT_MP_CAPABLE << 12) |
>>>
> 

-- 
Matthieu Baerts | R&D Engineer
matthieu.baerts(a)tessares.net
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-06-11 20:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-08  0:40 [MPTCP] [PATCH 1/2] mptcp: reduce number of pr_debug() calls Peter Krystad
  -- strict thread matches above, loose matches on Subject: below --
2019-06-11 11:48 Matthieu Baerts
2019-06-11 17:17 Peter Krystad
2019-06-11 20:14 Matthieu Baerts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.