diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2015-01-15 12:46:14 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2015-01-15 12:46:14 -0500 |
| commit | 0c49cd295d42d0032af11d55e2140dbec11dc8d0 (patch) | |
| tree | 1e7d0e50b6b6d6e4de1fb6bb0b6d856c3932da58 /include/linux/rtnetlink.h | |
| parent | 0c3e99437a66e4c869c60c2398449e6d98f3a988 (diff) | |
| parent | eaa27f34e91a14cdceed26ed6c6793ec1d186115 (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.h | 24 |
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 | ||
| 19 | void rtmsg_ifinfo(int type, struct net_device *dev, unsigned change, gfp_t flags); | 19 | void rtmsg_ifinfo(int type, struct net_device *dev, unsigned change, gfp_t flags); |
| 20 | struct sk_buff *rtmsg_ifinfo_build_skb(int type, struct net_device *dev, | ||
| 21 | unsigned change, gfp_t flags); | ||
| 22 | void 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 */ |
| 22 | extern void rtnl_lock(void); | 27 | extern 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); | ||
| 88 | extern int ndo_dflt_fdb_del(struct ndmsg *ndm, | 104 | extern 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 | ||
| 93 | extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | 110 | extern 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 */ |
