aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rtnetlink.h
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2015-01-15 12:46:14 -0500
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-01-15 12:46:14 -0500
commit0c49cd295d42d0032af11d55e2140dbec11dc8d0 (patch)
tree1e7d0e50b6b6d6e4de1fb6bb0b6d856c3932da58 /include/linux/rtnetlink.h
parent0c3e99437a66e4c869c60c2398449e6d98f3a988 (diff)
parenteaa27f34e91a14cdceed26ed6c6793ec1d186115 (diff)
Merge tag 'v3.19-rc4' into next
Merge with mainline to bring in the latest thermal and other changes.
Diffstat (limited to 'include/linux/rtnetlink.h')
-rw-r--r--include/linux/rtnetlink.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index 167bae7bdfa4..5db76a32fcab 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -17,6 +17,11 @@ extern int rtnl_put_cacheinfo(struct sk_buff *skb, struct dst_entry *dst,
17 u32 id, long expires, u32 error); 17 u32 id, long expires, u32 error);
18 18
19void rtmsg_ifinfo(int type, struct net_device *dev, unsigned change, gfp_t flags); 19void rtmsg_ifinfo(int type, struct net_device *dev, unsigned change, gfp_t flags);
20struct sk_buff *rtmsg_ifinfo_build_skb(int type, struct net_device *dev,
21 unsigned change, gfp_t flags);
22void rtmsg_ifinfo_send(struct sk_buff *skb, struct net_device *dev,
23 gfp_t flags);
24
20 25
21/* RTNL is used as a global lock for all changes to network configuration */ 26/* RTNL is used as a global lock for all changes to network configuration */
22extern void rtnl_lock(void); 27extern void rtnl_lock(void);
@@ -47,6 +52,16 @@ static inline int lockdep_rtnl_is_held(void)
47 rcu_dereference_check(p, lockdep_rtnl_is_held()) 52 rcu_dereference_check(p, lockdep_rtnl_is_held())
48 53
49/** 54/**
55 * rcu_dereference_bh_rtnl - rcu_dereference_bh with debug checking
56 * @p: The pointer to read, prior to dereference
57 *
58 * Do an rcu_dereference_bh(p), but check caller either holds rcu_read_lock_bh()
59 * or RTNL. Note : Please prefer rtnl_dereference() or rcu_dereference_bh()
60 */
61#define rcu_dereference_bh_rtnl(p) \
62 rcu_dereference_bh_check(p, lockdep_rtnl_is_held())
63
64/**
50 * rtnl_dereference - fetch RCU pointer when updates are prevented by RTNL 65 * rtnl_dereference - fetch RCU pointer when updates are prevented by RTNL
51 * @p: The pointer to read, prior to dereferencing 66 * @p: The pointer to read, prior to dereferencing
52 * 67 *
@@ -84,12 +99,15 @@ extern int ndo_dflt_fdb_add(struct ndmsg *ndm,
84 struct nlattr *tb[], 99 struct nlattr *tb[],
85 struct net_device *dev, 100 struct net_device *dev,
86 const unsigned char *addr, 101 const unsigned char *addr,
87 u16 flags); 102 u16 vid,
103 u16 flags);
88extern int ndo_dflt_fdb_del(struct ndmsg *ndm, 104extern int ndo_dflt_fdb_del(struct ndmsg *ndm,
89 struct nlattr *tb[], 105 struct nlattr *tb[],
90 struct net_device *dev, 106 struct net_device *dev,
91 const unsigned char *addr); 107 const unsigned char *addr,
108 u16 vid);
92 109
93extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, 110extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
94 struct net_device *dev, u16 mode); 111 struct net_device *dev, u16 mode,
112 u32 flags, u32 mask);
95#endif /* __LINUX_RTNETLINK_H */ 113#endif /* __LINUX_RTNETLINK_H */