|
@@ -3016,6 +3016,18 @@ static inline bool __skb_checksum_validate_needed(struct sk_buff *skb,
|
|
*/
|
|
*/
|
|
#define CHECKSUM_BREAK 76
|
|
#define CHECKSUM_BREAK 76
|
|
|
|
|
|
|
|
+/* Unset checksum-complete
|
|
|
|
+ *
|
|
|
|
+ * Unset checksum complete can be done when packet is being modified
|
|
|
|
+ * (uncompressed for instance) and checksum-complete value is
|
|
|
|
+ * invalidated.
|
|
|
|
+ */
|
|
|
|
+static inline void skb_checksum_complete_unset(struct sk_buff *skb)
|
|
|
|
+{
|
|
|
|
+ if (skb->ip_summed == CHECKSUM_COMPLETE)
|
|
|
|
+ skb->ip_summed = CHECKSUM_NONE;
|
|
|
|
+}
|
|
|
|
+
|
|
/* Validate (init) checksum based on checksum complete.
|
|
/* Validate (init) checksum based on checksum complete.
|
|
*
|
|
*
|
|
* Return values:
|
|
* Return values:
|