3de433a3b1
timer-Reduce-timer-migration-overhead-if-disabled.patch timer-Minimize-nohz-off-overhead.patch two patches already included in upgraded kernel remove description in meta patch. fix compile error in drbd_req.c for improper usage of request queue API; fix warning in kernel/bpf/core.c for implicit declaration trace call for CFLAG -Werror-implicit-function-declaration. remove patch change is_swiotlb_buffer in lib/swiotlb.c As change already in new kernel code. explicitly disable three config, CONFIG_TORTURE_TEST=n, CONFIG_RCU_TORTURE_TEST=n, CONFIG_LOCK_TORTURE_TEST=n. As torture.c, locktorture.c, rcutorture.c are introduced by new kernel release, which request CONFIG_PERCPU_RWSEM be enabled. But config file generated by merge kernel-3.10.0-x86_64-rt.config in source rpm and kernel-3.10.0-x86_64-rt.config.tis_extra in meta_patch, disable CONFIG_PERCPU_RWSEM, which makes build error with "undefined symbol". These three file are built to generate one module for one upper layer torture test tool, so explicitly disable these config. Depends-On: https://review.openstack.org/625773/ Story: 2004521 Task: 28352 Change-Id: I0f7e7db51aa38e98eae1219196a926ed8fc1b152 Signed-off-by: Martin, Chen <haochuan.z.chen@intel.com> Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
59 lines
2.6 KiB
Diff
59 lines
2.6 KiB
Diff
From a4302d3590621f64e639f8e075f423d5120c007e Mon Sep 17 00:00:00 2001
|
|
Message-Id: <a4302d3590621f64e639f8e075f423d5120c007e.1528226387.git.Jim.Somerville@windriver.com>
|
|
In-Reply-To: <c8270e79f6b7008fde44b8d5aa6314d8cf89d3ed.1528226387.git.Jim.Somerville@windriver.com>
|
|
References: <c8270e79f6b7008fde44b8d5aa6314d8cf89d3ed.1528226387.git.Jim.Somerville@windriver.com>
|
|
From: Allain Legacy <allain.legacy@windriver.com>
|
|
Date: Fri, 29 Jan 2016 12:13:40 -0500
|
|
Subject: [PATCH 06/32] CGTS-3744: route: do not cache fib route info on local
|
|
routes with oif
|
|
|
|
For local routes that require a particular output interface we do not want to
|
|
cache the result. Caching the result causes incorrect behaviour when there are
|
|
multiple source addresses on the interface. The end result being that if the
|
|
intended recipient is waiting on that interface for the packet he won't receive
|
|
it because it will be delivered on the loopback interface and the IP_PKTINFO
|
|
ipi_ifindex will be set to the loopback interface as well.
|
|
|
|
This can be tested by running a program such as "dhcp_release" which attempts
|
|
to inject a packet on a particular interface so that it is received by another
|
|
program on the same board. The receiving process should see an IP_PKTINFO
|
|
ipi_ifndex value of the source interface (e.g., eth1) instead of the loopback
|
|
interface (e.g., lo). The packet will still appear on the loopback interface
|
|
in tcpdump but the important aspect is that the CMSG info is correct.
|
|
|
|
Sample dhcp_release command line:
|
|
|
|
dhcp_release eth1 192.168.204.222 02:11:33:22:44:66
|
|
|
|
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
|
|
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
|
---
|
|
net/ipv4/route.c | 11 +++++++++++
|
|
1 file changed, 11 insertions(+)
|
|
|
|
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
|
|
index f19aca2..5246096 100644
|
|
--- a/net/ipv4/route.c
|
|
+++ b/net/ipv4/route.c
|
|
@@ -2121,6 +2121,17 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
|
|
*/
|
|
if (fi && res->prefixlen < 4)
|
|
fi = NULL;
|
|
+ } else if ((type == RTN_LOCAL) && (orig_oif != 0)) {
|
|
+ /*
|
|
+ * For local routes that require a particular output interface we do
|
|
+ * not want to cache the result. Caching the result causes incorrect
|
|
+ * behaviour when there are multiple source addresses on the interface.
|
|
+ * The end result being that if the intended recipient is waiting on
|
|
+ * that interface for the packet he won't receive it because it will be
|
|
+ * delivered on the loopback interface and the IP_PKTINFO ipi_ifindex
|
|
+ * will be set to the loopback interface as well.
|
|
+ */
|
|
+ fi = NULL;
|
|
}
|
|
|
|
fnhe = NULL;
|
|
--
|
|
1.8.3.1
|
|
|