All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Davide Caratti <dcaratti@redhat.com>
Cc: David Laight <David.Laight@aculab.com>,
	Tom Herbert <tom@herbertland.com>,
	"David S . Miller" <davem@davemloft.net>,
	Linux Kernel Network Developers <netdev@vger.kernel.org>,
	"linux-sctp @ vger . kernel . org" <linux-sctp@vger.kernel.org>,
	Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Subject: Re: [PATCH RFC net-next v2 1/4] skbuff: add stub to help computing crc32c on SCTP packets
Date: Tue, 7 Mar 2017 10:06:26 -0800	[thread overview]
Message-ID: <CAKgT0Uf6i+TmMyywgT7-X=n+P+a4_U1Z+Qrts7v1=v79MPsS+w@mail.gmail.com> (raw)
In-Reply-To: <1488837077.3068.13.camel@redhat.com>

On Mon, Mar 6, 2017 at 1:51 PM, Davide Caratti <dcaratti@redhat.com> wrote:
> On Tue, 2017-02-28 at 14:46 -0800, Alexander Duyck wrote:
>> On Tue, Feb 28, 2017 at 2:32 AM, Davide Caratti <dcaratti@redhat.com> wrote:
>> >
>> > sctp_compute_checksum requires crc32c symbol (provided by libcrc32c), so
>> > it can't be used in net core. Like it has been done previously with other
>> > symbols (e.g. ipv6_dst_lookup), introduce a stub struct skb_checksum_ops
>> > to allow computation of SCTP checksum in net core after sctp.ko (and thus
>> > libcrc32c) has been loaded.
>>
>> At a minimum the name really needs to change.  SCTP does not do
>> checksums.  It does a CRC, and a CRC is a very different thing.  The
>> fact that somebody decided that offloading a CRC could use the same
>> framework is very unfortunate, and your patch descriptions in this
>> whole set are calling out a CRC as checksums which it is not.
>
> hello Alexander,
>
> thank you for contributing to this topic. I see there has been a similar
> discussion some months ago
> (https://www.mail-archive.com/netdev@vger.kernel.org/msg94955.html).
>
>> I don't want to see anything "checksum" or "csum" related in the
>> naming when it comes to dealing with SCTP unless we absolutely have
>> to have it.  So any function names or structures with sctp in the name
>> should call out "crc32" or "crc", please don't use checksum.
>
> On Wed, 2017-03-01 at 10:53 +0000, David Laight wrote:
>> Then also change all the places that refer the IP 1's compliment
>> checksum to ipchecksum.
>
> (but crc32 uses a different polynomial than crc32c! :-) ) I understand
> your concerns, nevertheless we are writing to a member of struct sctphdr
> whose name is 'checksum' since the earliest introduction of SCTP; moreover,
> similar terminology ('crc32c checksum') is used throughout all RFC4960.
> That's why I don't think anybody will be confused by usage of 'csum' or
> 'checksum' words.
>
> On Tue, 2017-02-28 at 19:17 -0800, Tom Herbert wrote:
>> I agree that internal functions to sctp should not refer to checksum,
>> but I think we need to take care to be consistent with any external
>> API (even if somebody made a mistake defining it this way :-) ). As
>> you know the checksum interface must be very precisely defined, there
>> is no leeway for ambiguity.
>
> We can make the new symbols more generic removing 'sctp' from the
> symbol name, and writing explicitly that skb needs crc32c (rather than
> skb does not need internet checksum).
>
> Proposal:
> we use crc32c, possibly combined with 'csum' or 'checksum', just like
> it has been done in RFC4960.  So, symbol names can be replaced as follows:
>
> RFC v2 name              | RFC v3 name
> -------------------------+-----------------------------
> warn_sctp_csum_update    | warn_crc32c_csum_update
> warn_sctp_csum_combine   | warn_crc32c_csum_combine
> sctp_csum_stub           | crc32c_csum_stub
> sctp_csum_ops            | crc32c_csum_ops
> skb_sctp_csum_help       | skb_crc32c_csum_help
> skb->csum_not_inet       | skb->crc32c_csum
>
> please let me know if the proposal can be acceptable from your point of view.

I do like this approach better.  You might even take this one step
further.  You could convert crc32_csum into a 1 bit enum for now.
Basically you would use 0 for 1's compliement csum, and 1 to represent
a crc32c csum.  Then if we end up having to add another bit for
something like FCoE in the future it would give us 4 possible checksum
types instead of just giving us 1 with a bit mask.

> On Tue, 2017-02-28 at 11:50 -0800, Tom Herbert wrote:
>> Unfortunately this potentially pushes the skbuf flags over 32 bits if
>> I count correctly. I suggest that you rename csum_bad to
>> csum_not_inet. Looks like csum_bad is only set by a grand total of one
>> driver and I don't believe that is enough to justify its existence.
>> It's probably a good time to remove it.
>
> you are right: find below the current layout obtained with 'allyesconfig':
>
> short unsigned int         queue_mapping;                   /*   140     2 */
> unsigned char              __cloned_offset[0];              /*   142     0 */
> unsigned char              cloned:1;                        /*   142: 7  1 */
> unsigned char              nohdr:1;                         /*   142: 6  1 */
> unsigned char              fclone:2;                        /*   142: 4  1 */
> unsigned char              peeked:1;                        /*   142: 3  1 */
> unsigned char              head_frag:1;                     /*   142: 2  1 */
> unsigned char              xmit_more:1;                     /*   142: 1  1 */
> unsigned char              __unused:1;                      /*   142: 0  1 */
>
> /* XXX 1 byte hole, try to pack */
> unsigned int               headers_start[0];                /*   144     0 */
> unsigned char              __pkt_type_offset[0];            /*   144     0 */
> unsigned char              pkt_type:3;                      /*   144: 5  1 */
>
> <...>
>
> unsigned char              ipvs_property:1;                 /*   147: 7  1 */
> unsigned char              inner_protocol_type:1;           /*   147: 6  1 */
> unsigned char              remcsum_offload:1;               /*   147: 5  1 */
> unsigned char              offload_fwd_mark:1;              /*   147: 4  1 */
> unsigned char              tc_skip_classify:1;              /*   147: 3  1 */
> unsigned char              tc_at_ingress:1;                 /*   147: 2  1 */
> unsigned char              tc_redirected:1;                 /*   147: 1  1 */
> unsigned char              tc_from_ingress:1;               /*   147: 0  1 */
> short unsigned int         tc_index;                        /*   148     2 */
>
> /* XXX 2 bytes hole, try to pack */
> union {
>                 unsigned int       csum;                    /*           4 */
>                 struct {
>                         short unsigned int csum_start;      /*   152     2 */
>                        short unsigned int csum_offset;      /*   154     2 */
>         };                                                  /*           4 */
> }                                                           /*   152     4 */
>
> skb->tc_from_ingress is the last element of the 32 bits starting at
> skb->pkt_type. There are 16 bits free before skb->csum, and 9 free bits
> before skb->pkt_type. I don't think I can easily make room by removing
> 'csum_bad' as per your suggestion, because it is used by GRO and
> netfilter code also (see users of __skb_mark_checksum_bad()). So, either
> I place 'csum_not_inet' in one of the two above intervals (i.e replacing
> __unused with csum_not_inet AKA crc32c_csum), or I have to give up the
> (good) idea of using a bit in sk_buff.
>
> BTW: unlike what I see with other NICs, using ixgbe driver I don't see
> corrupted L4 packets, even when SCTP CRC offload is turned off. Looking
> at the code, I see ixgbe_tx_csum does a simple test to identify SCTP in
> packets with CHECKSUM_PARTIAL and have their checksum resolved by the
> hardware:
>
> switch (skb->csum_offset) {
>         case offsetof(struct tcphdr, check):
>                 /* it's TCP */
>                 /* fall-through */
>         case offsetof(struct udphdr, check)
>                 /* it's UDP */
>                 break;
>         case offsetof(struct scphdr, checksum):
>                 if (/* an ipv4 or ipv6 header with protocol equal to
>                      * IPPOROTO_SCTP is found
>                      */)
>                     /* it's SCTP */
>                         break;
>                 }
>                 /* fall through */
>         default:
>                 skb_checksum_help(skb);
> }
>
> The above code is functionally similar to what I did in patch 4/5 of the
> initial series (http://www.spinics.net/lists/linux-sctp/msg05608.html).
> Should we consider it again for fixing wrong CRC32c issues in case using
> a bit in struct sk_buff is not viable?

I would say if you can't use an extra bit to indicate the checksum
type you probably don't have too much other choice.

As far as the patch you provided I would say it is a good start, but
was a bit to aggressive in a few spots.  For now we don't have support
for offloading crc32c when encapsulating a frame so you don't need to
worry about that too much for now.  Also as far as the features test
you should only need to find that one of the feature bits is set in
the list you were testing.  What might make sense would be to look
into updating can_checksum_protocol to possibly factor in csum_offset
when determining if we can offload it or not.

> On Tue, 2017-02-28 at 11:50 -0800, Tom Herbert wrote:
>> Return value looks complex. Maybe we should just change
>> skb_csum_*_help to return bool, true of checksum was handled false if
>> not.
>
> These functions can return -EINVAL if skb is a GSO packet, or -ENOMEM if
> skb_linearize(skb) or pskb_expand_head(skb) fail, or 0. I would preserve the
> return value of skb_checksum_help() and provide similar range of return values
> for skb_sctp_csum_help() (also known as skb_crc32c_csum_help()): this can
> help eventual future attempts to remove skb_warn_bad_offload(). It makes
> sense to make boolean the return value of skb_csum_hwoffload_help(),
> since we are using it only for non-GSO packets.
>
> Thank you in advance for the feedbacks,
>
> regards,
> --
> davide
>
>

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Davide Caratti <dcaratti@redhat.com>
Cc: David Laight <David.Laight@aculab.com>,
	Tom Herbert <tom@herbertland.com>,
	"David S . Miller" <davem@davemloft.net>,
	Linux Kernel Network Developers <netdev@vger.kernel.org>,
	"linux-sctp @ vger . kernel . org" <linux-sctp@vger.kernel.org>,
	Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Subject: Re: [PATCH RFC net-next v2 1/4] skbuff: add stub to help computing crc32c on SCTP packets
Date: Tue, 07 Mar 2017 18:06:26 +0000	[thread overview]
Message-ID: <CAKgT0Uf6i+TmMyywgT7-X=n+P+a4_U1Z+Qrts7v1=v79MPsS+w@mail.gmail.com> (raw)
In-Reply-To: <1488837077.3068.13.camel@redhat.com>

On Mon, Mar 6, 2017 at 1:51 PM, Davide Caratti <dcaratti@redhat.com> wrote:
> On Tue, 2017-02-28 at 14:46 -0800, Alexander Duyck wrote:
>> On Tue, Feb 28, 2017 at 2:32 AM, Davide Caratti <dcaratti@redhat.com> wrote:
>> >
>> > sctp_compute_checksum requires crc32c symbol (provided by libcrc32c), so
>> > it can't be used in net core. Like it has been done previously with other
>> > symbols (e.g. ipv6_dst_lookup), introduce a stub struct skb_checksum_ops
>> > to allow computation of SCTP checksum in net core after sctp.ko (and thus
>> > libcrc32c) has been loaded.
>>
>> At a minimum the name really needs to change.  SCTP does not do
>> checksums.  It does a CRC, and a CRC is a very different thing.  The
>> fact that somebody decided that offloading a CRC could use the same
>> framework is very unfortunate, and your patch descriptions in this
>> whole set are calling out a CRC as checksums which it is not.
>
> hello Alexander,
>
> thank you for contributing to this topic. I see there has been a similar
> discussion some months ago
> (https://www.mail-archive.com/netdev@vger.kernel.org/msg94955.html).
>
>> I don't want to see anything "checksum" or "csum" related in the
>> naming when it comes to dealing with SCTP unless we absolutely have
>> to have it.  So any function names or structures with sctp in the name
>> should call out "crc32" or "crc", please don't use checksum.
>
> On Wed, 2017-03-01 at 10:53 +0000, David Laight wrote:
>> Then also change all the places that refer the IP 1's compliment
>> checksum to ipchecksum.
>
> (but crc32 uses a different polynomial than crc32c! :-) ) I understand
> your concerns, nevertheless we are writing to a member of struct sctphdr
> whose name is 'checksum' since the earliest introduction of SCTP; moreover,
> similar terminology ('crc32c checksum') is used throughout all RFC4960.
> That's why I don't think anybody will be confused by usage of 'csum' or
> 'checksum' words.
>
> On Tue, 2017-02-28 at 19:17 -0800, Tom Herbert wrote:
>> I agree that internal functions to sctp should not refer to checksum,
>> but I think we need to take care to be consistent with any external
>> API (even if somebody made a mistake defining it this way :-) ). As
>> you know the checksum interface must be very precisely defined, there
>> is no leeway for ambiguity.
>
> We can make the new symbols more generic removing 'sctp' from the
> symbol name, and writing explicitly that skb needs crc32c (rather than
> skb does not need internet checksum).
>
> Proposal:
> we use crc32c, possibly combined with 'csum' or 'checksum', just like
> it has been done in RFC4960.  So, symbol names can be replaced as follows:
>
> RFC v2 name              | RFC v3 name
> -------------------------+-----------------------------
> warn_sctp_csum_update    | warn_crc32c_csum_update
> warn_sctp_csum_combine   | warn_crc32c_csum_combine
> sctp_csum_stub           | crc32c_csum_stub
> sctp_csum_ops            | crc32c_csum_ops
> skb_sctp_csum_help       | skb_crc32c_csum_help
> skb->csum_not_inet       | skb->crc32c_csum
>
> please let me know if the proposal can be acceptable from your point of view.

I do like this approach better.  You might even take this one step
further.  You could convert crc32_csum into a 1 bit enum for now.
Basically you would use 0 for 1's compliement csum, and 1 to represent
a crc32c csum.  Then if we end up having to add another bit for
something like FCoE in the future it would give us 4 possible checksum
types instead of just giving us 1 with a bit mask.

> On Tue, 2017-02-28 at 11:50 -0800, Tom Herbert wrote:
>> Unfortunately this potentially pushes the skbuf flags over 32 bits if
>> I count correctly. I suggest that you rename csum_bad to
>> csum_not_inet. Looks like csum_bad is only set by a grand total of one
>> driver and I don't believe that is enough to justify its existence.
>> It's probably a good time to remove it.
>
> you are right: find below the current layout obtained with 'allyesconfig':
>
> short unsigned int         queue_mapping;                   /*   140     2 */
> unsigned char              __cloned_offset[0];              /*   142     0 */
> unsigned char              cloned:1;                        /*   142: 7  1 */
> unsigned char              nohdr:1;                         /*   142: 6  1 */
> unsigned char              fclone:2;                        /*   142: 4  1 */
> unsigned char              peeked:1;                        /*   142: 3  1 */
> unsigned char              head_frag:1;                     /*   142: 2  1 */
> unsigned char              xmit_more:1;                     /*   142: 1  1 */
> unsigned char              __unused:1;                      /*   142: 0  1 */
>
> /* XXX 1 byte hole, try to pack */
> unsigned int               headers_start[0];                /*   144     0 */
> unsigned char              __pkt_type_offset[0];            /*   144     0 */
> unsigned char              pkt_type:3;                      /*   144: 5  1 */
>
> <...>
>
> unsigned char              ipvs_property:1;                 /*   147: 7  1 */
> unsigned char              inner_protocol_type:1;           /*   147: 6  1 */
> unsigned char              remcsum_offload:1;               /*   147: 5  1 */
> unsigned char              offload_fwd_mark:1;              /*   147: 4  1 */
> unsigned char              tc_skip_classify:1;              /*   147: 3  1 */
> unsigned char              tc_at_ingress:1;                 /*   147: 2  1 */
> unsigned char              tc_redirected:1;                 /*   147: 1  1 */
> unsigned char              tc_from_ingress:1;               /*   147: 0  1 */
> short unsigned int         tc_index;                        /*   148     2 */
>
> /* XXX 2 bytes hole, try to pack */
> union {
>                 unsigned int       csum;                    /*           4 */
>                 struct {
>                         short unsigned int csum_start;      /*   152     2 */
>                        short unsigned int csum_offset;      /*   154     2 */
>         };                                                  /*           4 */
> }                                                           /*   152     4 */
>
> skb->tc_from_ingress is the last element of the 32 bits starting at
> skb->pkt_type. There are 16 bits free before skb->csum, and 9 free bits
> before skb->pkt_type. I don't think I can easily make room by removing
> 'csum_bad' as per your suggestion, because it is used by GRO and
> netfilter code also (see users of __skb_mark_checksum_bad()). So, either
> I place 'csum_not_inet' in one of the two above intervals (i.e replacing
> __unused with csum_not_inet AKA crc32c_csum), or I have to give up the
> (good) idea of using a bit in sk_buff.
>
> BTW: unlike what I see with other NICs, using ixgbe driver I don't see
> corrupted L4 packets, even when SCTP CRC offload is turned off. Looking
> at the code, I see ixgbe_tx_csum does a simple test to identify SCTP in
> packets with CHECKSUM_PARTIAL and have their checksum resolved by the
> hardware:
>
> switch (skb->csum_offset) {
>         case offsetof(struct tcphdr, check):
>                 /* it's TCP */
>                 /* fall-through */
>         case offsetof(struct udphdr, check)
>                 /* it's UDP */
>                 break;
>         case offsetof(struct scphdr, checksum):
>                 if (/* an ipv4 or ipv6 header with protocol equal to
>                      * IPPOROTO_SCTP is found
>                      */)
>                     /* it's SCTP */
>                         break;
>                 }
>                 /* fall through */
>         default:
>                 skb_checksum_help(skb);
> }
>
> The above code is functionally similar to what I did in patch 4/5 of the
> initial series (http://www.spinics.net/lists/linux-sctp/msg05608.html).
> Should we consider it again for fixing wrong CRC32c issues in case using
> a bit in struct sk_buff is not viable?

I would say if you can't use an extra bit to indicate the checksum
type you probably don't have too much other choice.

As far as the patch you provided I would say it is a good start, but
was a bit to aggressive in a few spots.  For now we don't have support
for offloading crc32c when encapsulating a frame so you don't need to
worry about that too much for now.  Also as far as the features test
you should only need to find that one of the feature bits is set in
the list you were testing.  What might make sense would be to look
into updating can_checksum_protocol to possibly factor in csum_offset
when determining if we can offload it or not.

> On Tue, 2017-02-28 at 11:50 -0800, Tom Herbert wrote:
>> Return value looks complex. Maybe we should just change
>> skb_csum_*_help to return bool, true of checksum was handled false if
>> not.
>
> These functions can return -EINVAL if skb is a GSO packet, or -ENOMEM if
> skb_linearize(skb) or pskb_expand_head(skb) fail, or 0. I would preserve the
> return value of skb_checksum_help() and provide similar range of return values
> for skb_sctp_csum_help() (also known as skb_crc32c_csum_help()): this can
> help eventual future attempts to remove skb_warn_bad_offload(). It makes
> sense to make boolean the return value of skb_csum_hwoffload_help(),
> since we are using it only for non-GSO packets.
>
> Thank you in advance for the feedbacks,
>
> regards,
> --
> davide
>
>

  reply	other threads:[~2017-03-07 18:43 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-23 16:52 [RFC PATCH net-next 0/5] net: improve support for SCTP checksums Davide Caratti
2017-01-23 16:52 ` Davide Caratti
2017-01-23 16:52 ` [RFC PATCH net-next 1/5] skbuff: add stub to help computing crc32c on SCTP packets Davide Caratti
2017-01-23 16:52   ` Davide Caratti
2017-01-23 16:52 ` [RFC PATCH net-next 2/5] net: split skb_checksum_help Davide Caratti
2017-01-23 16:52   ` Davide Caratti
2017-01-23 20:59   ` Tom Herbert
2017-01-23 20:59     ` Tom Herbert
2017-01-24 16:35     ` David Laight
2017-01-24 16:35       ` David Laight
2017-02-02 15:07       ` Davide Caratti
2017-02-02 15:07         ` Davide Caratti
2017-02-02 16:55         ` David Laight
2017-02-02 16:55           ` David Laight
2017-02-02 18:08         ` Tom Herbert
2017-02-02 18:08           ` Tom Herbert
2017-02-27 13:39           ` Davide Caratti
2017-02-27 13:39             ` Davide Caratti
2017-02-27 15:11             ` Tom Herbert
2017-02-27 15:11               ` Tom Herbert
2017-02-28 10:31               ` Davide Caratti
2017-02-28 10:31                 ` Davide Caratti
2017-02-28 10:32             ` [PATCH RFC net-next v2 1/4] skbuff: add stub to help computing crc32c on SCTP packets Davide Caratti
2017-02-28 10:32               ` Davide Caratti
2017-02-28 10:32               ` [PATCH RFC net-next v2 2/4] net: introduce skb_sctp_csum_help Davide Caratti
2017-02-28 10:32                 ` Davide Caratti
2017-02-28 10:32               ` [PATCH RFC net-next v2 3/4] net: more accurate checksumming in validate_xmit_skb Davide Caratti
2017-02-28 10:32                 ` Davide Caratti
2017-02-28 19:50                 ` Tom Herbert
2017-02-28 19:50                   ` Tom Herbert
2017-02-28 10:32               ` [PATCH RFC net-next v2 4/4] Documentation: update notes on checksum offloading Davide Caratti
2017-02-28 10:32                 ` Davide Caratti
2017-02-28 22:46               ` [PATCH RFC net-next v2 1/4] skbuff: add stub to help computing crc32c on SCTP packets Alexander Duyck
2017-02-28 22:46                 ` Alexander Duyck
2017-03-01  3:17                 ` Tom Herbert
2017-03-01  3:17                   ` Tom Herbert
2017-03-01 10:53                 ` David Laight
2017-03-01 10:53                   ` David Laight
2017-03-06 21:51                 ` Davide Caratti
2017-03-06 21:51                   ` Davide Caratti
2017-03-07 18:06                   ` Alexander Duyck [this message]
2017-03-07 18:06                     ` Alexander Duyck
2017-03-18 13:17                     ` Davide Caratti
2017-03-18 13:17                       ` Davide Caratti
2017-03-18 22:35                       ` Tom Herbert
2017-03-18 22:35                         ` Tom Herbert
2017-04-07 14:16                         ` [PATCH RFC net-next v3 0/7] improve CRC32c in the forwarding path Davide Caratti
2017-04-07 14:16                           ` Davide Caratti
2017-04-07 14:16                           ` [PATCH RFC net-next v3 1/7] skbuff: add stub to help computing crc32c on SCTP packets Davide Caratti
2017-04-07 14:16                             ` Davide Caratti
2017-04-07 14:16                           ` [PATCH RFC net-next v3 2/7] net: introduce skb_crc32c_csum_help Davide Caratti
2017-04-07 14:16                             ` Davide Caratti
2017-04-07 14:16                           ` [PATCH RFC net-next v3 3/7] sk_buff: remove support for csum_bad in sk_buff Davide Caratti
2017-04-07 14:16                             ` Davide Caratti
2017-04-07 14:16                           ` [PATCH RFC net-next v3 4/7] net: use skb->csum_algo to identify packets needing crc32c Davide Caratti
2017-04-07 14:16                             ` Davide Caratti
2017-04-07 15:43                             ` Tom Herbert
2017-04-07 15:43                               ` Tom Herbert
2017-04-07 17:29                               ` Davide Caratti
2017-04-07 17:29                                 ` Davide Caratti
2017-04-07 18:11                                 ` Tom Herbert
2017-04-07 18:11                                   ` Tom Herbert
2017-04-13 10:36                                   ` Davide Caratti
2017-04-13 10:36                                     ` Davide Caratti
2017-04-20 13:38                                   ` [PATCH RFC net-next v4 0/7] net: improve support for SCTP checksums Davide Caratti
2017-04-20 13:38                                     ` Davide Caratti
2017-04-20 13:38                                     ` [PATCH RFC net-next v4 1/7] skbuff: add stub to help computing crc32c on SCTP packets Davide Caratti
2017-04-20 13:38                                       ` Davide Caratti
2017-04-20 13:38                                     ` [PATCH RFC net-next v4 2/7] net: introduce skb_crc32c_csum_help Davide Caratti
2017-04-20 13:38                                       ` Davide Caratti
2017-04-27 12:29                                       ` Marcelo Ricardo Leitner
2017-04-27 12:29                                         ` Marcelo Ricardo Leitner
2017-04-20 13:38                                     ` [PATCH RFC net-next v4 3/7] sk_buff: remove support for csum_bad in sk_buff Davide Caratti
2017-04-20 13:38                                       ` Davide Caratti
2017-04-27  1:34                                       ` [sk_buff] 95510aef27: BUG:Bad_page_state_in_process kernel test robot
2017-04-27  1:34                                         ` kernel test robot
2017-04-29 20:21                                       ` [PATCH RFC net-next v4 3/7] sk_buff: remove support for csum_bad in sk_buff Tom Herbert
2017-04-29 20:21                                         ` Tom Herbert
2017-04-20 13:38                                     ` [PATCH RFC net-next v4 4/7] net: use skb->csum_not_inet to identify packets needing crc32c Davide Caratti
2017-04-20 13:38                                       ` Davide Caratti
2017-04-29 20:18                                       ` Tom Herbert
2017-04-29 20:18                                         ` Tom Herbert
2017-04-20 13:38                                     ` [PATCH RFC net-next v4 5/7] net: more accurate checksumming in validate_xmit_skb() Davide Caratti
2017-04-20 13:38                                       ` Davide Caratti
2017-04-20 13:38                                     ` [PATCH RFC net-next v4 6/7] openvswitch: more accurate checksumming in queue_userspace_packet() Davide Caratti
2017-04-20 13:38                                       ` Davide Caratti
2017-04-20 13:38                                     ` [PATCH RFC net-next v4 7/7] sk_buff.h: improve description of CHECKSUM_{COMPLETE,UNNECESSARY} Davide Caratti
2017-04-20 13:38                                       ` Davide Caratti
2017-04-29 20:20                                       ` Tom Herbert
2017-04-29 20:20                                         ` Tom Herbert
2017-04-27 12:41                                     ` [PATCH RFC net-next v4 0/7] net: improve support for SCTP checksums Marcelo Ricardo Leitner
2017-04-27 12:41                                       ` Marcelo Ricardo Leitner
2017-04-07 14:16                           ` [PATCH RFC net-next v3 5/7] net: more accurate checksumming in validate_xmit_skb() Davide Caratti
2017-04-07 14:16                             ` Davide Caratti
2017-04-07 14:16                           ` [PATCH RFC net-next v3 6/7] openvswitch: more accurate checksumming in queue_userspace_packet() Davide Caratti
2017-04-07 14:16                             ` Davide Caratti
2017-04-07 14:16                           ` [PATCH RFC net-next v3 7/7] sk_buff.h: improve description of CHECKSUM_{COMPLETE,UNNECESSARY} Davide Caratti
2017-04-07 14:16                             ` Davide Caratti
2017-01-23 16:52 ` [RFC PATCH net-next 3/5] net: introduce skb_sctp_csum_help Davide Caratti
2017-01-23 16:52   ` Davide Caratti
2017-01-23 16:52 ` [RFC PATCH net-next 4/5] net: more accurate checksumming in validate_xmit_skb Davide Caratti
2017-01-23 16:52   ` Davide Caratti
2017-01-23 16:52 ` [RFC PATCH net-next 5/5] Documentation: add description of skb_sctp_csum_help Davide Caratti
2017-01-23 16:52   ` Davide Caratti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKgT0Uf6i+TmMyywgT7-X=n+P+a4_U1Z+Qrts7v1=v79MPsS+w@mail.gmail.com' \
    --to=alexander.duyck@gmail.com \
    --cc=David.Laight@aculab.com \
    --cc=davem@davemloft.net \
    --cc=dcaratti@redhat.com \
    --cc=linux-sctp@vger.kernel.org \
    --cc=marcelo.leitner@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=tom@herbertland.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.