diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/etherdevice.h | 11 | ||||
-rw-r--r-- | include/linux/netdevice.h | 5 | ||||
-rw-r--r-- | include/linux/nl80211.h | 20 | ||||
-rw-r--r-- | include/linux/skbuff.h | 15 |
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 | */ | ||
107 | static 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 | ||
528 | static inline int netdev_queue_numa_node_read(const struct netdev_queue *q) | 525 | static 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); | |||
2265 | extern void dev_mcast_init(void); | 2262 | extern void dev_mcast_init(void); |
2266 | extern struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, | 2263 | extern struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, |
2267 | struct rtnl_link_stats64 *storage); | 2264 | struct rtnl_link_stats64 *storage); |
2268 | extern void dev_txq_stats_fold(const struct net_device *dev, | ||
2269 | struct rtnl_link_stats64 *stats); | ||
2270 | 2265 | ||
2271 | extern int netdev_max_backlog; | 2266 | extern int netdev_max_backlog; |
2272 | extern int netdev_tstamp_prequeue; | 2267 | extern 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 | */ |
1240 | enum nl80211_sta_info { | 1249 | enum 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 | */ |
1683 | enum nl80211_mesh_setup_params { | 1693 | enum 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; | |||
255 | typedef unsigned char *sk_buff_data_t; | 255 | typedef 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 | ||
2060 | static inline void nf_conntrack_get_reasm(struct sk_buff *skb) | 2069 | static 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 |