mirror of https://gitee.com/openkylin/linux.git
ipv4: Kill FLOWI_FLAG_RT_NOCACHE and associated code.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d2d68ba9fe
commit
ba3f7f04ef
|
@ -21,7 +21,6 @@ struct flowi_common {
|
||||||
__u8 flowic_flags;
|
__u8 flowic_flags;
|
||||||
#define FLOWI_FLAG_ANYSRC 0x01
|
#define FLOWI_FLAG_ANYSRC 0x01
|
||||||
#define FLOWI_FLAG_CAN_SLEEP 0x02
|
#define FLOWI_FLAG_CAN_SLEEP 0x02
|
||||||
#define FLOWI_FLAG_RT_NOCACHE 0x04
|
|
||||||
__u32 flowic_secid;
|
__u32 flowic_secid;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -250,8 +250,7 @@ extern int inet_csk_get_port(struct sock *sk, unsigned short snum);
|
||||||
|
|
||||||
extern struct dst_entry* inet_csk_route_req(struct sock *sk,
|
extern struct dst_entry* inet_csk_route_req(struct sock *sk,
|
||||||
struct flowi4 *fl4,
|
struct flowi4 *fl4,
|
||||||
const struct request_sock *req,
|
const struct request_sock *req);
|
||||||
bool nocache);
|
|
||||||
extern struct dst_entry* inet_csk_route_child_sock(struct sock *sk,
|
extern struct dst_entry* inet_csk_route_child_sock(struct sock *sk,
|
||||||
struct sock *newsk,
|
struct sock *newsk,
|
||||||
const struct request_sock *req);
|
const struct request_sock *req);
|
||||||
|
|
|
@ -508,7 +508,7 @@ static int dccp_v4_send_response(struct sock *sk, struct request_sock *req,
|
||||||
struct dst_entry *dst;
|
struct dst_entry *dst;
|
||||||
struct flowi4 fl4;
|
struct flowi4 fl4;
|
||||||
|
|
||||||
dst = inet_csk_route_req(sk, &fl4, req, false);
|
dst = inet_csk_route_req(sk, &fl4, req);
|
||||||
if (dst == NULL)
|
if (dst == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
|
|
@ -368,8 +368,7 @@ EXPORT_SYMBOL(inet_csk_reset_keepalive_timer);
|
||||||
|
|
||||||
struct dst_entry *inet_csk_route_req(struct sock *sk,
|
struct dst_entry *inet_csk_route_req(struct sock *sk,
|
||||||
struct flowi4 *fl4,
|
struct flowi4 *fl4,
|
||||||
const struct request_sock *req,
|
const struct request_sock *req)
|
||||||
bool nocache)
|
|
||||||
{
|
{
|
||||||
struct rtable *rt;
|
struct rtable *rt;
|
||||||
const struct inet_request_sock *ireq = inet_rsk(req);
|
const struct inet_request_sock *ireq = inet_rsk(req);
|
||||||
|
@ -377,8 +376,6 @@ struct dst_entry *inet_csk_route_req(struct sock *sk,
|
||||||
struct net *net = sock_net(sk);
|
struct net *net = sock_net(sk);
|
||||||
int flags = inet_sk_flowi_flags(sk);
|
int flags = inet_sk_flowi_flags(sk);
|
||||||
|
|
||||||
if (nocache)
|
|
||||||
flags |= FLOWI_FLAG_RT_NOCACHE;
|
|
||||||
flowi4_init_output(fl4, sk->sk_bound_dev_if, sk->sk_mark,
|
flowi4_init_output(fl4, sk->sk_bound_dev_if, sk->sk_mark,
|
||||||
RT_CONN_FLAGS(sk), RT_SCOPE_UNIVERSE,
|
RT_CONN_FLAGS(sk), RT_SCOPE_UNIVERSE,
|
||||||
sk->sk_protocol,
|
sk->sk_protocol,
|
||||||
|
|
|
@ -1836,9 +1836,6 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
|
||||||
|
|
||||||
rt_set_nexthop(rth, fl4->daddr, res, fnhe, fi, type, 0);
|
rt_set_nexthop(rth, fl4->daddr, res, fnhe, fi, type, 0);
|
||||||
|
|
||||||
if (fl4->flowi4_flags & FLOWI_FLAG_RT_NOCACHE)
|
|
||||||
rth->dst.flags |= DST_NOCACHE;
|
|
||||||
|
|
||||||
return rth;
|
return rth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -824,7 +824,7 @@ static int tcp_v4_send_synack(struct sock *sk, struct dst_entry *dst,
|
||||||
struct sk_buff * skb;
|
struct sk_buff * skb;
|
||||||
|
|
||||||
/* First, grab a route. */
|
/* First, grab a route. */
|
||||||
if (!dst && (dst = inet_csk_route_req(sk, &fl4, req, nocache)) == NULL)
|
if (!dst && (dst = inet_csk_route_req(sk, &fl4, req)) == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
skb = tcp_make_synack(sk, dst, req, rvp);
|
skb = tcp_make_synack(sk, dst, req, rvp);
|
||||||
|
@ -1378,7 +1378,7 @@ int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb)
|
||||||
*/
|
*/
|
||||||
if (tmp_opt.saw_tstamp &&
|
if (tmp_opt.saw_tstamp &&
|
||||||
tcp_death_row.sysctl_tw_recycle &&
|
tcp_death_row.sysctl_tw_recycle &&
|
||||||
(dst = inet_csk_route_req(sk, &fl4, req, want_cookie)) != NULL &&
|
(dst = inet_csk_route_req(sk, &fl4, req)) != NULL &&
|
||||||
fl4.daddr == saddr) {
|
fl4.daddr == saddr) {
|
||||||
if (!tcp_peer_is_proven(req, dst, true)) {
|
if (!tcp_peer_is_proven(req, dst, true)) {
|
||||||
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_PAWSPASSIVEREJECTED);
|
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_PAWSPASSIVEREJECTED);
|
||||||
|
|
Loading…
Reference in New Issue