aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/etherdevice.h11
-rw-r--r--include/linux/netdevice.h5
-rw-r--r--include/linux/nl80211.h20
-rw-r--r--include/linux/skbuff.h15
4 files changed, 41 insertions, 10 deletions
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
index bec8b82889bf..ab68f785fd19 100644
--- a/include/linux/etherdevice.h
+++ b/include/linux/etherdevice.h
@@ -99,6 +99,17 @@ static inline int is_broadcast_ether_addr(const u8 *addr)
99} 99}
100 100
101/** 101/**
102 * is_unicast_ether_addr - Determine if the Ethernet address is unicast
103 * @addr: Pointer to a six-byte array containing the Ethernet address
104 *
105 * Return true if the address is a unicast address.
106 */
107static inline int is_unicast_ether_addr(const u8 *addr)
108{
109 return !is_multicast_ether_addr(addr);
110}
111
112/**
102 * is_valid_ether_addr - Determine if the given Ethernet address is valid 113 * is_valid_ether_addr - Determine if the given Ethernet address is valid
103 * @addr: Pointer to a six-byte array containing the Ethernet address 114 * @addr: Pointer to a six-byte array containing the Ethernet address
104 * 115 *
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index be4957cf6511..d971346b0340 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -520,9 +520,6 @@ struct netdev_queue {
520 * please use this field instead of dev->trans_start 520 * please use this field instead of dev->trans_start
521 */ 521 */
522 unsigned long trans_start; 522 unsigned long trans_start;
523 u64 tx_bytes;
524 u64 tx_packets;
525 u64 tx_dropped;
526} ____cacheline_aligned_in_smp; 523} ____cacheline_aligned_in_smp;
527 524
528static inline int netdev_queue_numa_node_read(const struct netdev_queue *q) 525static inline int netdev_queue_numa_node_read(const struct netdev_queue *q)
@@ -2265,8 +2262,6 @@ extern void dev_load(struct net *net, const char *name);
2265extern void dev_mcast_init(void); 2262extern void dev_mcast_init(void);
2266extern struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, 2263extern struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
2267 struct rtnl_link_stats64 *storage); 2264 struct rtnl_link_stats64 *storage);
2268extern void dev_txq_stats_fold(const struct net_device *dev,
2269 struct rtnl_link_stats64 *stats);
2270 2265
2271extern int netdev_max_backlog; 2266extern int netdev_max_backlog;
2272extern int netdev_tstamp_prequeue; 2267extern int netdev_tstamp_prequeue;
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 2b89b712565b..821ffb954f14 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -148,6 +148,10 @@
148 * @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to 148 * @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to
149 * destination %NL80211_ATTR_MAC on the interface identified by 149 * destination %NL80211_ATTR_MAC on the interface identified by
150 * %NL80211_ATTR_IFINDEX. 150 * %NL80211_ATTR_IFINDEX.
151 * @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by
152 * %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP.
153 * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by
154 * %NL80211_ATTR_MAC.
151 * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the 155 * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the
152 * the interface identified by %NL80211_ATTR_IFINDEX. 156 * the interface identified by %NL80211_ATTR_IFINDEX.
153 * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC 157 * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC
@@ -612,7 +616,7 @@ enum nl80211_commands {
612 * consisting of a nested array. 616 * consisting of a nested array.
613 * 617 *
614 * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes). 618 * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes).
615 * @NL80211_ATTR_PLINK_ACTION: action to perform on the mesh peer link. 619 * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link.
616 * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path. 620 * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path.
617 * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path 621 * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path
618 * info given for %NL80211_CMD_GET_MPATH, nested attribute described at 622 * info given for %NL80211_CMD_GET_MPATH, nested attribute described at
@@ -879,7 +883,9 @@ enum nl80211_commands {
879 * See &enum nl80211_key_default_types. 883 * See &enum nl80211_key_default_types.
880 * 884 *
881 * @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be 885 * @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be
882 * changed once the mesh is active. 886 * changed once the mesh is active.
887 * @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute
888 * containing attributes from &enum nl80211_meshconf_params.
883 * 889 *
884 * @NL80211_ATTR_MAX: highest attribute number currently defined 890 * @NL80211_ATTR_MAX: highest attribute number currently defined
885 * @__NL80211_ATTR_AFTER_LAST: internal use 891 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -1225,8 +1231,6 @@ enum nl80211_rate_info {
1225 * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) 1231 * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
1226 * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station) 1232 * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station)
1227 * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station) 1233 * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)
1228 * @__NL80211_STA_INFO_AFTER_LAST: internal
1229 * @NL80211_STA_INFO_MAX: highest possible station info attribute
1230 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) 1234 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
1231 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute 1235 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
1232 * containing info as possible, see &enum nl80211_sta_info_txrate. 1236 * containing info as possible, see &enum nl80211_sta_info_txrate.
@@ -1236,6 +1240,11 @@ enum nl80211_rate_info {
1236 * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station) 1240 * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station)
1237 * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station) 1241 * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station)
1238 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) 1242 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
1243 * @NL80211_STA_INFO_LLID: the station's mesh LLID
1244 * @NL80211_STA_INFO_PLID: the station's mesh PLID
1245 * @NL80211_STA_INFO_PLINK_STATE: peer link state for the station
1246 * @__NL80211_STA_INFO_AFTER_LAST: internal
1247 * @NL80211_STA_INFO_MAX: highest possible station info attribute
1239 */ 1248 */
1240enum nl80211_sta_info { 1249enum nl80211_sta_info {
1241 __NL80211_STA_INFO_INVALID, 1250 __NL80211_STA_INFO_INVALID,
@@ -1626,7 +1635,7 @@ enum nl80211_mntr_flags {
1626 * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs) 1635 * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs)
1627 * that it takes for an HWMP information element to propagate across the mesh 1636 * that it takes for an HWMP information element to propagate across the mesh
1628 * 1637 *
1629 * @NL80211_MESHCONF_ROOTMODE: whether root mode is enabled or not 1638 * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not
1630 * 1639 *
1631 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a 1640 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
1632 * source mesh point for path selection elements. 1641 * source mesh point for path selection elements.
@@ -1678,6 +1687,7 @@ enum nl80211_meshconf_params {
1678 * element that vendors will use to identify the path selection methods and 1687 * element that vendors will use to identify the path selection methods and
1679 * metrics in use. 1688 * metrics in use.
1680 * 1689 *
1690 * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number
1681 * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use 1691 * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use
1682 */ 1692 */
1683enum nl80211_mesh_setup_params { 1693enum nl80211_mesh_setup_params {
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 20ec0a64cb9f..bf221d65d9ad 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -255,6 +255,11 @@ typedef unsigned int sk_buff_data_t;
255typedef unsigned char *sk_buff_data_t; 255typedef unsigned char *sk_buff_data_t;
256#endif 256#endif
257 257
258#if defined(CONFIG_NF_DEFRAG_IPV4) || defined(CONFIG_NF_DEFRAG_IPV4_MODULE) || \
259 defined(CONFIG_NF_DEFRAG_IPV6) || defined(CONFIG_NF_DEFRAG_IPV6_MODULE)
260#define NET_SKBUFF_NF_DEFRAG_NEEDED 1
261#endif
262
258/** 263/**
259 * struct sk_buff - socket buffer 264 * struct sk_buff - socket buffer
260 * @next: Next buffer in list 265 * @next: Next buffer in list
@@ -362,6 +367,8 @@ struct sk_buff {
362 void (*destructor)(struct sk_buff *skb); 367 void (*destructor)(struct sk_buff *skb);
363#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) 368#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
364 struct nf_conntrack *nfct; 369 struct nf_conntrack *nfct;
370#endif
371#ifdef NET_SKBUFF_NF_DEFRAG_NEEDED
365 struct sk_buff *nfct_reasm; 372 struct sk_buff *nfct_reasm;
366#endif 373#endif
367#ifdef CONFIG_BRIDGE_NETFILTER 374#ifdef CONFIG_BRIDGE_NETFILTER
@@ -2057,6 +2064,8 @@ static inline void nf_conntrack_get(struct nf_conntrack *nfct)
2057 if (nfct) 2064 if (nfct)
2058 atomic_inc(&nfct->use); 2065 atomic_inc(&nfct->use);
2059} 2066}
2067#endif
2068#ifdef NET_SKBUFF_NF_DEFRAG_NEEDED
2060static inline void nf_conntrack_get_reasm(struct sk_buff *skb) 2069static inline void nf_conntrack_get_reasm(struct sk_buff *skb)
2061{ 2070{
2062 if (skb) 2071 if (skb)
@@ -2085,6 +2094,8 @@ static inline void nf_reset(struct sk_buff *skb)
2085#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) 2094#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
2086 nf_conntrack_put(skb->nfct); 2095 nf_conntrack_put(skb->nfct);
2087 skb->nfct = NULL; 2096 skb->nfct = NULL;
2097#endif
2098#ifdef NET_SKBUFF_NF_DEFRAG_NEEDED
2088 nf_conntrack_put_reasm(skb->nfct_reasm); 2099 nf_conntrack_put_reasm(skb->nfct_reasm);
2089 skb->nfct_reasm = NULL; 2100 skb->nfct_reasm = NULL;
2090#endif 2101#endif
@@ -2101,6 +2112,8 @@ static inline void __nf_copy(struct sk_buff *dst, const struct sk_buff *src)
2101 dst->nfct = src->nfct; 2112 dst->nfct = src->nfct;
2102 nf_conntrack_get(src->nfct); 2113 nf_conntrack_get(src->nfct);
2103 dst->nfctinfo = src->nfctinfo; 2114 dst->nfctinfo = src->nfctinfo;
2115#endif
2116#ifdef NET_SKBUFF_NF_DEFRAG_NEEDED
2104 dst->nfct_reasm = src->nfct_reasm; 2117 dst->nfct_reasm = src->nfct_reasm;
2105 nf_conntrack_get_reasm(src->nfct_reasm); 2118 nf_conntrack_get_reasm(src->nfct_reasm);
2106#endif 2119#endif
@@ -2114,6 +2127,8 @@ static inline void nf_copy(struct sk_buff *dst, const struct sk_buff *src)
2114{ 2127{
2115#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) 2128#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
2116 nf_conntrack_put(dst->nfct); 2129 nf_conntrack_put(dst->nfct);
2130#endif
2131#ifdef NET_SKBUFF_NF_DEFRAG_NEEDED
2117 nf_conntrack_put_reasm(dst->nfct_reasm); 2132 nf_conntrack_put_reasm(dst->nfct_reasm);
2118#endif 2133#endif
2119#ifdef CONFIG_BRIDGE_NETFILTER 2134#ifdef CONFIG_BRIDGE_NETFILTER