From f556fcdf202f917dafc4db01ec041160edea162b Mon Sep 17 00:00:00 2001 From: yangyanjun Date: Tue, 26 Jul 2022 17:40:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BA=A7license=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=9Bnip=5Faddr.h=E5=A4=B4?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=AD=98=E6=94=BE=E4=BD=8D=E7=BD=AE/?= =?UTF-8?q?=E5=BC=95=E7=94=A8=E5=85=B3=E7=B3=BB=E6=B7=B7=E4=B9=B1=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=9B=E5=9F=BA=E4=BA=8Eurg=5Fptr?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E4=B8=A2=E5=8C=85=E4=B8=AA=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E9=85=8D=E5=90=88dup=20ack=E7=AE=80=E5=8C=96=E7=89=88=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E7=B2=BE=E5=87=86=E9=87=8D=E4=BC=A0=E3=80=82=201?= =?UTF-8?q?=E3=80=81=E5=B0=86code/common/nip=5Faddr.h=E6=8B=B7=E8=B4=9D?= =?UTF-8?q?=E5=88=B0net/newip=E7=9B=AE=E5=BD=95=EF=BC=8C=E5=90=8C=E6=97=B6?= =?UTF-8?q?=E8=BD=AF=E9=93=BE=E6=8E=A5=E5=88=B0include/uapi/linux/nip=5Fad?= =?UTF-8?q?dr.h=203=E3=80=81=E5=88=A0=E9=99=A4include/linux/nip=5Faddr.h?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=8C=E4=BB=A3=E7=A0=81=E4=BE=A7=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E7=9B=B4=E6=8E=A5=E5=BC=95=E7=94=A8include/uapi/linux?= =?UTF-8?q?/nip=5Faddr.h=E8=BD=AF=E9=93=BE=E6=8E=A5=E5=90=8E=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E6=88=96=E6=9C=AC=E6=96=87=E4=BB=B6=E7=9B=B8?= =?UTF-8?q?=E5=90=8C=E7=9B=AE=E5=BD=95=E4=B8=8B=E7=9A=84nip=5Faddr.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangyanjun --- LICENSE | 5 +- apply_newip.sh | 1 - code/linux/include/uapi/linux/newip_route.h | 2 +- code/linux/include/uapi/linux/nip.h | 2 +- code/linux/net/newip/tcp_nip.c | 2 + code/linux/net/newip/tcp_nip_input.c | 57 ++++++++----- code/linux/net/newip/tcp_nip_output.c | 5 +- code/linux/net/newip/tcp_nip_parameter.c | 5 +- code/linux/net/newip/tcp_nip_parameter.h | 2 +- patches/linux-5.10/newip.patch | 88 +++++++++++---------- 10 files changed, 96 insertions(+), 73 deletions(-) diff --git a/LICENSE b/LICENSE index 827cfd2..4a7fb36 100644 --- a/LICENSE +++ b/LICENSE @@ -1,8 +1,7 @@ NewIP - New IP Stack Copyright (c) 2022 Huawei Device Co., Ltd. All rights reserved. -NewIP is dual licensed: you can use it either under the terms of -the GPL V2, or the BSD2 license, at your option. +you can use it under the terms of the GPL V2 and the BSD2 license. a) GNU General Public License version 2, (https://opensource.org/licenses/GPL-2.0) This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -19,7 +18,7 @@ License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -Alternatively, +And, b) The BSD2 License, (https://opensource.org/licenses/BSD-2-Clause) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following diff --git a/apply_newip.sh b/apply_newip.sh index d1c564c..4c7e3a9 100644 --- a/apply_newip.sh +++ b/apply_newip.sh @@ -38,7 +38,6 @@ function main() cp -arfL $OHOS_SOURCE_ROOT/foundation/communication/sfc/newip/code/common/*.h net/newip/ cp -arfL $OHOS_SOURCE_ROOT/foundation/communication/sfc/newip/code/common/*.c net/newip/ ln -s -f $KERNEL_BUILD_ROOT/net/newip/nip_addr.h $KERNEL_BUILD_ROOT/include/uapi/linux/nip_addr.h - ln -s -f $KERNEL_BUILD_ROOT/net/newip/nip_addr.h $KERNEL_BUILD_ROOT/include/linux/nip_addr.h cd - } diff --git a/code/linux/include/uapi/linux/newip_route.h b/code/linux/include/uapi/linux/newip_route.h index 8b8e70e..15495b3 100644 --- a/code/linux/include/uapi/linux/newip_route.h +++ b/code/linux/include/uapi/linux/newip_route.h @@ -14,7 +14,7 @@ #ifndef _UAPI_LINUX_NEWIP_ROUTE_H #define _UAPI_LINUX_NEWIP_ROUTE_H -#include +#include "nip_addr.h" struct nip_rtmsg { struct nip_addr rtmsg_dst; diff --git a/code/linux/include/uapi/linux/nip.h b/code/linux/include/uapi/linux/nip.h index 465b229..477b806 100644 --- a/code/linux/include/uapi/linux/nip.h +++ b/code/linux/include/uapi/linux/nip.h @@ -11,7 +11,7 @@ #include #include #include -#include +#include "nip_addr.h" #include struct nip_ifreq { diff --git a/code/linux/net/newip/tcp_nip.c b/code/linux/net/newip/tcp_nip.c index 669a795..bb0b79e 100644 --- a/code/linux/net/newip/tcp_nip.c +++ b/code/linux/net/newip/tcp_nip.c @@ -754,6 +754,8 @@ static int tcp_nip_init_sock(struct sock *sk) tp->nip_keepalive_enable = false; tp->idle_ka_probes_out = 0; tp->nip_keepalive_timeout_scale = 0; + tp->last_rcv_nxt = 0; + tp->dup_ack_cnt = 0; tp->reordering = sock_net(sk)->ipv4.sysctl_tcp_reordering; tp->tsoffset = 0; diff --git a/code/linux/net/newip/tcp_nip_input.c b/code/linux/net/newip/tcp_nip_input.c index c8d1d8f..dc9752b 100644 --- a/code/linux/net/newip/tcp_nip_input.c +++ b/code/linux/net/newip/tcp_nip_input.c @@ -207,11 +207,17 @@ static void tcp_drop(struct sock *sk, struct sk_buff *skb) __kfree_skb(skb); } +#define PKT_DISCARD_MAX 500 static void tcp_nip_data_queue(struct sock *sk, struct sk_buff *skb) { + int mss = tcp_nip_current_mss(sk); struct tcp_sock *tp = tcp_sk(sk); struct inet_connection_sock *icsk = inet_csk(sk); + /* Newip Urg_ptr is disabled. Urg_ptr is used to carry the number of discarded packets */ + tp->snd_up = (TCP_SKB_CB(skb)->seq - tcp_sk(sk)->rcv_nxt) / mss; + tp->snd_up = tp->snd_up > PKT_DISCARD_MAX ? 0 : tp->snd_up; + if (TCP_SKB_CB(skb)->seq == TCP_SKB_CB(skb)->end_seq) { DEBUG("%s: no data, only handle ack.\n", __func__); __kfree_skb(skb); @@ -336,7 +342,18 @@ static void __tcp_nip_ack_snd_check(struct sock *sk, int ofo_possible) __nip_tcp_select_window(sk) >= tp->rcv_wnd) || /* We have out of order data. */ (ofo_possible && tp->nip_out_of_order_queue)) { - tcp_nip_send_ack(sk); + if (ofo_possible && tp->nip_out_of_order_queue) { + if (tp->rcv_nxt == tp->last_rcv_nxt) { + tp->dup_ack_cnt++; + } else { + tp->dup_ack_cnt = 0; + tp->last_rcv_nxt = tp->rcv_nxt; + } + if (tp->dup_ack_cnt < g_dup_ack_snd_max) + tcp_nip_send_ack(sk); + } else { + tcp_nip_send_ack(sk); + } } else { /* Else, send delayed ack. */ DEBUG("%s: send delayed ack!!", __func__); @@ -945,18 +962,22 @@ static void tcp_nip_ack_retrans(struct sock *sk, u32 ack, int ack_type, u32 retr #define DUP_ACK_RETRANS_START_NUM 3 #define DIVIDEND_UP 3 #define DIVIDEND_DOWN 5 -static void tcp_nip_dup_ack_retrans(struct sock *sk, u32 ack, u32 retrans_num) +static void tcp_nip_dup_ack_retrans(struct sock *sk, const struct sk_buff *skb, + u32 ack, u32 retrans_num) { - struct tcp_sock *tp = tcp_sk(sk); - if (tcp_write_queue_head(sk)) { + struct tcp_sock *tp = tcp_sk(sk); + tp->sacked_out++; if (tp->sacked_out == DUP_ACK_RETRANS_START_NUM) { - int last_nip_ssthresh = tp->nip_ssthresh; - int nip_ssthresh = (tp->nip_ssthresh * DIVIDEND_UP) / DIVIDEND_DOWN; + /* Newip Urg_ptr is disabled. Urg_ptr is used to + * carry the number of discarded packets + */ + int mss = tcp_nip_current_mss(sk); + struct tcphdr *th = (struct tcphdr *)skb->data; + u16 discard_num = htons(th->urg_ptr); + u32 last_nip_ssthresh = tp->nip_ssthresh; - tp->nip_ssthresh = nip_ssthresh < g_ssthresh_low ? - g_ssthresh_low : nip_ssthresh; if (tp->selective_acks[0].end_seq) SSTHRESH_DBG("%s last retans(%u) not end, seq=%u~%u, pkt_out=%u", __func__, tp->ack_retrans_num, @@ -964,15 +985,17 @@ static void tcp_nip_dup_ack_retrans(struct sock *sk, u32 ack, u32 retrans_num) tp->selective_acks[0].end_seq, tp->packets_out); - SSTHRESH_DBG("%s new dup ack, win %u to %u, seq=%u~%u", - __func__, last_nip_ssthresh, tp->nip_ssthresh, - ack, tp->snd_nxt); - tp->selective_acks[0].start_seq = ack; - tp->selective_acks[0].end_seq = tp->snd_nxt; + tp->selective_acks[0].end_seq = ack + discard_num * mss; tp->ack_retrans_seq = ack; tp->ack_retrans_num = 0; + tp->nip_ssthresh = g_ssthresh_low; + SSTHRESH_DBG("%s new dup ack, win %u to %u, discard_num=%u, seq=%u~%u", + __func__, last_nip_ssthresh, tp->nip_ssthresh, discard_num, + tp->selective_acks[0].start_seq, + tp->selective_acks[0].end_seq); + tcp_nip_ack_retrans(sk, ack, DUP_ACK, retrans_num); } } @@ -983,9 +1006,7 @@ static void tcp_nip_nor_ack_retrans(struct sock *sk, u32 ack, u32 retrans_num) struct tcp_sock *tp = tcp_sk(sk); if (tp->selective_acks[0].end_seq != 0) { - if (ack >= tp->selective_acks[0].end_seq || - (ack >= ((tp->selective_acks[0].end_seq - tp->selective_acks[0].start_seq) / - g_retrans_seg_end_divisor) + tp->selective_acks[0].start_seq)) { + if (ack >= tp->selective_acks[0].end_seq) { SSTHRESH_DBG("%s nor ack retrans(%u) resume, seq=%u~%u, pkt_out=%u, ack=%u", __func__, tp->ack_retrans_num, tp->selective_acks[0].start_seq, @@ -1114,8 +1135,8 @@ static int tcp_nip_ack(struct sock *sk, const struct sk_buff *skb, int flag) return 1; } - // ack == tp->snd_una - tcp_nip_dup_ack_retrans(sk, ack, g_dup_ack_retrans_num); + // dup ack: ack == tp->snd_una + tcp_nip_dup_ack_retrans(sk, skb, ack, g_dup_ack_retrans_num); return 1; } diff --git a/code/linux/net/newip/tcp_nip_output.c b/code/linux/net/newip/tcp_nip_output.c index 1687722..e5287b6 100644 --- a/code/linux/net/newip/tcp_nip_output.c +++ b/code/linux/net/newip/tcp_nip_output.c @@ -526,8 +526,9 @@ static int __tcp_nip_transmit_skb(struct sock *sk, struct sk_buff *skb, tcb->tcp_flags); *(((__be16 *)th) + TCP_HDR_LEN_OFFSET) = len; - th->check = 0; - th->urg_ptr = 0; + th->check = 0; + /* Newip Urg_ptr is disabled. Urg_ptr is used to carry the number of discarded packets */ + th->urg_ptr = htons(tp->snd_up); /* Write TCP option */ tcp_nip_options_write((__be32 *)(th + 1), tp, &opts); diff --git a/code/linux/net/newip/tcp_nip_parameter.c b/code/linux/net/newip/tcp_nip_parameter.c index 286ac3d..ccc64a6 100644 --- a/code/linux/net/newip/tcp_nip_parameter.c +++ b/code/linux/net/newip/tcp_nip_parameter.c @@ -88,9 +88,8 @@ module_param_named(dup_ack_retrans_num, g_dup_ack_retrans_num, int, 0644); int g_ack_retrans_num = 5; module_param_named(ack_retrans_num, g_ack_retrans_num, int, 0644); -/* Ack retransmission seg retransmission divisor */ -int g_retrans_seg_end_divisor = 1; -module_param_named(retrans_seg_end_divisor, g_retrans_seg_end_divisor, int, 0644); +int g_dup_ack_snd_max = 6; +module_param_named(dup_ack_snd_max, g_dup_ack_snd_max, int, 0644); /*********************************************************************************************/ /* RTT timestamp parameters */ diff --git a/code/linux/net/newip/tcp_nip_parameter.h b/code/linux/net/newip/tcp_nip_parameter.h index 7467dde..3c7bc11 100644 --- a/code/linux/net/newip/tcp_nip_parameter.h +++ b/code/linux/net/newip/tcp_nip_parameter.h @@ -58,7 +58,7 @@ do { \ /*********************************************************************************************/ extern int g_dup_ack_retrans_num; extern int g_ack_retrans_num; -extern int g_retrans_seg_end_divisor; +extern int g_dup_ack_snd_max; /*********************************************************************************************/ /* RTT timestamp parameters */ diff --git a/patches/linux-5.10/newip.patch b/patches/linux-5.10/newip.patch index cc39bc4..a3ef784 100644 --- a/patches/linux-5.10/newip.patch +++ b/patches/linux-5.10/newip.patch @@ -1,6 +1,6 @@ diff -Naur old/include/linux/netdevice.h new/include/linux/netdevice.h ---- old/include/linux/netdevice.h 2022-07-23 18:52:45.626073631 +0800 -+++ new/include/linux/netdevice.h 2022-07-23 18:52:45.666073630 +0800 +--- old/include/linux/netdevice.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/linux/netdevice.h 2022-07-26 16:28:51.536938875 +0800 @@ -2016,6 +2016,9 @@ struct dn_dev __rcu *dn_ptr; #endif @@ -12,8 +12,8 @@ diff -Naur old/include/linux/netdevice.h new/include/linux/netdevice.h void *ax25_ptr; #endif diff -Naur old/include/linux/socket.h new/include/linux/socket.h ---- old/include/linux/socket.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/linux/socket.h 2022-07-23 18:52:45.666073630 +0800 +--- old/include/linux/socket.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/linux/socket.h 2022-07-26 16:28:51.536938875 +0800 @@ -223,8 +223,8 @@ * reuses AF_INET address family */ @@ -34,8 +34,8 @@ diff -Naur old/include/linux/socket.h new/include/linux/socket.h /* Maximum queue length specifiable by listen. */ diff -Naur old/include/linux/tcp.h new/include/linux/tcp.h ---- old/include/linux/tcp.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/linux/tcp.h 2022-07-23 18:52:45.666073630 +0800 +--- old/include/linux/tcp.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/linux/tcp.h 2022-07-26 16:28:51.536938875 +0800 @@ -317,6 +317,9 @@ /* OOO segments go in this rbtree. Socket lock must be held. */ @@ -46,7 +46,7 @@ diff -Naur old/include/linux/tcp.h new/include/linux/tcp.h struct sk_buff *ooo_last_skb; /* cache rb_last(out_of_order_queue) */ /* SACKs data, these 2 need to be together (see tcp_options_write) */ -@@ -412,6 +415,17 @@ +@@ -412,6 +415,19 @@ */ struct request_sock __rcu *fastopen_rsk; struct saved_syn *saved_syn; @@ -60,11 +60,13 @@ diff -Naur old/include/linux/tcp.h new/include/linux/tcp.h + bool nip_keepalive_enable; + u32 idle_ka_probes_out; + u32 nip_keepalive_timeout_scale; ++ u32 last_rcv_nxt; ++ u32 dup_ack_cnt; +#endif }; enum tsq_enum { -@@ -423,6 +437,10 @@ +@@ -423,6 +439,10 @@ TCP_MTU_REDUCED_DEFERRED, /* tcp_v{4|6}_err() could not call * tcp_v{4|6}_mtu_reduced() */ @@ -76,8 +78,8 @@ diff -Naur old/include/linux/tcp.h new/include/linux/tcp.h enum tsq_flags { diff -Naur old/include/net/dst.h new/include/net/dst.h ---- old/include/net/dst.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/net/dst.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/dst.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/dst.h 2022-07-26 16:28:51.536938875 +0800 @@ -35,6 +35,8 @@ int (*output)(struct net *net, struct sock *sk, struct sk_buff *skb); @@ -88,8 +90,8 @@ diff -Naur old/include/net/dst.h new/include/net/dst.h #define DST_NOPOLICY 0x0004 #define DST_NOCOUNT 0x0008 diff -Naur old/include/net/inet_hashtables.h new/include/net/inet_hashtables.h ---- old/include/net/inet_hashtables.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/net/inet_hashtables.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/inet_hashtables.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/inet_hashtables.h 2022-07-26 16:28:51.546938875 +0800 @@ -83,6 +83,9 @@ #if IS_ENABLED(CONFIG_IPV6) struct in6_addr fast_v6_rcv_saddr; @@ -115,8 +117,8 @@ diff -Naur old/include/net/inet_hashtables.h new/include/net/inet_hashtables.h { sk->sk_daddr = addr; /* alias of inet_daddr */ diff -Naur old/include/net/inet_sock.h new/include/net/inet_sock.h ---- old/include/net/inet_sock.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/net/inet_sock.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/inet_sock.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/inet_sock.h 2022-07-26 16:28:51.546938875 +0800 @@ -73,6 +73,10 @@ #define ir_rmt_port req.__req_common.skc_dport #define ir_v6_rmt_addr req.__req_common.skc_v6_daddr @@ -142,8 +144,8 @@ diff -Naur old/include/net/inet_sock.h new/include/net/inet_sock.h }; diff -Naur old/include/net/neighbour.h new/include/net/neighbour.h ---- old/include/net/neighbour.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/net/neighbour.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/neighbour.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/neighbour.h 2022-07-26 16:28:51.546938875 +0800 @@ -232,6 +232,9 @@ NEIGH_ARP_TABLE = 0, NEIGH_ND_TABLE = 1, @@ -155,8 +157,8 @@ diff -Naur old/include/net/neighbour.h new/include/net/neighbour.h NEIGH_LINK_TABLE = NEIGH_NR_TABLES /* Pseudo table for neigh_xmit */ }; diff -Naur old/include/net/net_namespace.h new/include/net/net_namespace.h ---- old/include/net/net_namespace.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/net/net_namespace.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/net_namespace.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/net_namespace.h 2022-07-26 16:28:51.546938875 +0800 @@ -38,6 +38,9 @@ #include #include @@ -178,8 +180,8 @@ diff -Naur old/include/net/net_namespace.h new/include/net/net_namespace.h struct netns_ieee802154_lowpan ieee802154_lowpan; #endif diff -Naur old/include/net/secure_seq.h new/include/net/secure_seq.h ---- old/include/net/secure_seq.h 2022-07-23 18:52:45.636073630 +0800 -+++ new/include/net/secure_seq.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/secure_seq.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/secure_seq.h 2022-07-26 16:28:51.546938875 +0800 @@ -19,4 +19,11 @@ u64 secure_dccpv6_sequence_number(__be32 *saddr, __be32 *daddr, __be16 sport, __be16 dport); @@ -193,14 +195,14 @@ diff -Naur old/include/net/secure_seq.h new/include/net/secure_seq.h +#endif #endif /* _NET_SECURE_SEQ */ diff -Naur old/include/net/sock.h new/include/net/sock.h ---- old/include/net/sock.h 2022-07-23 18:52:45.646073630 +0800 -+++ new/include/net/sock.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/sock.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/sock.h 2022-07-26 16:28:51.546938875 +0800 @@ -68,6 +68,9 @@ #include #include #include +#ifdef CONFIG_NEWIP -+#include ++#include +#endif /* @@ -227,8 +229,8 @@ diff -Naur old/include/net/sock.h new/include/net/sock.h #define sk_incoming_cpu __sk_common.skc_incoming_cpu #define sk_flags __sk_common.skc_flags diff -Naur old/include/net/tcp.h new/include/net/tcp.h ---- old/include/net/tcp.h 2022-07-23 18:52:45.646073630 +0800 -+++ new/include/net/tcp.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/net/tcp.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/net/tcp.h 2022-07-26 16:28:51.546938875 +0800 @@ -40,7 +40,9 @@ #include #include @@ -251,8 +253,8 @@ diff -Naur old/include/net/tcp.h new/include/net/tcp.h struct { __u32 flags; diff -Naur old/include/uapi/linux/if_ether.h new/include/uapi/linux/if_ether.h ---- old/include/uapi/linux/if_ether.h 2022-07-23 18:52:45.646073630 +0800 -+++ new/include/uapi/linux/if_ether.h 2022-07-23 18:52:45.676073630 +0800 +--- old/include/uapi/linux/if_ether.h 2022-07-26 16:28:51.526938875 +0800 ++++ new/include/uapi/linux/if_ether.h 2022-07-26 16:28:51.546938875 +0800 @@ -72,6 +72,7 @@ #define ETH_P_ERSPAN 0x88BE /* ERSPAN type II */ #define ETH_P_IPX 0x8137 /* IPX over DIX */ @@ -262,8 +264,8 @@ diff -Naur old/include/uapi/linux/if_ether.h new/include/uapi/linux/if_ether.h #define ETH_P_SLOW 0x8809 /* Slow Protocol. See 802.3ad 43B */ #define ETH_P_WCCP 0x883E /* Web-cache coordination protocol diff -Naur old/net/Kconfig new/net/Kconfig ---- old/net/Kconfig 2022-07-23 18:52:45.656073630 +0800 -+++ new/net/Kconfig 2022-07-23 18:52:45.676073630 +0800 +--- old/net/Kconfig 2022-07-26 16:28:51.526938875 +0800 ++++ new/net/Kconfig 2022-07-26 16:28:51.546938875 +0800 @@ -93,6 +93,7 @@ if INET source "net/ipv4/Kconfig" @@ -273,8 +275,8 @@ diff -Naur old/net/Kconfig new/net/Kconfig source "net/mptcp/Kconfig" diff -Naur old/net/Makefile new/net/Makefile ---- old/net/Makefile 2022-07-23 18:52:45.656073630 +0800 -+++ new/net/Makefile 2022-07-23 18:52:45.676073630 +0800 +--- old/net/Makefile 2022-07-26 16:28:51.526938875 +0800 ++++ new/net/Makefile 2022-07-26 16:28:51.556938875 +0800 @@ -20,6 +20,7 @@ obj-$(CONFIG_XFRM) += xfrm/ obj-$(CONFIG_UNIX_SCM) += unix/ @@ -284,8 +286,8 @@ diff -Naur old/net/Makefile new/net/Makefile obj-$(CONFIG_PACKET) += packet/ obj-$(CONFIG_NET_KEY) += key/ diff -Naur old/net/core/neighbour.c new/net/core/neighbour.c ---- old/net/core/neighbour.c 2022-07-23 18:52:45.646073630 +0800 -+++ new/net/core/neighbour.c 2022-07-23 18:52:45.676073630 +0800 +--- old/net/core/neighbour.c 2022-07-26 16:28:51.526938875 +0800 ++++ new/net/core/neighbour.c 2022-07-26 16:28:51.546938875 +0800 @@ -1779,6 +1779,11 @@ case AF_DECnet: tbl = neigh_tables[NEIGH_DN_TABLE]; @@ -299,8 +301,8 @@ diff -Naur old/net/core/neighbour.c new/net/core/neighbour.c return tbl; diff -Naur old/net/core/secure_seq.c new/net/core/secure_seq.c ---- old/net/core/secure_seq.c 2022-07-23 18:52:45.646073630 +0800 -+++ new/net/core/secure_seq.c 2022-07-23 18:52:45.676073630 +0800 +--- old/net/core/secure_seq.c 2022-07-26 16:28:51.526938875 +0800 ++++ new/net/core/secure_seq.c 2022-07-26 16:28:51.546938875 +0800 @@ -151,6 +151,51 @@ EXPORT_SYMBOL_GPL(secure_ipv4_port_ephemeral); #endif @@ -354,8 +356,8 @@ diff -Naur old/net/core/secure_seq.c new/net/core/secure_seq.c u64 secure_dccp_sequence_number(__be32 saddr, __be32 daddr, __be16 sport, __be16 dport) diff -Naur old/net/ipv4/inet_connection_sock.c new/net/ipv4/inet_connection_sock.c ---- old/net/ipv4/inet_connection_sock.c 2022-07-23 18:52:45.646073630 +0800 -+++ new/net/ipv4/inet_connection_sock.c 2022-07-23 18:52:45.676073630 +0800 +--- old/net/ipv4/inet_connection_sock.c 2022-07-26 16:28:51.526938875 +0800 ++++ new/net/ipv4/inet_connection_sock.c 2022-07-26 16:28:51.546938875 +0800 @@ -22,7 +22,34 @@ #include #include @@ -443,8 +445,8 @@ diff -Naur old/net/ipv4/inet_connection_sock.c new/net/ipv4/inet_connection_sock } else { tb->fastreuseport = 0; diff -Naur old/net/ipv4/inet_hashtables.c new/net/ipv4/inet_hashtables.c ---- old/net/ipv4/inet_hashtables.c 2022-07-23 18:52:45.656073630 +0800 -+++ new/net/ipv4/inet_hashtables.c 2022-07-23 18:52:45.676073630 +0800 +--- old/net/ipv4/inet_hashtables.c 2022-07-26 16:28:51.526938875 +0800 ++++ new/net/ipv4/inet_hashtables.c 2022-07-26 16:28:51.546938875 +0800 @@ -52,6 +52,15 @@ &sk->sk_v6_rcv_saddr, sk->sk_num, &sk->sk_v6_daddr, sk->sk_dport); @@ -462,8 +464,8 @@ diff -Naur old/net/ipv4/inet_hashtables.c new/net/ipv4/inet_hashtables.c sk->sk_rcv_saddr, sk->sk_num, sk->sk_daddr, sk->sk_dport); diff -Naur old/security/selinux/hooks.c new/security/selinux/hooks.c ---- old/security/selinux/hooks.c 2022-07-23 18:52:45.656073630 +0800 -+++ new/security/selinux/hooks.c 2022-07-23 18:52:45.676073630 +0800 +--- old/security/selinux/hooks.c 2022-07-26 16:28:51.526938875 +0800 ++++ new/security/selinux/hooks.c 2022-07-26 16:28:51.556938875 +0800 @@ -1271,7 +1271,7 @@ return SECCLASS_SMC_SOCKET; case PF_XDP: @@ -474,8 +476,8 @@ diff -Naur old/security/selinux/hooks.c new/security/selinux/hooks.c #endif } diff -Naur old/security/selinux/include/classmap.h new/security/selinux/include/classmap.h ---- old/security/selinux/include/classmap.h 2022-07-23 18:52:45.656073630 +0800 -+++ new/security/selinux/include/classmap.h 2022-07-23 18:52:45.676073630 +0800 +--- old/security/selinux/include/classmap.h 2022-07-26 16:28:51.536938875 +0800 ++++ new/security/selinux/include/classmap.h 2022-07-26 16:28:51.556938875 +0800 @@ -253,6 +253,6 @@ { NULL } }; -- Gitee