diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/addrconf.h | 3 | ||||
-rw-r--r-- | include/net/ip6_route.h | 7 | ||||
-rw-r--r-- | include/net/ip_vs.h | 32 | ||||
-rw-r--r-- | include/net/mac80211.h | 11 | ||||
-rw-r--r-- | include/net/pkt_sched.h | 5 | ||||
-rw-r--r-- | include/net/sch_generic.h | 2 |
6 files changed, 39 insertions, 21 deletions
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index 06b28142b3ab..c216de528b08 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
@@ -80,7 +80,8 @@ extern struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, | |||
80 | struct net_device *dev, | 80 | struct net_device *dev, |
81 | int strict); | 81 | int strict); |
82 | 82 | ||
83 | extern int ipv6_dev_get_saddr(struct net_device *dev, | 83 | extern int ipv6_dev_get_saddr(struct net *net, |
84 | struct net_device *dev, | ||
84 | const struct in6_addr *daddr, | 85 | const struct in6_addr *daddr, |
85 | unsigned int srcprefs, | 86 | unsigned int srcprefs, |
86 | struct in6_addr *saddr); | 87 | struct in6_addr *saddr); |
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 2f8b3c06a101..5f53db7e4e57 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h | |||
@@ -38,11 +38,6 @@ struct route_info { | |||
38 | #define RT6_LOOKUP_F_SRCPREF_COA 0x00000020 | 38 | #define RT6_LOOKUP_F_SRCPREF_COA 0x00000020 |
39 | 39 | ||
40 | 40 | ||
41 | #ifdef CONFIG_IPV6_MULTIPLE_TABLES | ||
42 | extern struct rt6_info *ip6_prohibit_entry; | ||
43 | extern struct rt6_info *ip6_blk_hole_entry; | ||
44 | #endif | ||
45 | |||
46 | extern void ip6_route_input(struct sk_buff *skb); | 41 | extern void ip6_route_input(struct sk_buff *skb); |
47 | 42 | ||
48 | extern struct dst_entry * ip6_route_output(struct net *net, | 43 | extern struct dst_entry * ip6_route_output(struct net *net, |
@@ -112,13 +107,13 @@ struct rt6_rtnl_dump_arg | |||
112 | { | 107 | { |
113 | struct sk_buff *skb; | 108 | struct sk_buff *skb; |
114 | struct netlink_callback *cb; | 109 | struct netlink_callback *cb; |
110 | struct net *net; | ||
115 | }; | 111 | }; |
116 | 112 | ||
117 | extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); | 113 | extern int rt6_dump_route(struct rt6_info *rt, void *p_arg); |
118 | extern void rt6_ifdown(struct net *net, struct net_device *dev); | 114 | extern void rt6_ifdown(struct net *net, struct net_device *dev); |
119 | extern void rt6_mtu_change(struct net_device *dev, unsigned mtu); | 115 | extern void rt6_mtu_change(struct net_device *dev, unsigned mtu); |
120 | 116 | ||
121 | extern rwlock_t rt6_lock; | ||
122 | 117 | ||
123 | /* | 118 | /* |
124 | * Store a destination cache entry in a socket | 119 | * Store a destination cache entry in a socket |
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index cbb59ebed4ae..7312c3dd309f 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h | |||
@@ -140,8 +140,24 @@ struct ip_vs_seq { | |||
140 | 140 | ||
141 | 141 | ||
142 | /* | 142 | /* |
143 | * IPVS statistics object | 143 | * IPVS statistics objects |
144 | */ | 144 | */ |
145 | struct ip_vs_estimator { | ||
146 | struct list_head list; | ||
147 | |||
148 | u64 last_inbytes; | ||
149 | u64 last_outbytes; | ||
150 | u32 last_conns; | ||
151 | u32 last_inpkts; | ||
152 | u32 last_outpkts; | ||
153 | |||
154 | u32 cps; | ||
155 | u32 inpps; | ||
156 | u32 outpps; | ||
157 | u32 inbps; | ||
158 | u32 outbps; | ||
159 | }; | ||
160 | |||
145 | struct ip_vs_stats | 161 | struct ip_vs_stats |
146 | { | 162 | { |
147 | __u32 conns; /* connections scheduled */ | 163 | __u32 conns; /* connections scheduled */ |
@@ -156,7 +172,15 @@ struct ip_vs_stats | |||
156 | __u32 inbps; /* current in byte rate */ | 172 | __u32 inbps; /* current in byte rate */ |
157 | __u32 outbps; /* current out byte rate */ | 173 | __u32 outbps; /* current out byte rate */ |
158 | 174 | ||
175 | /* | ||
176 | * Don't add anything before the lock, because we use memcpy() to copy | ||
177 | * the members before the lock to struct ip_vs_stats_user in | ||
178 | * ip_vs_ctl.c. | ||
179 | */ | ||
180 | |||
159 | spinlock_t lock; /* spin lock */ | 181 | spinlock_t lock; /* spin lock */ |
182 | |||
183 | struct ip_vs_estimator est; /* estimator */ | ||
160 | }; | 184 | }; |
161 | 185 | ||
162 | struct dst_entry; | 186 | struct dst_entry; |
@@ -440,7 +464,7 @@ struct ip_vs_app | |||
440 | */ | 464 | */ |
441 | extern const char *ip_vs_proto_name(unsigned proto); | 465 | extern const char *ip_vs_proto_name(unsigned proto); |
442 | extern void ip_vs_init_hash_table(struct list_head *table, int rows); | 466 | extern void ip_vs_init_hash_table(struct list_head *table, int rows); |
443 | #define IP_VS_INIT_HASH_TABLE(t) ip_vs_init_hash_table(t, sizeof(t)/sizeof(t[0])) | 467 | #define IP_VS_INIT_HASH_TABLE(t) ip_vs_init_hash_table((t), ARRAY_SIZE((t))) |
444 | 468 | ||
445 | #define IP_VS_APP_TYPE_FTP 1 | 469 | #define IP_VS_APP_TYPE_FTP 1 |
446 | 470 | ||
@@ -620,7 +644,7 @@ extern int sysctl_ip_vs_expire_quiescent_template; | |||
620 | extern int sysctl_ip_vs_sync_threshold[2]; | 644 | extern int sysctl_ip_vs_sync_threshold[2]; |
621 | extern int sysctl_ip_vs_nat_icmp_send; | 645 | extern int sysctl_ip_vs_nat_icmp_send; |
622 | extern struct ip_vs_stats ip_vs_stats; | 646 | extern struct ip_vs_stats ip_vs_stats; |
623 | extern struct ctl_path net_vs_ctl_path[]; | 647 | extern const struct ctl_path net_vs_ctl_path[]; |
624 | 648 | ||
625 | extern struct ip_vs_service * | 649 | extern struct ip_vs_service * |
626 | ip_vs_service_get(__u32 fwmark, __u16 protocol, __be32 vaddr, __be16 vport); | 650 | ip_vs_service_get(__u32 fwmark, __u16 protocol, __be32 vaddr, __be16 vport); |
@@ -659,7 +683,7 @@ extern void ip_vs_sync_conn(struct ip_vs_conn *cp); | |||
659 | /* | 683 | /* |
660 | * IPVS rate estimator prototypes (from ip_vs_est.c) | 684 | * IPVS rate estimator prototypes (from ip_vs_est.c) |
661 | */ | 685 | */ |
662 | extern int ip_vs_new_estimator(struct ip_vs_stats *stats); | 686 | extern void ip_vs_new_estimator(struct ip_vs_stats *stats); |
663 | extern void ip_vs_kill_estimator(struct ip_vs_stats *stats); | 687 | extern void ip_vs_kill_estimator(struct ip_vs_stats *stats); |
664 | extern void ip_vs_zero_estimator(struct ip_vs_stats *stats); | 688 | extern void ip_vs_zero_estimator(struct ip_vs_stats *stats); |
665 | 689 | ||
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index b397e4d984c7..ff137fd7714f 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -708,10 +708,7 @@ enum ieee80211_tkip_key_type { | |||
708 | * rely on the host system for such buffering. This option is used | 708 | * rely on the host system for such buffering. This option is used |
709 | * to configure the IEEE 802.11 upper layer to buffer broadcast and | 709 | * to configure the IEEE 802.11 upper layer to buffer broadcast and |
710 | * multicast frames when there are power saving stations so that | 710 | * multicast frames when there are power saving stations so that |
711 | * the driver can fetch them with ieee80211_get_buffered_bc(). Note | 711 | * the driver can fetch them with ieee80211_get_buffered_bc(). |
712 | * that not setting this flag works properly only when the | ||
713 | * %IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE is also not set because | ||
714 | * otherwise the stack will not know when the DTIM beacon was sent. | ||
715 | * | 712 | * |
716 | * @IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE: | 713 | * @IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE: |
717 | * Hardware is not capable of short slot operation on the 2.4 GHz band. | 714 | * Hardware is not capable of short slot operation on the 2.4 GHz band. |
@@ -1099,10 +1096,8 @@ enum ieee80211_ampdu_mlme_action { | |||
1099 | * See the section "Frame filtering" for more information. | 1096 | * See the section "Frame filtering" for more information. |
1100 | * This callback must be implemented and atomic. | 1097 | * This callback must be implemented and atomic. |
1101 | * | 1098 | * |
1102 | * @set_tim: Set TIM bit. If the hardware/firmware takes care of beacon | 1099 | * @set_tim: Set TIM bit. mac80211 calls this function when a TIM bit |
1103 | * generation (that is, %IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE is set) | 1100 | * must be set or cleared for a given AID. Must be atomic. |
1104 | * mac80211 calls this function when a TIM bit must be set or cleared | ||
1105 | * for a given AID. Must be atomic. | ||
1106 | * | 1101 | * |
1107 | * @set_key: See the section "Hardware crypto acceleration" | 1102 | * @set_key: See the section "Hardware crypto acceleration" |
1108 | * This callback can sleep, and is only called between add_interface | 1103 | * This callback can sleep, and is only called between add_interface |
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index 6affcfaa123e..853fe83d9f37 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h | |||
@@ -89,7 +89,10 @@ extern void __qdisc_run(struct Qdisc *q); | |||
89 | 89 | ||
90 | static inline void qdisc_run(struct Qdisc *q) | 90 | static inline void qdisc_run(struct Qdisc *q) |
91 | { | 91 | { |
92 | if (!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) | 92 | struct netdev_queue *txq = q->dev_queue; |
93 | |||
94 | if (!netif_tx_queue_stopped(txq) && | ||
95 | !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) | ||
93 | __qdisc_run(q); | 96 | __qdisc_run(q); |
94 | } | 97 | } |
95 | 98 | ||
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index a7abfda3e447..84d25f2e6188 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -27,6 +27,7 @@ enum qdisc_state_t | |||
27 | { | 27 | { |
28 | __QDISC_STATE_RUNNING, | 28 | __QDISC_STATE_RUNNING, |
29 | __QDISC_STATE_SCHED, | 29 | __QDISC_STATE_SCHED, |
30 | __QDISC_STATE_DEACTIVATED, | ||
30 | }; | 31 | }; |
31 | 32 | ||
32 | struct qdisc_size_table { | 33 | struct qdisc_size_table { |
@@ -60,7 +61,6 @@ struct Qdisc | |||
60 | struct gnet_stats_basic bstats; | 61 | struct gnet_stats_basic bstats; |
61 | struct gnet_stats_queue qstats; | 62 | struct gnet_stats_queue qstats; |
62 | struct gnet_stats_rate_est rate_est; | 63 | struct gnet_stats_rate_est rate_est; |
63 | struct rcu_head q_rcu; | ||
64 | int (*reshape_fail)(struct sk_buff *skb, | 64 | int (*reshape_fail)(struct sk_buff *skb, |
65 | struct Qdisc *q); | 65 | struct Qdisc *q); |
66 | 66 | ||