summaryrefslogtreecommitdiff
path: root/include/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2005-03-25 21:47:42 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2005-03-25 21:47:42 -0800
commit651b6a34392167cd0310869cbc0341f91ba4d956 (patch)
tree529acf3f2d82bd79b5a5eeb425cd973819380487 /include/net
parentf1aea737fd00796dc9c0a14b3c824084a9012943 (diff)
parent19a51f6fb3b1a4f1ead4ff0d13bbef401e35a94e (diff)
Merge sunset.davemloft.net:/home/davem/src/BK/network-2.6
into sunset.davemloft.net:/home/davem/src/BK/net-2.6
Diffstat (limited to 'include/net')
-rw-r--r--include/net/ip_mp_alg.h8
-rw-r--r--include/net/irda/irda.h29
-rw-r--r--include/net/netrom.h9
-rw-r--r--include/net/rose.h10
4 files changed, 32 insertions, 24 deletions
diff --git a/include/net/ip_mp_alg.h b/include/net/ip_mp_alg.h
index 9431df22782c..77225735cbd4 100644
--- a/include/net/ip_mp_alg.h
+++ b/include/net/ip_mp_alg.h
@@ -36,6 +36,7 @@ static inline int multipath_select_route(const struct flowi *flp,
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
struct ip_mp_alg_ops *ops = ip_mp_alg_table[rth->rt_multipath_alg];
+ /* mp_alg_select_route _MUST_ be implemented */
if (ops && (rth->u.dst.flags & DST_BALANCED)) {
ops->mp_alg_select_route(flp, rth, rp);
return 1;
@@ -52,7 +53,7 @@ static inline void multipath_flush(void)
for (i = IP_MP_ALG_NONE; i <= IP_MP_ALG_MAX; i++) {
struct ip_mp_alg_ops *ops = ip_mp_alg_table[i];
- if (ops)
+ if (ops && ops->mp_alg_flush)
ops->mp_alg_flush();
}
#endif
@@ -66,7 +67,7 @@ static inline void multipath_set_nhinfo(struct rtable *rth,
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
struct ip_mp_alg_ops *ops = ip_mp_alg_table[rth->rt_multipath_alg];
- if (ops)
+ if (ops && ops->mp_alg_set_nhinfo)
ops->mp_alg_set_nhinfo(network, netmask, prefixlen, nh);
#endif
}
@@ -76,7 +77,8 @@ static inline void multipath_remove(struct rtable *rth)
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
struct ip_mp_alg_ops *ops = ip_mp_alg_table[rth->rt_multipath_alg];
- if (ops && (rth->u.dst.flags & DST_BALANCED))
+ if (ops && ops->mp_alg_remove &&
+ (rth->u.dst.flags & DST_BALANCED))
ops->mp_alg_remove(rth);
#endif
}
diff --git a/include/net/irda/irda.h b/include/net/irda/irda.h
index 497f6a3977bd..05a840837fe7 100644
--- a/include/net/irda/irda.h
+++ b/include/net/irda/irda.h
@@ -66,22 +66,25 @@ extern unsigned int irda_debug;
/* use 0 for production, 1 for verification, >2 for debug */
#define IRDA_DEBUG_LEVEL 0
-#define IRDA_DEBUG(n, args...) (irda_debug >= (n)) ? (printk(KERN_DEBUG args)) : 0
-#define ASSERT(expr, func) \
-if(!(expr)) { \
- printk( "Assertion failed! %s:%s:%d %s\n", \
- __FILE__,__FUNCTION__,__LINE__,(#expr)); \
- func }
+#define IRDA_DEBUG(n, args...) \
+do { if (irda_debug >= (n)) \
+ printk(KERN_DEBUG args); \
+} while (0)
+#define IRDA_ASSERT(expr, func) \
+do { if(!(expr)) { \
+ printk( "Assertion failed! %s:%s:%d %s\n", \
+ __FILE__,__FUNCTION__,__LINE__,(#expr) ); \
+ func } } while (0)
+#define IRDA_ASSERT_LABEL(label) label
#else
-#define IRDA_DEBUG(n, args...)
-#define ASSERT(expr, func) \
-if(!(expr)) do { \
- func } while (0)
+#define IRDA_DEBUG(n, args...) do { } while (0)
+#define IRDA_ASSERT(expr, func) do { (void)(expr); } while (0)
+#define IRDA_ASSERT_LABEL(label)
#endif /* CONFIG_IRDA_DEBUG */
-#define WARNING(args...) printk(KERN_WARNING args)
-#define MESSAGE(args...) printk(KERN_INFO args)
-#define ERROR(args...) printk(KERN_ERR args)
+#define IRDA_WARNING(args...) printk(KERN_WARNING args)
+#define IRDA_MESSAGE(args...) printk(KERN_INFO args)
+#define IRDA_ERROR(args...) printk(KERN_ERR args)
/*
* Magic numbers used by Linux-IrDA. Random numbers which must be unique to
diff --git a/include/net/netrom.h b/include/net/netrom.h
index 274a166dc3bd..45f2c7616d8b 100644
--- a/include/net/netrom.h
+++ b/include/net/netrom.h
@@ -8,6 +8,7 @@
#define _NETROM_H
#include <linux/netrom.h>
#include <linux/list.h>
+#include <net/sock.h>
#define NR_NETWORK_LEN 15
#define NR_TRANSPORT_LEN 5
@@ -55,7 +56,8 @@ enum {
#define NR_MAX_WINDOW_SIZE 127 /* Maximum Window Allowable - 127 */
#define NR_MAX_PACKET_SIZE 236 /* Maximum Packet Length - 236 */
-typedef struct {
+struct nr_sock {
+ struct sock sock;
ax25_address user_addr, source_addr, dest_addr;
struct net_device *device;
unsigned char my_index, my_id;
@@ -72,10 +74,9 @@ typedef struct {
struct sk_buff_head ack_queue;
struct sk_buff_head reseq_queue;
struct sk_buff_head frag_queue;
- struct sock *sk; /* Backlink to socket */
-} nr_cb;
+};
-#define nr_sk(__sk) ((nr_cb *)(__sk)->sk_protinfo)
+#define nr_sk(sk) ((struct nr_sock *)(sk))
struct nr_neigh {
struct hlist_node neigh_node;
diff --git a/include/net/rose.h b/include/net/rose.h
index 32fb79817d31..3249b979605a 100644
--- a/include/net/rose.h
+++ b/include/net/rose.h
@@ -6,7 +6,9 @@
#ifndef _ROSE_H
#define _ROSE_H
+
#include <linux/rose.h>
+#include <net/sock.h>
#define ROSE_ADDR_LEN 5
@@ -114,7 +116,8 @@ struct rose_route {
unsigned int rand;
};
-typedef struct {
+struct rose_sock {
+ struct sock sock;
rose_address source_addr, dest_addr;
ax25_address source_call, dest_call;
unsigned char source_ndigis, dest_ndigis;
@@ -135,10 +138,9 @@ typedef struct {
struct rose_facilities_struct facilities;
struct timer_list timer;
struct timer_list idletimer;
- struct sock *sk; /* Backlink to socket */
-} rose_cb;
+};
-#define rose_sk(__sk) ((rose_cb *)(__sk)->sk_protinfo)
+#define rose_sk(sk) ((struct rose_sock *)(sk))
/* af_rose.c */
extern ax25_address rose_callsign;