blob: d4a362c9e4b3bb403e1cce5614e323c3d542ab1b [file] [log] [blame]
Thomas Gleixner1accad52022-06-07 16:11:20 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Ricardo Labiaga55ae1aa2009-04-01 09:23:03 -04002/******************************************************************************
3
4(c) 2008 NetApp. All Rights Reserved.
5
Ricardo Labiaga55ae1aa2009-04-01 09:23:03 -04006
7******************************************************************************/
8
9/*
10 * Functions and macros used internally by RPC
11 */
12
13#ifndef _NET_SUNRPC_SUNRPC_H
14#define _NET_SUNRPC_SUNRPC_H
15
Benny Halevy69518672009-09-10 12:25:04 +030016#include <linux/net.h>
17
18/*
19 * Header for dynamically allocated rpc buffers.
20 */
21struct rpc_buffer {
22 size_t len;
23 char data[];
24};
25
NeilBrownef11ce22014-05-12 11:22:47 +100026static inline int sock_is_loopback(struct sock *sk)
27{
28 struct dst_entry *dst;
29 int loopback = 0;
30 rcu_read_lock();
31 dst = rcu_dereference(sk->sk_dst_cache);
32 if (dst && dst->dev &&
33 (dst->dev->features & NETIF_F_LOOPBACK))
34 loopback = 1;
35 rcu_read_unlock();
36 return loopback;
37}
38
Stanislav Kinsbursky80df9d22012-01-11 19:18:17 +040039int rpc_clients_notifier_register(void);
40void rpc_clients_notifier_unregister(void);
NeilBrownf45db2b2020-05-22 12:01:32 +100041void auth_domain_cleanup(void);
Ricardo Labiaga55ae1aa2009-04-01 09:23:03 -040042#endif /* _NET_SUNRPC_SUNRPC_H */