diff options
-rw-r--r-- | include/linux/dn.h | 44 | ||||
-rw-r--r-- | include/net/dn.h | 105 | ||||
-rw-r--r-- | include/net/dn_dev.h | 88 | ||||
-rw-r--r-- | include/net/dn_fib.h | 22 | ||||
-rw-r--r-- | include/net/dn_neigh.h | 4 | ||||
-rw-r--r-- | include/net/dn_nsp.h | 72 | ||||
-rw-r--r-- | include/net/dn_route.h | 12 | ||||
-rw-r--r-- | include/net/flow.h | 8 | ||||
-rw-r--r-- | net/decnet/af_decnet.c | 16 | ||||
-rw-r--r-- | net/decnet/dn_dev.c | 34 | ||||
-rw-r--r-- | net/decnet/dn_fib.c | 8 | ||||
-rw-r--r-- | net/decnet/dn_neigh.c | 24 | ||||
-rw-r--r-- | net/decnet/dn_nsp_in.c | 28 | ||||
-rw-r--r-- | net/decnet/dn_nsp_out.c | 38 | ||||
-rw-r--r-- | net/decnet/dn_route.c | 57 | ||||
-rw-r--r-- | net/decnet/dn_rules.c | 18 | ||||
-rw-r--r-- | net/decnet/dn_table.c | 12 | ||||
-rw-r--r-- | net/decnet/sysctl_net_decnet.c | 12 |
18 files changed, 302 insertions, 300 deletions
diff --git a/include/linux/dn.h b/include/linux/dn.h index 782cae49e64c..10b6a6fd5837 100644 --- a/include/linux/dn.h +++ b/include/linux/dn.h | |||
@@ -71,17 +71,17 @@ | |||
71 | 71 | ||
72 | struct dn_naddr | 72 | struct dn_naddr |
73 | { | 73 | { |
74 | unsigned short a_len; | 74 | __le16 a_len; |
75 | unsigned char a_addr[DN_MAXADDL]; | 75 | __u8 a_addr[DN_MAXADDL]; /* Two bytes little endian */ |
76 | }; | 76 | }; |
77 | 77 | ||
78 | struct sockaddr_dn | 78 | struct sockaddr_dn |
79 | { | 79 | { |
80 | unsigned short sdn_family; | 80 | __u16 sdn_family; |
81 | unsigned char sdn_flags; | 81 | __u8 sdn_flags; |
82 | unsigned char sdn_objnum; | 82 | __u8 sdn_objnum; |
83 | unsigned short sdn_objnamel; | 83 | __le16 sdn_objnamel; |
84 | unsigned char sdn_objname[DN_MAXOBJL]; | 84 | __u8 sdn_objname[DN_MAXOBJL]; |
85 | struct dn_naddr sdn_add; | 85 | struct dn_naddr sdn_add; |
86 | }; | 86 | }; |
87 | #define sdn_nodeaddrl sdn_add.a_len /* Node address length */ | 87 | #define sdn_nodeaddrl sdn_add.a_len /* Node address length */ |
@@ -93,38 +93,38 @@ struct sockaddr_dn | |||
93 | * DECnet set/get DSO_CONDATA, DSO_DISDATA (optional data) structure | 93 | * DECnet set/get DSO_CONDATA, DSO_DISDATA (optional data) structure |
94 | */ | 94 | */ |
95 | struct optdata_dn { | 95 | struct optdata_dn { |
96 | unsigned short opt_status; /* Extended status return */ | 96 | __le16 opt_status; /* Extended status return */ |
97 | #define opt_sts opt_status | 97 | #define opt_sts opt_status |
98 | unsigned short opt_optl; /* Length of user data */ | 98 | __le16 opt_optl; /* Length of user data */ |
99 | unsigned char opt_data[16]; /* User data */ | 99 | __u8 opt_data[16]; /* User data */ |
100 | }; | 100 | }; |
101 | 101 | ||
102 | struct accessdata_dn | 102 | struct accessdata_dn |
103 | { | 103 | { |
104 | unsigned char acc_accl; | 104 | __u8 acc_accl; |
105 | unsigned char acc_acc[DN_MAXACCL]; | 105 | __u8 acc_acc[DN_MAXACCL]; |
106 | unsigned char acc_passl; | 106 | __u8 acc_passl; |
107 | unsigned char acc_pass[DN_MAXACCL]; | 107 | __u8 acc_pass[DN_MAXACCL]; |
108 | unsigned char acc_userl; | 108 | __u8 acc_userl; |
109 | unsigned char acc_user[DN_MAXACCL]; | 109 | __u8 acc_user[DN_MAXACCL]; |
110 | }; | 110 | }; |
111 | 111 | ||
112 | /* | 112 | /* |
113 | * DECnet logical link information structure | 113 | * DECnet logical link information structure |
114 | */ | 114 | */ |
115 | struct linkinfo_dn { | 115 | struct linkinfo_dn { |
116 | unsigned short idn_segsize; /* Segment size for link */ | 116 | __le16 idn_segsize; /* Segment size for link */ |
117 | unsigned char idn_linkstate; /* Logical link state */ | 117 | __u8 idn_linkstate; /* Logical link state */ |
118 | }; | 118 | }; |
119 | 119 | ||
120 | /* | 120 | /* |
121 | * Ethernet address format (for DECnet) | 121 | * Ethernet address format (for DECnet) |
122 | */ | 122 | */ |
123 | union etheraddress { | 123 | union etheraddress { |
124 | unsigned char dne_addr[6]; /* Full ethernet address */ | 124 | __u8 dne_addr[6]; /* Full ethernet address */ |
125 | struct { | 125 | struct { |
126 | unsigned char dne_hiord[4]; /* DECnet HIORD prefix */ | 126 | __u8 dne_hiord[4]; /* DECnet HIORD prefix */ |
127 | unsigned char dne_nodeaddr[2]; /* DECnet node address */ | 127 | __u8 dne_nodeaddr[2]; /* DECnet node address */ |
128 | } dne_remote; | 128 | } dne_remote; |
129 | }; | 129 | }; |
130 | 130 | ||
@@ -133,7 +133,7 @@ union etheraddress { | |||
133 | * DECnet physical socket address format | 133 | * DECnet physical socket address format |
134 | */ | 134 | */ |
135 | struct dn_addr { | 135 | struct dn_addr { |
136 | unsigned short dna_family; /* AF_DECnet */ | 136 | __le16 dna_family; /* AF_DECnet */ |
137 | union etheraddress dna_netaddr; /* DECnet ethernet address */ | 137 | union etheraddress dna_netaddr; /* DECnet ethernet address */ |
138 | }; | 138 | }; |
139 | 139 | ||
diff --git a/include/net/dn.h b/include/net/dn.h index a4b6168e1e25..465b78302782 100644 --- a/include/net/dn.h +++ b/include/net/dn.h | |||
@@ -6,10 +6,8 @@ | |||
6 | #include <net/tcp.h> | 6 | #include <net/tcp.h> |
7 | #include <asm/byteorder.h> | 7 | #include <asm/byteorder.h> |
8 | 8 | ||
9 | typedef unsigned short dn_address; | 9 | #define dn_ntohs(x) le16_to_cpu(x) |
10 | 10 | #define dn_htons(x) cpu_to_le16(x) | |
11 | #define dn_ntohs(x) le16_to_cpu((unsigned short)(x)) | ||
12 | #define dn_htons(x) cpu_to_le16((unsigned short)(x)) | ||
13 | 11 | ||
14 | struct dn_scp /* Session Control Port */ | 12 | struct dn_scp /* Session Control Port */ |
15 | { | 13 | { |
@@ -31,36 +29,36 @@ struct dn_scp /* Session Control Port */ | |||
31 | #define DN_CL 15 /* Closed */ | 29 | #define DN_CL 15 /* Closed */ |
32 | #define DN_CN 16 /* Closed Notification */ | 30 | #define DN_CN 16 /* Closed Notification */ |
33 | 31 | ||
34 | unsigned short addrloc; | 32 | __le16 addrloc; |
35 | unsigned short addrrem; | 33 | __le16 addrrem; |
36 | unsigned short numdat; | 34 | __u16 numdat; |
37 | unsigned short numoth; | 35 | __u16 numoth; |
38 | unsigned short numoth_rcv; | 36 | __u16 numoth_rcv; |
39 | unsigned short numdat_rcv; | 37 | __u16 numdat_rcv; |
40 | unsigned short ackxmt_dat; | 38 | __u16 ackxmt_dat; |
41 | unsigned short ackxmt_oth; | 39 | __u16 ackxmt_oth; |
42 | unsigned short ackrcv_dat; | 40 | __u16 ackrcv_dat; |
43 | unsigned short ackrcv_oth; | 41 | __u16 ackrcv_oth; |
44 | unsigned char flowrem_sw; | 42 | __u8 flowrem_sw; |
45 | unsigned char flowloc_sw; | 43 | __u8 flowloc_sw; |
46 | #define DN_SEND 2 | 44 | #define DN_SEND 2 |
47 | #define DN_DONTSEND 1 | 45 | #define DN_DONTSEND 1 |
48 | #define DN_NOCHANGE 0 | 46 | #define DN_NOCHANGE 0 |
49 | unsigned short flowrem_dat; | 47 | __u16 flowrem_dat; |
50 | unsigned short flowrem_oth; | 48 | __u16 flowrem_oth; |
51 | unsigned short flowloc_dat; | 49 | __u16 flowloc_dat; |
52 | unsigned short flowloc_oth; | 50 | __u16 flowloc_oth; |
53 | unsigned char services_rem; | 51 | __u8 services_rem; |
54 | unsigned char services_loc; | 52 | __u8 services_loc; |
55 | unsigned char info_rem; | 53 | __u8 info_rem; |
56 | unsigned char info_loc; | 54 | __u8 info_loc; |
57 | 55 | ||
58 | unsigned short segsize_rem; | 56 | __u16 segsize_rem; |
59 | unsigned short segsize_loc; | 57 | __u16 segsize_loc; |
60 | 58 | ||
61 | unsigned char nonagle; | 59 | __u8 nonagle; |
62 | unsigned char multi_ireq; | 60 | __u8 multi_ireq; |
63 | unsigned char accept_mode; | 61 | __u8 accept_mode; |
64 | unsigned long seg_total; /* Running total of current segment */ | 62 | unsigned long seg_total; /* Running total of current segment */ |
65 | 63 | ||
66 | struct optdata_dn conndata_in; | 64 | struct optdata_dn conndata_in; |
@@ -160,40 +158,41 @@ static inline struct dn_scp *DN_SK(struct sock *sk) | |||
160 | */ | 158 | */ |
161 | #define DN_SKB_CB(skb) ((struct dn_skb_cb *)(skb)->cb) | 159 | #define DN_SKB_CB(skb) ((struct dn_skb_cb *)(skb)->cb) |
162 | struct dn_skb_cb { | 160 | struct dn_skb_cb { |
163 | unsigned short dst; | 161 | __le16 dst; |
164 | unsigned short src; | 162 | __le16 src; |
165 | unsigned short hops; | 163 | __u16 hops; |
166 | unsigned short dst_port; | 164 | __le16 dst_port; |
167 | unsigned short src_port; | 165 | __le16 src_port; |
168 | unsigned char services; | 166 | __u8 services; |
169 | unsigned char info; | 167 | __u8 info; |
170 | unsigned char rt_flags; | 168 | __u8 rt_flags; |
171 | unsigned char nsp_flags; | 169 | __u8 nsp_flags; |
172 | unsigned short segsize; | 170 | __u16 segsize; |
173 | unsigned short segnum; | 171 | __u16 segnum; |
174 | unsigned short xmit_count; | 172 | __u16 xmit_count; |
175 | unsigned long stamp; | 173 | unsigned long stamp; |
176 | int iif; | 174 | int iif; |
177 | }; | 175 | }; |
178 | 176 | ||
179 | static inline dn_address dn_eth2dn(unsigned char *ethaddr) | 177 | static inline __le16 dn_eth2dn(unsigned char *ethaddr) |
180 | { | 178 | { |
181 | return ethaddr[4] | (ethaddr[5] << 8); | 179 | return dn_htons(ethaddr[4] | (ethaddr[5] << 8)); |
182 | } | 180 | } |
183 | 181 | ||
184 | static inline dn_address dn_saddr2dn(struct sockaddr_dn *saddr) | 182 | static inline __le16 dn_saddr2dn(struct sockaddr_dn *saddr) |
185 | { | 183 | { |
186 | return *(dn_address *)saddr->sdn_nodeaddr; | 184 | return *(__le16 *)saddr->sdn_nodeaddr; |
187 | } | 185 | } |
188 | 186 | ||
189 | static inline void dn_dn2eth(unsigned char *ethaddr, dn_address addr) | 187 | static inline void dn_dn2eth(unsigned char *ethaddr, __le16 addr) |
190 | { | 188 | { |
189 | __u16 a = dn_ntohs(addr); | ||
191 | ethaddr[0] = 0xAA; | 190 | ethaddr[0] = 0xAA; |
192 | ethaddr[1] = 0x00; | 191 | ethaddr[1] = 0x00; |
193 | ethaddr[2] = 0x04; | 192 | ethaddr[2] = 0x04; |
194 | ethaddr[3] = 0x00; | 193 | ethaddr[3] = 0x00; |
195 | ethaddr[4] = (unsigned char)(addr & 0xff); | 194 | ethaddr[4] = (__u8)(a & 0xff); |
196 | ethaddr[5] = (unsigned char)(addr >> 8); | 195 | ethaddr[5] = (__u8)(a >> 8); |
197 | } | 196 | } |
198 | 197 | ||
199 | static inline void dn_sk_ports_copy(struct flowi *fl, struct dn_scp *scp) | 198 | static inline void dn_sk_ports_copy(struct flowi *fl, struct dn_scp *scp) |
@@ -202,7 +201,7 @@ static inline void dn_sk_ports_copy(struct flowi *fl, struct dn_scp *scp) | |||
202 | fl->uli_u.dnports.dport = scp->addrrem; | 201 | fl->uli_u.dnports.dport = scp->addrrem; |
203 | fl->uli_u.dnports.objnum = scp->addr.sdn_objnum; | 202 | fl->uli_u.dnports.objnum = scp->addr.sdn_objnum; |
204 | if (fl->uli_u.dnports.objnum == 0) { | 203 | if (fl->uli_u.dnports.objnum == 0) { |
205 | fl->uli_u.dnports.objnamel = scp->addr.sdn_objnamel; | 204 | fl->uli_u.dnports.objnamel = (__u8)dn_ntohs(scp->addr.sdn_objnamel); |
206 | memcpy(fl->uli_u.dnports.objname, scp->addr.sdn_objname, 16); | 205 | memcpy(fl->uli_u.dnports.objname, scp->addr.sdn_objname, 16); |
207 | } | 206 | } |
208 | } | 207 | } |
@@ -217,7 +216,7 @@ extern unsigned dn_mss_from_pmtu(struct net_device *dev, int mtu); | |||
217 | extern struct sock *dn_sklist_find_listener(struct sockaddr_dn *addr); | 216 | extern struct sock *dn_sklist_find_listener(struct sockaddr_dn *addr); |
218 | extern struct sock *dn_find_by_skb(struct sk_buff *skb); | 217 | extern struct sock *dn_find_by_skb(struct sk_buff *skb); |
219 | #define DN_ASCBUF_LEN 9 | 218 | #define DN_ASCBUF_LEN 9 |
220 | extern char *dn_addr2asc(dn_address, char *); | 219 | extern char *dn_addr2asc(__u16, char *); |
221 | extern int dn_destroy_timer(struct sock *sk); | 220 | extern int dn_destroy_timer(struct sock *sk); |
222 | 221 | ||
223 | extern int dn_sockaddr2username(struct sockaddr_dn *addr, unsigned char *buf, unsigned char type); | 222 | extern int dn_sockaddr2username(struct sockaddr_dn *addr, unsigned char *buf, unsigned char type); |
@@ -226,7 +225,7 @@ extern int dn_username2sockaddr(unsigned char *data, int len, struct sockaddr_dn | |||
226 | extern void dn_start_slow_timer(struct sock *sk); | 225 | extern void dn_start_slow_timer(struct sock *sk); |
227 | extern void dn_stop_slow_timer(struct sock *sk); | 226 | extern void dn_stop_slow_timer(struct sock *sk); |
228 | 227 | ||
229 | extern dn_address decnet_address; | 228 | extern __le16 decnet_address; |
230 | extern int decnet_debug_level; | 229 | extern int decnet_debug_level; |
231 | extern int decnet_time_wait; | 230 | extern int decnet_time_wait; |
232 | extern int decnet_dn_count; | 231 | extern int decnet_dn_count; |
diff --git a/include/net/dn_dev.h b/include/net/dn_dev.h index 5a86e78081bf..cee46821dc53 100644 --- a/include/net/dn_dev.h +++ b/include/net/dn_dev.h | |||
@@ -7,11 +7,11 @@ struct dn_dev; | |||
7 | struct dn_ifaddr { | 7 | struct dn_ifaddr { |
8 | struct dn_ifaddr *ifa_next; | 8 | struct dn_ifaddr *ifa_next; |
9 | struct dn_dev *ifa_dev; | 9 | struct dn_dev *ifa_dev; |
10 | dn_address ifa_local; | 10 | __le16 ifa_local; |
11 | dn_address ifa_address; | 11 | __le16 ifa_address; |
12 | unsigned char ifa_flags; | 12 | __u8 ifa_flags; |
13 | unsigned char ifa_scope; | 13 | __u8 ifa_scope; |
14 | char ifa_label[IFNAMSIZ]; | 14 | char ifa_label[IFNAMSIZ]; |
15 | }; | 15 | }; |
16 | 16 | ||
17 | #define DN_DEV_S_RU 0 /* Run - working normally */ | 17 | #define DN_DEV_S_RU 0 /* Run - working normally */ |
@@ -91,7 +91,7 @@ struct dn_dev { | |||
91 | struct timer_list timer; | 91 | struct timer_list timer; |
92 | unsigned long t3; | 92 | unsigned long t3; |
93 | struct neigh_parms *neigh_parms; | 93 | struct neigh_parms *neigh_parms; |
94 | unsigned char addr[ETH_ALEN]; | 94 | __u8 addr[ETH_ALEN]; |
95 | struct neighbour *router; /* Default router on circuit */ | 95 | struct neighbour *router; /* Default router on circuit */ |
96 | struct neighbour *peer; /* Peer on pointopoint links */ | 96 | struct neighbour *peer; /* Peer on pointopoint links */ |
97 | unsigned long uptime; /* Time device went up in jiffies */ | 97 | unsigned long uptime; /* Time device went up in jiffies */ |
@@ -99,56 +99,56 @@ struct dn_dev { | |||
99 | 99 | ||
100 | struct dn_short_packet | 100 | struct dn_short_packet |
101 | { | 101 | { |
102 | unsigned char msgflg; | 102 | __u8 msgflg; |
103 | unsigned short dstnode; | 103 | __le16 dstnode; |
104 | unsigned short srcnode; | 104 | __le16 srcnode; |
105 | unsigned char forward; | 105 | __u8 forward; |
106 | } __attribute__((packed)); | 106 | } __attribute__((packed)); |
107 | 107 | ||
108 | struct dn_long_packet | 108 | struct dn_long_packet |
109 | { | 109 | { |
110 | unsigned char msgflg; | 110 | __u8 msgflg; |
111 | unsigned char d_area; | 111 | __u8 d_area; |
112 | unsigned char d_subarea; | 112 | __u8 d_subarea; |
113 | unsigned char d_id[6]; | 113 | __u8 d_id[6]; |
114 | unsigned char s_area; | 114 | __u8 s_area; |
115 | unsigned char s_subarea; | 115 | __u8 s_subarea; |
116 | unsigned char s_id[6]; | 116 | __u8 s_id[6]; |
117 | unsigned char nl2; | 117 | __u8 nl2; |
118 | unsigned char visit_ct; | 118 | __u8 visit_ct; |
119 | unsigned char s_class; | 119 | __u8 s_class; |
120 | unsigned char pt; | 120 | __u8 pt; |
121 | } __attribute__((packed)); | 121 | } __attribute__((packed)); |
122 | 122 | ||
123 | /*------------------------- DRP - Routing messages ---------------------*/ | 123 | /*------------------------- DRP - Routing messages ---------------------*/ |
124 | 124 | ||
125 | struct endnode_hello_message | 125 | struct endnode_hello_message |
126 | { | 126 | { |
127 | unsigned char msgflg; | 127 | __u8 msgflg; |
128 | unsigned char tiver[3]; | 128 | __u8 tiver[3]; |
129 | unsigned char id[6]; | 129 | __u8 id[6]; |
130 | unsigned char iinfo; | 130 | __u8 iinfo; |
131 | unsigned short blksize; | 131 | __le16 blksize; |
132 | unsigned char area; | 132 | __u8 area; |
133 | unsigned char seed[8]; | 133 | __u8 seed[8]; |
134 | unsigned char neighbor[6]; | 134 | __u8 neighbor[6]; |
135 | unsigned short timer; | 135 | __le16 timer; |
136 | unsigned char mpd; | 136 | __u8 mpd; |
137 | unsigned char datalen; | 137 | __u8 datalen; |
138 | unsigned char data[2]; | 138 | __u8 data[2]; |
139 | } __attribute__((packed)); | 139 | } __attribute__((packed)); |
140 | 140 | ||
141 | struct rtnode_hello_message | 141 | struct rtnode_hello_message |
142 | { | 142 | { |
143 | unsigned char msgflg; | 143 | __u8 msgflg; |
144 | unsigned char tiver[3]; | 144 | __u8 tiver[3]; |
145 | unsigned char id[6]; | 145 | __u8 id[6]; |
146 | unsigned char iinfo; | 146 | __u8 iinfo; |
147 | unsigned short blksize; | 147 | __le16 blksize; |
148 | unsigned char priority; | 148 | __u8 priority; |
149 | unsigned char area; | 149 | __u8 area; |
150 | unsigned short timer; | 150 | __le16 timer; |
151 | unsigned char mpd; | 151 | __u8 mpd; |
152 | } __attribute__((packed)); | 152 | } __attribute__((packed)); |
153 | 153 | ||
154 | 154 | ||
@@ -169,12 +169,12 @@ extern void dn_dev_down(struct net_device *); | |||
169 | 169 | ||
170 | extern int dn_dev_set_default(struct net_device *dev, int force); | 170 | extern int dn_dev_set_default(struct net_device *dev, int force); |
171 | extern struct net_device *dn_dev_get_default(void); | 171 | extern struct net_device *dn_dev_get_default(void); |
172 | extern int dn_dev_bind_default(dn_address *addr); | 172 | extern int dn_dev_bind_default(__le16 *addr); |
173 | 173 | ||
174 | extern int register_dnaddr_notifier(struct notifier_block *nb); | 174 | extern int register_dnaddr_notifier(struct notifier_block *nb); |
175 | extern int unregister_dnaddr_notifier(struct notifier_block *nb); | 175 | extern int unregister_dnaddr_notifier(struct notifier_block *nb); |
176 | 176 | ||
177 | static inline int dn_dev_islocal(struct net_device *dev, dn_address addr) | 177 | static inline int dn_dev_islocal(struct net_device *dev, __le16 addr) |
178 | { | 178 | { |
179 | struct dn_dev *dn_db = dev->dn_ptr; | 179 | struct dn_dev *dn_db = dev->dn_ptr; |
180 | struct dn_ifaddr *ifa; | 180 | struct dn_ifaddr *ifa; |
diff --git a/include/net/dn_fib.h b/include/net/dn_fib.h index cd3c96d9601b..a15dcf0d5c1e 100644 --- a/include/net/dn_fib.h +++ b/include/net/dn_fib.h | |||
@@ -37,7 +37,7 @@ struct dn_fib_nh { | |||
37 | int nh_weight; | 37 | int nh_weight; |
38 | int nh_power; | 38 | int nh_power; |
39 | int nh_oif; | 39 | int nh_oif; |
40 | u32 nh_gw; | 40 | __le16 nh_gw; |
41 | }; | 41 | }; |
42 | 42 | ||
43 | struct dn_fib_info { | 43 | struct dn_fib_info { |
@@ -48,7 +48,7 @@ struct dn_fib_info { | |||
48 | int fib_dead; | 48 | int fib_dead; |
49 | unsigned fib_flags; | 49 | unsigned fib_flags; |
50 | int fib_protocol; | 50 | int fib_protocol; |
51 | dn_address fib_prefsrc; | 51 | __le16 fib_prefsrc; |
52 | __u32 fib_priority; | 52 | __u32 fib_priority; |
53 | __u32 fib_metrics[RTAX_MAX]; | 53 | __u32 fib_metrics[RTAX_MAX]; |
54 | #define dn_fib_mtu fib_metrics[RTAX_MTU-1] | 54 | #define dn_fib_mtu fib_metrics[RTAX_MTU-1] |
@@ -71,15 +71,15 @@ struct dn_fib_info { | |||
71 | #define DN_FIB_RES_OIF(res) (DN_FIB_RES_NH(res).nh_oif) | 71 | #define DN_FIB_RES_OIF(res) (DN_FIB_RES_NH(res).nh_oif) |
72 | 72 | ||
73 | typedef struct { | 73 | typedef struct { |
74 | u16 datum; | 74 | __le16 datum; |
75 | } dn_fib_key_t; | 75 | } dn_fib_key_t; |
76 | 76 | ||
77 | typedef struct { | 77 | typedef struct { |
78 | u16 datum; | 78 | __le16 datum; |
79 | } dn_fib_hash_t; | 79 | } dn_fib_hash_t; |
80 | 80 | ||
81 | typedef struct { | 81 | typedef struct { |
82 | u16 datum; | 82 | __u16 datum; |
83 | } dn_fib_idx_t; | 83 | } dn_fib_idx_t; |
84 | 84 | ||
85 | struct dn_fib_node { | 85 | struct dn_fib_node { |
@@ -126,11 +126,11 @@ extern int dn_fib_semantic_match(int type, struct dn_fib_info *fi, | |||
126 | const struct flowi *fl, | 126 | const struct flowi *fl, |
127 | struct dn_fib_res *res); | 127 | struct dn_fib_res *res); |
128 | extern void dn_fib_release_info(struct dn_fib_info *fi); | 128 | extern void dn_fib_release_info(struct dn_fib_info *fi); |
129 | extern u16 dn_fib_get_attr16(struct rtattr *attr, int attrlen, int type); | 129 | extern __le16 dn_fib_get_attr16(struct rtattr *attr, int attrlen, int type); |
130 | extern void dn_fib_flush(void); | 130 | extern void dn_fib_flush(void); |
131 | extern void dn_fib_select_multipath(const struct flowi *fl, | 131 | extern void dn_fib_select_multipath(const struct flowi *fl, |
132 | struct dn_fib_res *res); | 132 | struct dn_fib_res *res); |
133 | extern int dn_fib_sync_down(dn_address local, struct net_device *dev, | 133 | extern int dn_fib_sync_down(__le16 local, struct net_device *dev, |
134 | int force); | 134 | int force); |
135 | extern int dn_fib_sync_up(struct net_device *dev); | 135 | extern int dn_fib_sync_up(struct net_device *dev); |
136 | 136 | ||
@@ -148,8 +148,8 @@ extern void dn_fib_table_cleanup(void); | |||
148 | extern void dn_fib_rules_init(void); | 148 | extern void dn_fib_rules_init(void); |
149 | extern void dn_fib_rules_cleanup(void); | 149 | extern void dn_fib_rules_cleanup(void); |
150 | extern void dn_fib_rule_put(struct dn_fib_rule *); | 150 | extern void dn_fib_rule_put(struct dn_fib_rule *); |
151 | extern __u16 dn_fib_rules_policy(__u16 saddr, struct dn_fib_res *res, unsigned *flags); | 151 | extern __le16 dn_fib_rules_policy(__le16 saddr, struct dn_fib_res *res, unsigned *flags); |
152 | extern unsigned dnet_addr_type(__u16 addr); | 152 | extern unsigned dnet_addr_type(__le16 addr); |
153 | extern int dn_fib_lookup(const struct flowi *fl, struct dn_fib_res *res); | 153 | extern int dn_fib_lookup(const struct flowi *fl, struct dn_fib_res *res); |
154 | 154 | ||
155 | /* | 155 | /* |
@@ -194,10 +194,10 @@ extern struct dn_fib_table *dn_fib_tables[]; | |||
194 | 194 | ||
195 | #endif /* CONFIG_DECNET_ROUTER */ | 195 | #endif /* CONFIG_DECNET_ROUTER */ |
196 | 196 | ||
197 | static inline u16 dnet_make_mask(int n) | 197 | static inline __le16 dnet_make_mask(int n) |
198 | { | 198 | { |
199 | if (n) | 199 | if (n) |
200 | return htons(~((1<<(16-n))-1)); | 200 | return dn_htons(~((1<<(16-n))-1)); |
201 | return 0; | 201 | return 0; |
202 | } | 202 | } |
203 | 203 | ||
diff --git a/include/net/dn_neigh.h b/include/net/dn_neigh.h index 4b1eb038d637..4cb4ae7fb81f 100644 --- a/include/net/dn_neigh.h +++ b/include/net/dn_neigh.h | |||
@@ -7,13 +7,13 @@ | |||
7 | */ | 7 | */ |
8 | struct dn_neigh { | 8 | struct dn_neigh { |
9 | struct neighbour n; | 9 | struct neighbour n; |
10 | dn_address addr; | 10 | __le16 addr; |
11 | unsigned long flags; | 11 | unsigned long flags; |
12 | #define DN_NDFLAG_R1 0x0001 /* Router L1 */ | 12 | #define DN_NDFLAG_R1 0x0001 /* Router L1 */ |
13 | #define DN_NDFLAG_R2 0x0002 /* Router L2 */ | 13 | #define DN_NDFLAG_R2 0x0002 /* Router L2 */ |
14 | #define DN_NDFLAG_P3 0x0004 /* Phase III Node */ | 14 | #define DN_NDFLAG_P3 0x0004 /* Phase III Node */ |
15 | unsigned long blksize; | 15 | unsigned long blksize; |
16 | unsigned char priority; | 16 | __u8 priority; |
17 | }; | 17 | }; |
18 | 18 | ||
19 | extern void dn_neigh_init(void); | 19 | extern void dn_neigh_init(void); |
diff --git a/include/net/dn_nsp.h b/include/net/dn_nsp.h index e6182b86262b..96e816b6974d 100644 --- a/include/net/dn_nsp.h +++ b/include/net/dn_nsp.h | |||
@@ -72,77 +72,77 @@ extern struct sk_buff *dn_alloc_send_skb(struct sock *sk, size_t *size, int nobl | |||
72 | 72 | ||
73 | struct nsp_data_seg_msg | 73 | struct nsp_data_seg_msg |
74 | { | 74 | { |
75 | unsigned char msgflg; | 75 | __u8 msgflg; |
76 | unsigned short dstaddr; | 76 | __le16 dstaddr; |
77 | unsigned short srcaddr; | 77 | __le16 srcaddr; |
78 | } __attribute__((packed)); | 78 | } __attribute__((packed)); |
79 | 79 | ||
80 | struct nsp_data_opt_msg | 80 | struct nsp_data_opt_msg |
81 | { | 81 | { |
82 | unsigned short acknum; | 82 | __le16 acknum; |
83 | unsigned short segnum; | 83 | __le16 segnum; |
84 | unsigned short lsflgs; | 84 | __le16 lsflgs; |
85 | } __attribute__((packed)); | 85 | } __attribute__((packed)); |
86 | 86 | ||
87 | struct nsp_data_opt_msg1 | 87 | struct nsp_data_opt_msg1 |
88 | { | 88 | { |
89 | unsigned short acknum; | 89 | __le16 acknum; |
90 | unsigned short segnum; | 90 | __le16 segnum; |
91 | } __attribute__((packed)); | 91 | } __attribute__((packed)); |
92 | 92 | ||
93 | 93 | ||
94 | /* Acknowledgment Message (data/other data) */ | 94 | /* Acknowledgment Message (data/other data) */ |
95 | struct nsp_data_ack_msg | 95 | struct nsp_data_ack_msg |
96 | { | 96 | { |
97 | unsigned char msgflg; | 97 | __u8 msgflg; |
98 | unsigned short dstaddr; | 98 | __le16 dstaddr; |
99 | unsigned short srcaddr; | 99 | __le16 srcaddr; |
100 | unsigned short acknum; | 100 | __le16 acknum; |
101 | } __attribute__((packed)); | 101 | } __attribute__((packed)); |
102 | 102 | ||
103 | /* Connect Acknowledgment Message */ | 103 | /* Connect Acknowledgment Message */ |
104 | struct nsp_conn_ack_msg | 104 | struct nsp_conn_ack_msg |
105 | { | 105 | { |
106 | unsigned char msgflg; | 106 | __u8 msgflg; |
107 | unsigned short dstaddr; | 107 | __le16 dstaddr; |
108 | } __attribute__((packed)); | 108 | } __attribute__((packed)); |
109 | 109 | ||
110 | 110 | ||
111 | /* Connect Initiate/Retransmit Initiate/Connect Confirm */ | 111 | /* Connect Initiate/Retransmit Initiate/Connect Confirm */ |
112 | struct nsp_conn_init_msg | 112 | struct nsp_conn_init_msg |
113 | { | 113 | { |
114 | unsigned char msgflg; | 114 | __u8 msgflg; |
115 | #define NSP_CI 0x18 /* Connect Initiate */ | 115 | #define NSP_CI 0x18 /* Connect Initiate */ |
116 | #define NSP_RCI 0x68 /* Retrans. Conn Init */ | 116 | #define NSP_RCI 0x68 /* Retrans. Conn Init */ |
117 | unsigned short dstaddr; | 117 | __le16 dstaddr; |
118 | unsigned short srcaddr; | 118 | __le16 srcaddr; |
119 | unsigned char services; | 119 | __u8 services; |
120 | #define NSP_FC_NONE 0x00 /* Flow Control None */ | 120 | #define NSP_FC_NONE 0x00 /* Flow Control None */ |
121 | #define NSP_FC_SRC 0x04 /* Seg Req. Count */ | 121 | #define NSP_FC_SRC 0x04 /* Seg Req. Count */ |
122 | #define NSP_FC_SCMC 0x08 /* Sess. Control Mess */ | 122 | #define NSP_FC_SCMC 0x08 /* Sess. Control Mess */ |
123 | #define NSP_FC_MASK 0x0c /* FC type mask */ | 123 | #define NSP_FC_MASK 0x0c /* FC type mask */ |
124 | unsigned char info; | 124 | __u8 info; |
125 | unsigned short segsize; | 125 | __le16 segsize; |
126 | } __attribute__((packed)); | 126 | } __attribute__((packed)); |
127 | 127 | ||
128 | /* Disconnect Initiate/Disconnect Confirm */ | 128 | /* Disconnect Initiate/Disconnect Confirm */ |
129 | struct nsp_disconn_init_msg | 129 | struct nsp_disconn_init_msg |
130 | { | 130 | { |
131 | unsigned char msgflg; | 131 | __u8 msgflg; |
132 | unsigned short dstaddr; | 132 | __le16 dstaddr; |
133 | unsigned short srcaddr; | 133 | __le16 srcaddr; |
134 | unsigned short reason; | 134 | __le16 reason; |
135 | } __attribute__((packed)); | 135 | } __attribute__((packed)); |
136 | 136 | ||
137 | 137 | ||
138 | 138 | ||
139 | struct srcobj_fmt | 139 | struct srcobj_fmt |
140 | { | 140 | { |
141 | char format; | 141 | __u8 format; |
142 | unsigned char task; | 142 | __u8 task; |
143 | unsigned short grpcode; | 143 | __le16 grpcode; |
144 | unsigned short usrcode; | 144 | __le16 usrcode; |
145 | char dlen; | 145 | __u8 dlen; |
146 | } __attribute__((packed)); | 146 | } __attribute__((packed)); |
147 | 147 | ||
148 | /* | 148 | /* |
@@ -150,7 +150,7 @@ struct srcobj_fmt | |||
150 | * numbers used in NSP. Similar in operation to the functions | 150 | * numbers used in NSP. Similar in operation to the functions |
151 | * of the same name in TCP. | 151 | * of the same name in TCP. |
152 | */ | 152 | */ |
153 | static __inline__ int dn_before(unsigned short seq1, unsigned short seq2) | 153 | static __inline__ int dn_before(__u16 seq1, __u16 seq2) |
154 | { | 154 | { |
155 | seq1 &= 0x0fff; | 155 | seq1 &= 0x0fff; |
156 | seq2 &= 0x0fff; | 156 | seq2 &= 0x0fff; |
@@ -159,7 +159,7 @@ static __inline__ int dn_before(unsigned short seq1, unsigned short seq2) | |||
159 | } | 159 | } |
160 | 160 | ||
161 | 161 | ||
162 | static __inline__ int dn_after(unsigned short seq1, unsigned short seq2) | 162 | static __inline__ int dn_after(__u16 seq1, __u16 seq2) |
163 | { | 163 | { |
164 | seq1 &= 0x0fff; | 164 | seq1 &= 0x0fff; |
165 | seq2 &= 0x0fff; | 165 | seq2 &= 0x0fff; |
@@ -167,23 +167,23 @@ static __inline__ int dn_after(unsigned short seq1, unsigned short seq2) | |||
167 | return (int)((seq2 - seq1) & 0x0fff) > 2048; | 167 | return (int)((seq2 - seq1) & 0x0fff) > 2048; |
168 | } | 168 | } |
169 | 169 | ||
170 | static __inline__ int dn_equal(unsigned short seq1, unsigned short seq2) | 170 | static __inline__ int dn_equal(__u16 seq1, __u16 seq2) |
171 | { | 171 | { |
172 | return ((seq1 ^ seq2) & 0x0fff) == 0; | 172 | return ((seq1 ^ seq2) & 0x0fff) == 0; |
173 | } | 173 | } |
174 | 174 | ||
175 | static __inline__ int dn_before_or_equal(unsigned short seq1, unsigned short seq2) | 175 | static __inline__ int dn_before_or_equal(__u16 seq1, __u16 seq2) |
176 | { | 176 | { |
177 | return (dn_before(seq1, seq2) || dn_equal(seq1, seq2)); | 177 | return (dn_before(seq1, seq2) || dn_equal(seq1, seq2)); |
178 | } | 178 | } |
179 | 179 | ||
180 | static __inline__ void seq_add(unsigned short *seq, unsigned short off) | 180 | static __inline__ void seq_add(__u16 *seq, __u16 off) |
181 | { | 181 | { |
182 | (*seq) += off; | 182 | (*seq) += off; |
183 | (*seq) &= 0x0fff; | 183 | (*seq) &= 0x0fff; |
184 | } | 184 | } |
185 | 185 | ||
186 | static __inline__ int seq_next(unsigned short seq1, unsigned short seq2) | 186 | static __inline__ int seq_next(__u16 seq1, __u16 seq2) |
187 | { | 187 | { |
188 | return dn_equal(seq1 + 1, seq2); | 188 | return dn_equal(seq1 + 1, seq2); |
189 | } | 189 | } |
@@ -191,7 +191,7 @@ static __inline__ int seq_next(unsigned short seq1, unsigned short seq2) | |||
191 | /* | 191 | /* |
192 | * Can we delay the ack ? | 192 | * Can we delay the ack ? |
193 | */ | 193 | */ |
194 | static __inline__ int sendack(unsigned short seq) | 194 | static __inline__ int sendack(__u16 seq) |
195 | { | 195 | { |
196 | return (int)((seq & 0x1000) ? 0 : 1); | 196 | return (int)((seq & 0x1000) ? 0 : 1); |
197 | } | 197 | } |
diff --git a/include/net/dn_route.h b/include/net/dn_route.h index 5122da3f2eb3..76f957e258b0 100644 --- a/include/net/dn_route.h +++ b/include/net/dn_route.h | |||
@@ -71,12 +71,12 @@ struct dn_route { | |||
71 | struct dn_route *rt_next; | 71 | struct dn_route *rt_next; |
72 | } u; | 72 | } u; |
73 | 73 | ||
74 | __u16 rt_saddr; | 74 | __le16 rt_saddr; |
75 | __u16 rt_daddr; | 75 | __le16 rt_daddr; |
76 | __u16 rt_gateway; | 76 | __le16 rt_gateway; |
77 | __u16 rt_local_src; /* Source used for forwarding packets */ | 77 | __le16 rt_local_src; /* Source used for forwarding packets */ |
78 | __u16 rt_src_map; | 78 | __le16 rt_src_map; |
79 | __u16 rt_dst_map; | 79 | __le16 rt_dst_map; |
80 | 80 | ||
81 | unsigned rt_flags; | 81 | unsigned rt_flags; |
82 | unsigned rt_type; | 82 | unsigned rt_type; |
diff --git a/include/net/flow.h b/include/net/flow.h index ec7eb86eb203..04d89f763451 100644 --- a/include/net/flow.h +++ b/include/net/flow.h | |||
@@ -30,8 +30,8 @@ struct flowi { | |||
30 | } ip6_u; | 30 | } ip6_u; |
31 | 31 | ||
32 | struct { | 32 | struct { |
33 | __u16 daddr; | 33 | __le16 daddr; |
34 | __u16 saddr; | 34 | __le16 saddr; |
35 | __u32 fwmark; | 35 | __u32 fwmark; |
36 | __u8 scope; | 36 | __u8 scope; |
37 | } dn_u; | 37 | } dn_u; |
@@ -64,8 +64,8 @@ struct flowi { | |||
64 | } icmpt; | 64 | } icmpt; |
65 | 65 | ||
66 | struct { | 66 | struct { |
67 | __u16 sport; | 67 | __le16 sport; |
68 | __u16 dport; | 68 | __le16 dport; |
69 | __u8 objnum; | 69 | __u8 objnum; |
70 | __u8 objnamel; /* Not 16 bits since max val is 16 */ | 70 | __u8 objnamel; /* Not 16 bits since max val is 16 */ |
71 | __u8 objname[16]; /* Not zero terminated */ | 71 | __u8 objname[16]; /* Not zero terminated */ |
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index ce4aaf94860d..824981eed225 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c | |||
@@ -172,7 +172,7 @@ static struct hlist_head *dn_find_list(struct sock *sk) | |||
172 | /* | 172 | /* |
173 | * Valid ports are those greater than zero and not already in use. | 173 | * Valid ports are those greater than zero and not already in use. |
174 | */ | 174 | */ |
175 | static int check_port(unsigned short port) | 175 | static int check_port(__le16 port) |
176 | { | 176 | { |
177 | struct sock *sk; | 177 | struct sock *sk; |
178 | struct hlist_node *node; | 178 | struct hlist_node *node; |
@@ -661,7 +661,7 @@ disc_reject: | |||
661 | } | 661 | } |
662 | } | 662 | } |
663 | 663 | ||
664 | char *dn_addr2asc(dn_address addr, char *buf) | 664 | char *dn_addr2asc(__u16 addr, char *buf) |
665 | { | 665 | { |
666 | unsigned short node, area; | 666 | unsigned short node, area; |
667 | 667 | ||
@@ -801,7 +801,7 @@ static int dn_auto_bind(struct socket *sock) | |||
801 | /* End of compatibility stuff */ | 801 | /* End of compatibility stuff */ |
802 | 802 | ||
803 | scp->addr.sdn_add.a_len = dn_htons(2); | 803 | scp->addr.sdn_add.a_len = dn_htons(2); |
804 | rv = dn_dev_bind_default((dn_address *)scp->addr.sdn_add.a_addr); | 804 | rv = dn_dev_bind_default((__le16 *)scp->addr.sdn_add.a_addr); |
805 | if (rv == 0) { | 805 | if (rv == 0) { |
806 | rv = dn_hash_sock(sk); | 806 | rv = dn_hash_sock(sk); |
807 | if (rv) | 807 | if (rv) |
@@ -1021,7 +1021,7 @@ static void dn_user_copy(struct sk_buff *skb, struct optdata_dn *opt) | |||
1021 | opt->opt_optl = *ptr++; | 1021 | opt->opt_optl = *ptr++; |
1022 | opt->opt_status = 0; | 1022 | opt->opt_status = 0; |
1023 | memcpy(opt->opt_data, ptr, opt->opt_optl); | 1023 | memcpy(opt->opt_data, ptr, opt->opt_optl); |
1024 | skb_pull(skb, opt->opt_optl + 1); | 1024 | skb_pull(skb, dn_ntohs(opt->opt_optl) + 1); |
1025 | 1025 | ||
1026 | } | 1026 | } |
1027 | 1027 | ||
@@ -1121,8 +1121,8 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags) | |||
1121 | 1121 | ||
1122 | skb_pull(skb, dn_username2sockaddr(skb->data, skb->len, &(DN_SK(newsk)->addr), &type)); | 1122 | skb_pull(skb, dn_username2sockaddr(skb->data, skb->len, &(DN_SK(newsk)->addr), &type)); |
1123 | skb_pull(skb, dn_username2sockaddr(skb->data, skb->len, &(DN_SK(newsk)->peer), &type)); | 1123 | skb_pull(skb, dn_username2sockaddr(skb->data, skb->len, &(DN_SK(newsk)->peer), &type)); |
1124 | *(dn_address *)(DN_SK(newsk)->peer.sdn_add.a_addr) = cb->src; | 1124 | *(__le16 *)(DN_SK(newsk)->peer.sdn_add.a_addr) = cb->src; |
1125 | *(dn_address *)(DN_SK(newsk)->addr.sdn_add.a_addr) = cb->dst; | 1125 | *(__le16 *)(DN_SK(newsk)->addr.sdn_add.a_addr) = cb->dst; |
1126 | 1126 | ||
1127 | menuver = *skb->data; | 1127 | menuver = *skb->data; |
1128 | skb_pull(skb, 1); | 1128 | skb_pull(skb, 1); |
@@ -1365,7 +1365,7 @@ static int __dn_setsockopt(struct socket *sock, int level,int optname, char __us | |||
1365 | if (optlen != sizeof(struct optdata_dn)) | 1365 | if (optlen != sizeof(struct optdata_dn)) |
1366 | return -EINVAL; | 1366 | return -EINVAL; |
1367 | 1367 | ||
1368 | if (u.opt.opt_optl > 16) | 1368 | if (dn_ntohs(u.opt.opt_optl) > 16) |
1369 | return -EINVAL; | 1369 | return -EINVAL; |
1370 | 1370 | ||
1371 | memcpy(&scp->conndata_out, &u.opt, optlen); | 1371 | memcpy(&scp->conndata_out, &u.opt, optlen); |
@@ -1378,7 +1378,7 @@ static int __dn_setsockopt(struct socket *sock, int level,int optname, char __us | |||
1378 | if (optlen != sizeof(struct optdata_dn)) | 1378 | if (optlen != sizeof(struct optdata_dn)) |
1379 | return -EINVAL; | 1379 | return -EINVAL; |
1380 | 1380 | ||
1381 | if (u.opt.opt_optl > 16) | 1381 | if (dn_ntohs(u.opt.opt_optl) > 16) |
1382 | return -EINVAL; | 1382 | return -EINVAL; |
1383 | 1383 | ||
1384 | memcpy(&scp->discdata_out, &u.opt, optlen); | 1384 | memcpy(&scp->discdata_out, &u.opt, optlen); |
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index efbead83ba7f..cc7b9d9255ef 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c | |||
@@ -64,7 +64,7 @@ extern struct neigh_table dn_neigh_table; | |||
64 | /* | 64 | /* |
65 | * decnet_address is kept in network order. | 65 | * decnet_address is kept in network order. |
66 | */ | 66 | */ |
67 | dn_address decnet_address = 0; | 67 | __le16 decnet_address = 0; |
68 | 68 | ||
69 | static DEFINE_RWLOCK(dndev_lock); | 69 | static DEFINE_RWLOCK(dndev_lock); |
70 | static struct net_device *decnet_default_device; | 70 | static struct net_device *decnet_default_device; |
@@ -439,7 +439,7 @@ static void dn_dev_del_ifa(struct dn_dev *dn_db, struct dn_ifaddr **ifap, int de | |||
439 | *ifap = ifa1->ifa_next; | 439 | *ifap = ifa1->ifa_next; |
440 | 440 | ||
441 | if (dn_db->dev->type == ARPHRD_ETHER) { | 441 | if (dn_db->dev->type == ARPHRD_ETHER) { |
442 | if (ifa1->ifa_local != dn_htons(dn_eth2dn(dev->dev_addr))) { | 442 | if (ifa1->ifa_local != dn_eth2dn(dev->dev_addr)) { |
443 | dn_dn2eth(mac_addr, ifa1->ifa_local); | 443 | dn_dn2eth(mac_addr, ifa1->ifa_local); |
444 | dev_mc_delete(dev, mac_addr, ETH_ALEN, 0); | 444 | dev_mc_delete(dev, mac_addr, ETH_ALEN, 0); |
445 | } | 445 | } |
@@ -470,7 +470,7 @@ static int dn_dev_insert_ifa(struct dn_dev *dn_db, struct dn_ifaddr *ifa) | |||
470 | } | 470 | } |
471 | 471 | ||
472 | if (dev->type == ARPHRD_ETHER) { | 472 | if (dev->type == ARPHRD_ETHER) { |
473 | if (ifa->ifa_local != dn_htons(dn_eth2dn(dev->dev_addr))) { | 473 | if (ifa->ifa_local != dn_eth2dn(dev->dev_addr)) { |
474 | dn_dn2eth(mac_addr, ifa->ifa_local); | 474 | dn_dn2eth(mac_addr, ifa->ifa_local); |
475 | dev_mc_add(dev, mac_addr, ETH_ALEN, 0); | 475 | dev_mc_add(dev, mac_addr, ETH_ALEN, 0); |
476 | dev_mc_upload(dev); | 476 | dev_mc_upload(dev); |
@@ -561,7 +561,7 @@ int dn_dev_ioctl(unsigned int cmd, void __user *arg) | |||
561 | 561 | ||
562 | switch(cmd) { | 562 | switch(cmd) { |
563 | case SIOCGIFADDR: | 563 | case SIOCGIFADDR: |
564 | *((dn_address *)sdn->sdn_nodeaddr) = ifa->ifa_local; | 564 | *((__le16 *)sdn->sdn_nodeaddr) = ifa->ifa_local; |
565 | goto rarok; | 565 | goto rarok; |
566 | 566 | ||
567 | case SIOCSIFADDR: | 567 | case SIOCSIFADDR: |
@@ -804,7 +804,7 @@ done: | |||
804 | return skb->len; | 804 | return skb->len; |
805 | } | 805 | } |
806 | 806 | ||
807 | static int dn_dev_get_first(struct net_device *dev, dn_address *addr) | 807 | static int dn_dev_get_first(struct net_device *dev, __le16 *addr) |
808 | { | 808 | { |
809 | struct dn_dev *dn_db = (struct dn_dev *)dev->dn_ptr; | 809 | struct dn_dev *dn_db = (struct dn_dev *)dev->dn_ptr; |
810 | struct dn_ifaddr *ifa; | 810 | struct dn_ifaddr *ifa; |
@@ -830,7 +830,7 @@ out: | |||
830 | * a sensible default. Eventually the routing code will take care of all the | 830 | * a sensible default. Eventually the routing code will take care of all the |
831 | * nasties for us I hope. | 831 | * nasties for us I hope. |
832 | */ | 832 | */ |
833 | int dn_dev_bind_default(dn_address *addr) | 833 | int dn_dev_bind_default(__le16 *addr) |
834 | { | 834 | { |
835 | struct net_device *dev; | 835 | struct net_device *dev; |
836 | int rv; | 836 | int rv; |
@@ -853,7 +853,7 @@ static void dn_send_endnode_hello(struct net_device *dev, struct dn_ifaddr *ifa) | |||
853 | { | 853 | { |
854 | struct endnode_hello_message *msg; | 854 | struct endnode_hello_message *msg; |
855 | struct sk_buff *skb = NULL; | 855 | struct sk_buff *skb = NULL; |
856 | unsigned short int *pktlen; | 856 | __le16 *pktlen; |
857 | struct dn_dev *dn_db = (struct dn_dev *)dev->dn_ptr; | 857 | struct dn_dev *dn_db = (struct dn_dev *)dev->dn_ptr; |
858 | 858 | ||
859 | if ((skb = dn_alloc_skb(NULL, sizeof(*msg), GFP_ATOMIC)) == NULL) | 859 | if ((skb = dn_alloc_skb(NULL, sizeof(*msg), GFP_ATOMIC)) == NULL) |
@@ -882,7 +882,7 @@ static void dn_send_endnode_hello(struct net_device *dev, struct dn_ifaddr *ifa) | |||
882 | msg->datalen = 0x02; | 882 | msg->datalen = 0x02; |
883 | memset(msg->data, 0xAA, 2); | 883 | memset(msg->data, 0xAA, 2); |
884 | 884 | ||
885 | pktlen = (unsigned short *)skb_push(skb,2); | 885 | pktlen = (__le16 *)skb_push(skb,2); |
886 | *pktlen = dn_htons(skb->len - 2); | 886 | *pktlen = dn_htons(skb->len - 2); |
887 | 887 | ||
888 | skb->nh.raw = skb->data; | 888 | skb->nh.raw = skb->data; |
@@ -926,7 +926,7 @@ static void dn_send_router_hello(struct net_device *dev, struct dn_ifaddr *ifa) | |||
926 | size_t size; | 926 | size_t size; |
927 | unsigned char *ptr; | 927 | unsigned char *ptr; |
928 | unsigned char *i1, *i2; | 928 | unsigned char *i1, *i2; |
929 | unsigned short *pktlen; | 929 | __le16 *pktlen; |
930 | char *src; | 930 | char *src; |
931 | 931 | ||
932 | if (mtu2blksize(dev) < (26 + 7)) | 932 | if (mtu2blksize(dev) < (26 + 7)) |
@@ -955,11 +955,11 @@ static void dn_send_router_hello(struct net_device *dev, struct dn_ifaddr *ifa) | |||
955 | ptr += ETH_ALEN; | 955 | ptr += ETH_ALEN; |
956 | *ptr++ = dn_db->parms.forwarding == 1 ? | 956 | *ptr++ = dn_db->parms.forwarding == 1 ? |
957 | DN_RT_INFO_L1RT : DN_RT_INFO_L2RT; | 957 | DN_RT_INFO_L1RT : DN_RT_INFO_L2RT; |
958 | *((unsigned short *)ptr) = dn_htons(mtu2blksize(dev)); | 958 | *((__le16 *)ptr) = dn_htons(mtu2blksize(dev)); |
959 | ptr += 2; | 959 | ptr += 2; |
960 | *ptr++ = dn_db->parms.priority; /* Priority */ | 960 | *ptr++ = dn_db->parms.priority; /* Priority */ |
961 | *ptr++ = 0; /* Area: Reserved */ | 961 | *ptr++ = 0; /* Area: Reserved */ |
962 | *((unsigned short *)ptr) = dn_htons((unsigned short)dn_db->parms.t3); | 962 | *((__le16 *)ptr) = dn_htons((unsigned short)dn_db->parms.t3); |
963 | ptr += 2; | 963 | ptr += 2; |
964 | *ptr++ = 0; /* MPD: Reserved */ | 964 | *ptr++ = 0; /* MPD: Reserved */ |
965 | i1 = ptr++; | 965 | i1 = ptr++; |
@@ -974,7 +974,7 @@ static void dn_send_router_hello(struct net_device *dev, struct dn_ifaddr *ifa) | |||
974 | 974 | ||
975 | skb_trim(skb, (27 + *i2)); | 975 | skb_trim(skb, (27 + *i2)); |
976 | 976 | ||
977 | pktlen = (unsigned short *)skb_push(skb, 2); | 977 | pktlen = (__le16 *)skb_push(skb, 2); |
978 | *pktlen = dn_htons(skb->len - 2); | 978 | *pktlen = dn_htons(skb->len - 2); |
979 | 979 | ||
980 | skb->nh.raw = skb->data; | 980 | skb->nh.raw = skb->data; |
@@ -1016,7 +1016,7 @@ static void dn_send_ptp_hello(struct net_device *dev, struct dn_ifaddr *ifa) | |||
1016 | ptr = skb_put(skb, 2 + 4 + tdlen); | 1016 | ptr = skb_put(skb, 2 + 4 + tdlen); |
1017 | 1017 | ||
1018 | *ptr++ = DN_RT_PKT_HELO; | 1018 | *ptr++ = DN_RT_PKT_HELO; |
1019 | *((dn_address *)ptr) = ifa->ifa_local; | 1019 | *((__le16 *)ptr) = ifa->ifa_local; |
1020 | ptr += 2; | 1020 | ptr += 2; |
1021 | *ptr++ = tdlen; | 1021 | *ptr++ = tdlen; |
1022 | 1022 | ||
@@ -1150,7 +1150,7 @@ struct dn_dev *dn_dev_create(struct net_device *dev, int *err) | |||
1150 | void dn_dev_up(struct net_device *dev) | 1150 | void dn_dev_up(struct net_device *dev) |
1151 | { | 1151 | { |
1152 | struct dn_ifaddr *ifa; | 1152 | struct dn_ifaddr *ifa; |
1153 | dn_address addr = decnet_address; | 1153 | __le16 addr = decnet_address; |
1154 | int maybe_default = 0; | 1154 | int maybe_default = 0; |
1155 | struct dn_dev *dn_db = (struct dn_dev *)dev->dn_ptr; | 1155 | struct dn_dev *dn_db = (struct dn_dev *)dev->dn_ptr; |
1156 | 1156 | ||
@@ -1173,7 +1173,7 @@ void dn_dev_up(struct net_device *dev) | |||
1173 | if (dev->type == ARPHRD_ETHER) { | 1173 | if (dev->type == ARPHRD_ETHER) { |
1174 | if (memcmp(dev->dev_addr, dn_hiord, 4) != 0) | 1174 | if (memcmp(dev->dev_addr, dn_hiord, 4) != 0) |
1175 | return; | 1175 | return; |
1176 | addr = dn_htons(dn_eth2dn(dev->dev_addr)); | 1176 | addr = dn_eth2dn(dev->dev_addr); |
1177 | maybe_default = 1; | 1177 | maybe_default = 1; |
1178 | } | 1178 | } |
1179 | 1179 | ||
@@ -1385,8 +1385,8 @@ static int dn_dev_seq_show(struct seq_file *seq, void *v) | |||
1385 | mtu2blksize(dev), | 1385 | mtu2blksize(dev), |
1386 | dn_db->parms.priority, | 1386 | dn_db->parms.priority, |
1387 | dn_db->parms.state, dn_db->parms.name, | 1387 | dn_db->parms.state, dn_db->parms.name, |
1388 | dn_db->router ? dn_addr2asc(dn_ntohs(*(dn_address *)dn_db->router->primary_key), router_buf) : "", | 1388 | dn_db->router ? dn_addr2asc(dn_ntohs(*(__le16 *)dn_db->router->primary_key), router_buf) : "", |
1389 | dn_db->peer ? dn_addr2asc(dn_ntohs(*(dn_address *)dn_db->peer->primary_key), peer_buf) : ""); | 1389 | dn_db->peer ? dn_addr2asc(dn_ntohs(*(__le16 *)dn_db->peer->primary_key), peer_buf) : ""); |
1390 | } | 1390 | } |
1391 | return 0; | 1391 | return 0; |
1392 | } | 1392 | } |
diff --git a/net/decnet/dn_fib.c b/net/decnet/dn_fib.c index 99bc061759c3..bd4ce8681a12 100644 --- a/net/decnet/dn_fib.c +++ b/net/decnet/dn_fib.c | |||
@@ -143,11 +143,11 @@ static inline struct dn_fib_info *dn_fib_find_info(const struct dn_fib_info *nfi | |||
143 | return NULL; | 143 | return NULL; |
144 | } | 144 | } |
145 | 145 | ||
146 | u16 dn_fib_get_attr16(struct rtattr *attr, int attrlen, int type) | 146 | __le16 dn_fib_get_attr16(struct rtattr *attr, int attrlen, int type) |
147 | { | 147 | { |
148 | while(RTA_OK(attr,attrlen)) { | 148 | while(RTA_OK(attr,attrlen)) { |
149 | if (attr->rta_type == type) | 149 | if (attr->rta_type == type) |
150 | return *(u16*)RTA_DATA(attr); | 150 | return *(__le16*)RTA_DATA(attr); |
151 | attr = RTA_NEXT(attr, attrlen); | 151 | attr = RTA_NEXT(attr, attrlen); |
152 | } | 152 | } |
153 | 153 | ||
@@ -565,7 +565,7 @@ int dn_fib_dump(struct sk_buff *skb, struct netlink_callback *cb) | |||
565 | return skb->len; | 565 | return skb->len; |
566 | } | 566 | } |
567 | 567 | ||
568 | static void fib_magic(int cmd, int type, __u16 dst, int dst_len, struct dn_ifaddr *ifa) | 568 | static void fib_magic(int cmd, int type, __le16 dst, int dst_len, struct dn_ifaddr *ifa) |
569 | { | 569 | { |
570 | struct dn_fib_table *tb; | 570 | struct dn_fib_table *tb; |
571 | struct { | 571 | struct { |
@@ -684,7 +684,7 @@ static int dn_fib_dnaddr_event(struct notifier_block *this, unsigned long event, | |||
684 | return NOTIFY_DONE; | 684 | return NOTIFY_DONE; |
685 | } | 685 | } |
686 | 686 | ||
687 | int dn_fib_sync_down(dn_address local, struct net_device *dev, int force) | 687 | int dn_fib_sync_down(__le16 local, struct net_device *dev, int force) |
688 | { | 688 | { |
689 | int ret = 0; | 689 | int ret = 0; |
690 | int scope = RT_SCOPE_NOWHERE; | 690 | int scope = RT_SCOPE_NOWHERE; |
diff --git a/net/decnet/dn_neigh.c b/net/decnet/dn_neigh.c index 33ab256cfd4a..7c8692c26bfe 100644 --- a/net/decnet/dn_neigh.c +++ b/net/decnet/dn_neigh.c | |||
@@ -95,7 +95,7 @@ static struct neigh_ops dn_phase3_ops = { | |||
95 | struct neigh_table dn_neigh_table = { | 95 | struct neigh_table dn_neigh_table = { |
96 | .family = PF_DECnet, | 96 | .family = PF_DECnet, |
97 | .entry_size = sizeof(struct dn_neigh), | 97 | .entry_size = sizeof(struct dn_neigh), |
98 | .key_len = sizeof(dn_address), | 98 | .key_len = sizeof(__le16), |
99 | .hash = dn_neigh_hash, | 99 | .hash = dn_neigh_hash, |
100 | .constructor = dn_neigh_construct, | 100 | .constructor = dn_neigh_construct, |
101 | .id = "dn_neigh_cache", | 101 | .id = "dn_neigh_cache", |
@@ -123,7 +123,7 @@ struct neigh_table dn_neigh_table = { | |||
123 | 123 | ||
124 | static u32 dn_neigh_hash(const void *pkey, const struct net_device *dev) | 124 | static u32 dn_neigh_hash(const void *pkey, const struct net_device *dev) |
125 | { | 125 | { |
126 | return jhash_2words(*(dn_address *)pkey, 0, dn_neigh_table.hash_rnd); | 126 | return jhash_2words(*(__u16 *)pkey, 0, dn_neigh_table.hash_rnd); |
127 | } | 127 | } |
128 | 128 | ||
129 | static int dn_neigh_construct(struct neighbour *neigh) | 129 | static int dn_neigh_construct(struct neighbour *neigh) |
@@ -249,14 +249,14 @@ static int dn_long_output(struct sk_buff *skb) | |||
249 | data = skb_push(skb, sizeof(struct dn_long_packet) + 3); | 249 | data = skb_push(skb, sizeof(struct dn_long_packet) + 3); |
250 | lp = (struct dn_long_packet *)(data+3); | 250 | lp = (struct dn_long_packet *)(data+3); |
251 | 251 | ||
252 | *((unsigned short *)data) = dn_htons(skb->len - 2); | 252 | *((__le16 *)data) = dn_htons(skb->len - 2); |
253 | *(data + 2) = 1 | DN_RT_F_PF; /* Padding */ | 253 | *(data + 2) = 1 | DN_RT_F_PF; /* Padding */ |
254 | 254 | ||
255 | lp->msgflg = DN_RT_PKT_LONG|(cb->rt_flags&(DN_RT_F_IE|DN_RT_F_RQR|DN_RT_F_RTS)); | 255 | lp->msgflg = DN_RT_PKT_LONG|(cb->rt_flags&(DN_RT_F_IE|DN_RT_F_RQR|DN_RT_F_RTS)); |
256 | lp->d_area = lp->d_subarea = 0; | 256 | lp->d_area = lp->d_subarea = 0; |
257 | dn_dn2eth(lp->d_id, dn_ntohs(cb->dst)); | 257 | dn_dn2eth(lp->d_id, cb->dst); |
258 | lp->s_area = lp->s_subarea = 0; | 258 | lp->s_area = lp->s_subarea = 0; |
259 | dn_dn2eth(lp->s_id, dn_ntohs(cb->src)); | 259 | dn_dn2eth(lp->s_id, cb->src); |
260 | lp->nl2 = 0; | 260 | lp->nl2 = 0; |
261 | lp->visit_ct = cb->hops & 0x3f; | 261 | lp->visit_ct = cb->hops & 0x3f; |
262 | lp->s_class = 0; | 262 | lp->s_class = 0; |
@@ -293,7 +293,7 @@ static int dn_short_output(struct sk_buff *skb) | |||
293 | } | 293 | } |
294 | 294 | ||
295 | data = skb_push(skb, sizeof(struct dn_short_packet) + 2); | 295 | data = skb_push(skb, sizeof(struct dn_short_packet) + 2); |
296 | *((unsigned short *)data) = dn_htons(skb->len - 2); | 296 | *((__le16 *)data) = dn_htons(skb->len - 2); |
297 | sp = (struct dn_short_packet *)(data+2); | 297 | sp = (struct dn_short_packet *)(data+2); |
298 | 298 | ||
299 | sp->msgflg = DN_RT_PKT_SHORT|(cb->rt_flags&(DN_RT_F_RQR|DN_RT_F_RTS)); | 299 | sp->msgflg = DN_RT_PKT_SHORT|(cb->rt_flags&(DN_RT_F_RQR|DN_RT_F_RTS)); |
@@ -335,7 +335,7 @@ static int dn_phase3_output(struct sk_buff *skb) | |||
335 | } | 335 | } |
336 | 336 | ||
337 | data = skb_push(skb, sizeof(struct dn_short_packet) + 2); | 337 | data = skb_push(skb, sizeof(struct dn_short_packet) + 2); |
338 | *((unsigned short *)data) = dn_htons(skb->len - 2); | 338 | *((__le16 *)data) = dn_htons(skb->len - 2); |
339 | sp = (struct dn_short_packet *)(data + 2); | 339 | sp = (struct dn_short_packet *)(data + 2); |
340 | 340 | ||
341 | sp->msgflg = DN_RT_PKT_SHORT|(cb->rt_flags&(DN_RT_F_RQR|DN_RT_F_RTS)); | 341 | sp->msgflg = DN_RT_PKT_SHORT|(cb->rt_flags&(DN_RT_F_RQR|DN_RT_F_RTS)); |
@@ -373,9 +373,9 @@ int dn_neigh_router_hello(struct sk_buff *skb) | |||
373 | struct neighbour *neigh; | 373 | struct neighbour *neigh; |
374 | struct dn_neigh *dn; | 374 | struct dn_neigh *dn; |
375 | struct dn_dev *dn_db; | 375 | struct dn_dev *dn_db; |
376 | dn_address src; | 376 | __le16 src; |
377 | 377 | ||
378 | src = dn_htons(dn_eth2dn(msg->id)); | 378 | src = dn_eth2dn(msg->id); |
379 | 379 | ||
380 | neigh = __neigh_lookup(&dn_neigh_table, &src, skb->dev, 1); | 380 | neigh = __neigh_lookup(&dn_neigh_table, &src, skb->dev, 1); |
381 | 381 | ||
@@ -409,7 +409,7 @@ int dn_neigh_router_hello(struct sk_buff *skb) | |||
409 | } | 409 | } |
410 | 410 | ||
411 | /* Only use routers in our area */ | 411 | /* Only use routers in our area */ |
412 | if ((dn_ntohs(src)>>10) == dn_ntohs((decnet_address)>>10)) { | 412 | if ((dn_ntohs(src)>>10) == (dn_ntohs((decnet_address))>>10)) { |
413 | if (!dn_db->router) { | 413 | if (!dn_db->router) { |
414 | dn_db->router = neigh_clone(neigh); | 414 | dn_db->router = neigh_clone(neigh); |
415 | } else { | 415 | } else { |
@@ -433,9 +433,9 @@ int dn_neigh_endnode_hello(struct sk_buff *skb) | |||
433 | struct endnode_hello_message *msg = (struct endnode_hello_message *)skb->data; | 433 | struct endnode_hello_message *msg = (struct endnode_hello_message *)skb->data; |
434 | struct neighbour *neigh; | 434 | struct neighbour *neigh; |
435 | struct dn_neigh *dn; | 435 | struct dn_neigh *dn; |
436 | dn_address src; | 436 | __le16 src; |
437 | 437 | ||
438 | src = dn_htons(dn_eth2dn(msg->id)); | 438 | src = dn_eth2dn(msg->id); |
439 | 439 | ||
440 | neigh = __neigh_lookup(&dn_neigh_table, &src, skb->dev, 1); | 440 | neigh = __neigh_lookup(&dn_neigh_table, &src, skb->dev, 1); |
441 | 441 | ||
diff --git a/net/decnet/dn_nsp_in.c b/net/decnet/dn_nsp_in.c index 44bda85e678f..547523b41c81 100644 --- a/net/decnet/dn_nsp_in.c +++ b/net/decnet/dn_nsp_in.c | |||
@@ -85,7 +85,7 @@ static void dn_log_martian(struct sk_buff *skb, const char *msg) | |||
85 | if (decnet_log_martians && net_ratelimit()) { | 85 | if (decnet_log_martians && net_ratelimit()) { |
86 | char *devname = skb->dev ? skb->dev->name : "???"; | 86 | char *devname = skb->dev ? skb->dev->name : "???"; |
87 | struct dn_skb_cb *cb = DN_SKB_CB(skb); | 87 | struct dn_skb_cb *cb = DN_SKB_CB(skb); |
88 | printk(KERN_INFO "DECnet: Martian packet (%s) dev=%s src=0x%04hx dst=0x%04hx srcport=0x%04hx dstport=0x%04hx\n", msg, devname, cb->src, cb->dst, cb->src_port, cb->dst_port); | 88 | printk(KERN_INFO "DECnet: Martian packet (%s) dev=%s src=0x%04hx dst=0x%04hx srcport=0x%04hx dstport=0x%04hx\n", msg, devname, dn_ntohs(cb->src), dn_ntohs(cb->dst), dn_ntohs(cb->src_port), dn_ntohs(cb->dst_port)); |
89 | } | 89 | } |
90 | } | 90 | } |
91 | 91 | ||
@@ -128,7 +128,7 @@ static void dn_ack(struct sock *sk, struct sk_buff *skb, unsigned short ack) | |||
128 | */ | 128 | */ |
129 | static int dn_process_ack(struct sock *sk, struct sk_buff *skb, int oth) | 129 | static int dn_process_ack(struct sock *sk, struct sk_buff *skb, int oth) |
130 | { | 130 | { |
131 | unsigned short *ptr = (unsigned short *)skb->data; | 131 | __le16 *ptr = (__le16 *)skb->data; |
132 | int len = 0; | 132 | int len = 0; |
133 | unsigned short ack; | 133 | unsigned short ack; |
134 | 134 | ||
@@ -346,7 +346,7 @@ static void dn_nsp_conn_conf(struct sock *sk, struct sk_buff *skb) | |||
346 | ptr = skb->data; | 346 | ptr = skb->data; |
347 | cb->services = *ptr++; | 347 | cb->services = *ptr++; |
348 | cb->info = *ptr++; | 348 | cb->info = *ptr++; |
349 | cb->segsize = dn_ntohs(*(__u16 *)ptr); | 349 | cb->segsize = dn_ntohs(*(__le16 *)ptr); |
350 | 350 | ||
351 | if ((scp->state == DN_CI) || (scp->state == DN_CD)) { | 351 | if ((scp->state == DN_CI) || (scp->state == DN_CD)) { |
352 | scp->persist = 0; | 352 | scp->persist = 0; |
@@ -363,7 +363,7 @@ static void dn_nsp_conn_conf(struct sock *sk, struct sk_buff *skb) | |||
363 | if (skb->len > 0) { | 363 | if (skb->len > 0) { |
364 | unsigned char dlen = *skb->data; | 364 | unsigned char dlen = *skb->data; |
365 | if ((dlen <= 16) && (dlen <= skb->len)) { | 365 | if ((dlen <= 16) && (dlen <= skb->len)) { |
366 | scp->conndata_in.opt_optl = dlen; | 366 | scp->conndata_in.opt_optl = dn_htons((__u16)dlen); |
367 | memcpy(scp->conndata_in.opt_data, skb->data + 1, dlen); | 367 | memcpy(scp->conndata_in.opt_data, skb->data + 1, dlen); |
368 | } | 368 | } |
369 | } | 369 | } |
@@ -397,17 +397,17 @@ static void dn_nsp_disc_init(struct sock *sk, struct sk_buff *skb) | |||
397 | if (skb->len < 2) | 397 | if (skb->len < 2) |
398 | goto out; | 398 | goto out; |
399 | 399 | ||
400 | reason = dn_ntohs(*(__u16 *)skb->data); | 400 | reason = dn_ntohs(*(__le16 *)skb->data); |
401 | skb_pull(skb, 2); | 401 | skb_pull(skb, 2); |
402 | 402 | ||
403 | scp->discdata_in.opt_status = reason; | 403 | scp->discdata_in.opt_status = dn_htons(reason); |
404 | scp->discdata_in.opt_optl = 0; | 404 | scp->discdata_in.opt_optl = 0; |
405 | memset(scp->discdata_in.opt_data, 0, 16); | 405 | memset(scp->discdata_in.opt_data, 0, 16); |
406 | 406 | ||
407 | if (skb->len > 0) { | 407 | if (skb->len > 0) { |
408 | unsigned char dlen = *skb->data; | 408 | unsigned char dlen = *skb->data; |
409 | if ((dlen <= 16) && (dlen <= skb->len)) { | 409 | if ((dlen <= 16) && (dlen <= skb->len)) { |
410 | scp->discdata_in.opt_optl = dlen; | 410 | scp->discdata_in.opt_optl = dn_htons((__u16)dlen); |
411 | memcpy(scp->discdata_in.opt_data, skb->data + 1, dlen); | 411 | memcpy(scp->discdata_in.opt_data, skb->data + 1, dlen); |
412 | } | 412 | } |
413 | } | 413 | } |
@@ -464,7 +464,7 @@ static void dn_nsp_disc_conf(struct sock *sk, struct sk_buff *skb) | |||
464 | if (skb->len != 2) | 464 | if (skb->len != 2) |
465 | goto out; | 465 | goto out; |
466 | 466 | ||
467 | reason = dn_ntohs(*(__u16 *)skb->data); | 467 | reason = dn_ntohs(*(__le16 *)skb->data); |
468 | 468 | ||
469 | sk->sk_state = TCP_CLOSE; | 469 | sk->sk_state = TCP_CLOSE; |
470 | 470 | ||
@@ -513,7 +513,7 @@ static void dn_nsp_linkservice(struct sock *sk, struct sk_buff *skb) | |||
513 | if (skb->len != 4) | 513 | if (skb->len != 4) |
514 | goto out; | 514 | goto out; |
515 | 515 | ||
516 | segnum = dn_ntohs(*(__u16 *)ptr); | 516 | segnum = dn_ntohs(*(__le16 *)ptr); |
517 | ptr += 2; | 517 | ptr += 2; |
518 | lsflags = *(unsigned char *)ptr++; | 518 | lsflags = *(unsigned char *)ptr++; |
519 | fcval = *ptr; | 519 | fcval = *ptr; |
@@ -621,7 +621,7 @@ static void dn_nsp_otherdata(struct sock *sk, struct sk_buff *skb) | |||
621 | if (skb->len < 2) | 621 | if (skb->len < 2) |
622 | goto out; | 622 | goto out; |
623 | 623 | ||
624 | cb->segnum = segnum = dn_ntohs(*(__u16 *)skb->data); | 624 | cb->segnum = segnum = dn_ntohs(*(__le16 *)skb->data); |
625 | skb_pull(skb, 2); | 625 | skb_pull(skb, 2); |
626 | 626 | ||
627 | if (seq_next(scp->numoth_rcv, segnum)) { | 627 | if (seq_next(scp->numoth_rcv, segnum)) { |
@@ -649,7 +649,7 @@ static void dn_nsp_data(struct sock *sk, struct sk_buff *skb) | |||
649 | if (skb->len < 2) | 649 | if (skb->len < 2) |
650 | goto out; | 650 | goto out; |
651 | 651 | ||
652 | cb->segnum = segnum = dn_ntohs(*(__u16 *)skb->data); | 652 | cb->segnum = segnum = dn_ntohs(*(__le16 *)skb->data); |
653 | skb_pull(skb, 2); | 653 | skb_pull(skb, 2); |
654 | 654 | ||
655 | if (seq_next(scp->numdat_rcv, segnum)) { | 655 | if (seq_next(scp->numdat_rcv, segnum)) { |
@@ -760,7 +760,7 @@ static int dn_nsp_rx_packet(struct sk_buff *skb) | |||
760 | /* | 760 | /* |
761 | * Grab the destination address. | 761 | * Grab the destination address. |
762 | */ | 762 | */ |
763 | cb->dst_port = *(unsigned short *)ptr; | 763 | cb->dst_port = *(__le16 *)ptr; |
764 | cb->src_port = 0; | 764 | cb->src_port = 0; |
765 | ptr += 2; | 765 | ptr += 2; |
766 | 766 | ||
@@ -768,7 +768,7 @@ static int dn_nsp_rx_packet(struct sk_buff *skb) | |||
768 | * If not a connack, grab the source address too. | 768 | * If not a connack, grab the source address too. |
769 | */ | 769 | */ |
770 | if (pskb_may_pull(skb, 5)) { | 770 | if (pskb_may_pull(skb, 5)) { |
771 | cb->src_port = *(unsigned short *)ptr; | 771 | cb->src_port = *(__le16 *)ptr; |
772 | ptr += 2; | 772 | ptr += 2; |
773 | skb_pull(skb, 5); | 773 | skb_pull(skb, 5); |
774 | } | 774 | } |
@@ -778,7 +778,7 @@ static int dn_nsp_rx_packet(struct sk_buff *skb) | |||
778 | * Swap src & dst and look up in the normal way. | 778 | * Swap src & dst and look up in the normal way. |
779 | */ | 779 | */ |
780 | if (unlikely(cb->rt_flags & DN_RT_F_RTS)) { | 780 | if (unlikely(cb->rt_flags & DN_RT_F_RTS)) { |
781 | unsigned short tmp = cb->dst_port; | 781 | __le16 tmp = cb->dst_port; |
782 | cb->dst_port = cb->src_port; | 782 | cb->dst_port = cb->src_port; |
783 | cb->src_port = tmp; | 783 | cb->src_port = tmp; |
784 | tmp = cb->dst; | 784 | tmp = cb->dst; |
diff --git a/net/decnet/dn_nsp_out.c b/net/decnet/dn_nsp_out.c index c96c767b1f74..c2e21cd89b3c 100644 --- a/net/decnet/dn_nsp_out.c +++ b/net/decnet/dn_nsp_out.c | |||
@@ -287,26 +287,26 @@ int dn_nsp_xmit_timeout(struct sock *sk) | |||
287 | return 0; | 287 | return 0; |
288 | } | 288 | } |
289 | 289 | ||
290 | static inline unsigned char *dn_mk_common_header(struct dn_scp *scp, struct sk_buff *skb, unsigned char msgflag, int len) | 290 | static inline __le16 *dn_mk_common_header(struct dn_scp *scp, struct sk_buff *skb, unsigned char msgflag, int len) |
291 | { | 291 | { |
292 | unsigned char *ptr = skb_push(skb, len); | 292 | unsigned char *ptr = skb_push(skb, len); |
293 | 293 | ||
294 | BUG_ON(len < 5); | 294 | BUG_ON(len < 5); |
295 | 295 | ||
296 | *ptr++ = msgflag; | 296 | *ptr++ = msgflag; |
297 | *((unsigned short *)ptr) = scp->addrrem; | 297 | *((__le16 *)ptr) = scp->addrrem; |
298 | ptr += 2; | 298 | ptr += 2; |
299 | *((unsigned short *)ptr) = scp->addrloc; | 299 | *((__le16 *)ptr) = scp->addrloc; |
300 | ptr += 2; | 300 | ptr += 2; |
301 | return ptr; | 301 | return (__le16 __force *)ptr; |
302 | } | 302 | } |
303 | 303 | ||
304 | static unsigned short *dn_mk_ack_header(struct sock *sk, struct sk_buff *skb, unsigned char msgflag, int hlen, int other) | 304 | static __le16 *dn_mk_ack_header(struct sock *sk, struct sk_buff *skb, unsigned char msgflag, int hlen, int other) |
305 | { | 305 | { |
306 | struct dn_scp *scp = DN_SK(sk); | 306 | struct dn_scp *scp = DN_SK(sk); |
307 | unsigned short acknum = scp->numdat_rcv & 0x0FFF; | 307 | unsigned short acknum = scp->numdat_rcv & 0x0FFF; |
308 | unsigned short ackcrs = scp->numoth_rcv & 0x0FFF; | 308 | unsigned short ackcrs = scp->numoth_rcv & 0x0FFF; |
309 | unsigned short *ptr; | 309 | __le16 *ptr; |
310 | 310 | ||
311 | BUG_ON(hlen < 9); | 311 | BUG_ON(hlen < 9); |
312 | 312 | ||
@@ -325,7 +325,7 @@ static unsigned short *dn_mk_ack_header(struct sock *sk, struct sk_buff *skb, un | |||
325 | /* Set "cross subchannel" bit in ackcrs */ | 325 | /* Set "cross subchannel" bit in ackcrs */ |
326 | ackcrs |= 0x2000; | 326 | ackcrs |= 0x2000; |
327 | 327 | ||
328 | ptr = (unsigned short *)dn_mk_common_header(scp, skb, msgflag, hlen); | 328 | ptr = (__le16 *)dn_mk_common_header(scp, skb, msgflag, hlen); |
329 | 329 | ||
330 | *ptr++ = dn_htons(acknum); | 330 | *ptr++ = dn_htons(acknum); |
331 | *ptr++ = dn_htons(ackcrs); | 331 | *ptr++ = dn_htons(ackcrs); |
@@ -333,11 +333,11 @@ static unsigned short *dn_mk_ack_header(struct sock *sk, struct sk_buff *skb, un | |||
333 | return ptr; | 333 | return ptr; |
334 | } | 334 | } |
335 | 335 | ||
336 | static unsigned short *dn_nsp_mk_data_header(struct sock *sk, struct sk_buff *skb, int oth) | 336 | static __le16 *dn_nsp_mk_data_header(struct sock *sk, struct sk_buff *skb, int oth) |
337 | { | 337 | { |
338 | struct dn_scp *scp = DN_SK(sk); | 338 | struct dn_scp *scp = DN_SK(sk); |
339 | struct dn_skb_cb *cb = DN_SKB_CB(skb); | 339 | struct dn_skb_cb *cb = DN_SKB_CB(skb); |
340 | unsigned short *ptr = dn_mk_ack_header(sk, skb, cb->nsp_flags, 11, oth); | 340 | __le16 *ptr = dn_mk_ack_header(sk, skb, cb->nsp_flags, 11, oth); |
341 | 341 | ||
342 | if (unlikely(oth)) { | 342 | if (unlikely(oth)) { |
343 | cb->segnum = scp->numoth; | 343 | cb->segnum = scp->numoth; |
@@ -524,9 +524,9 @@ void dn_send_conn_conf(struct sock *sk, gfp_t gfp) | |||
524 | struct dn_scp *scp = DN_SK(sk); | 524 | struct dn_scp *scp = DN_SK(sk); |
525 | struct sk_buff *skb = NULL; | 525 | struct sk_buff *skb = NULL; |
526 | struct nsp_conn_init_msg *msg; | 526 | struct nsp_conn_init_msg *msg; |
527 | unsigned char len = scp->conndata_out.opt_optl; | 527 | __u8 len = (__u8)dn_ntohs(scp->conndata_out.opt_optl); |
528 | 528 | ||
529 | if ((skb = dn_alloc_skb(sk, 50 + scp->conndata_out.opt_optl, gfp)) == NULL) | 529 | if ((skb = dn_alloc_skb(sk, 50 + dn_ntohs(scp->conndata_out.opt_optl), gfp)) == NULL) |
530 | return; | 530 | return; |
531 | 531 | ||
532 | msg = (struct nsp_conn_init_msg *)skb_put(skb, sizeof(*msg)); | 532 | msg = (struct nsp_conn_init_msg *)skb_put(skb, sizeof(*msg)); |
@@ -553,7 +553,7 @@ void dn_send_conn_conf(struct sock *sk, gfp_t gfp) | |||
553 | static __inline__ void dn_nsp_do_disc(struct sock *sk, unsigned char msgflg, | 553 | static __inline__ void dn_nsp_do_disc(struct sock *sk, unsigned char msgflg, |
554 | unsigned short reason, gfp_t gfp, | 554 | unsigned short reason, gfp_t gfp, |
555 | struct dst_entry *dst, | 555 | struct dst_entry *dst, |
556 | int ddl, unsigned char *dd, __u16 rem, __u16 loc) | 556 | int ddl, unsigned char *dd, __le16 rem, __le16 loc) |
557 | { | 557 | { |
558 | struct sk_buff *skb = NULL; | 558 | struct sk_buff *skb = NULL; |
559 | int size = 7 + ddl + ((msgflg == NSP_DISCINIT) ? 1 : 0); | 559 | int size = 7 + ddl + ((msgflg == NSP_DISCINIT) ? 1 : 0); |
@@ -561,7 +561,7 @@ static __inline__ void dn_nsp_do_disc(struct sock *sk, unsigned char msgflg, | |||
561 | 561 | ||
562 | if ((dst == NULL) || (rem == 0)) { | 562 | if ((dst == NULL) || (rem == 0)) { |
563 | if (net_ratelimit()) | 563 | if (net_ratelimit()) |
564 | printk(KERN_DEBUG "DECnet: dn_nsp_do_disc: BUG! Please report this to SteveW@ACM.org rem=%u dst=%p\n", (unsigned)rem, dst); | 564 | printk(KERN_DEBUG "DECnet: dn_nsp_do_disc: BUG! Please report this to SteveW@ACM.org rem=%u dst=%p\n", dn_ntohs(rem), dst); |
565 | return; | 565 | return; |
566 | } | 566 | } |
567 | 567 | ||
@@ -570,11 +570,11 @@ static __inline__ void dn_nsp_do_disc(struct sock *sk, unsigned char msgflg, | |||
570 | 570 | ||
571 | msg = skb_put(skb, size); | 571 | msg = skb_put(skb, size); |
572 | *msg++ = msgflg; | 572 | *msg++ = msgflg; |
573 | *(__u16 *)msg = rem; | 573 | *(__le16 *)msg = rem; |
574 | msg += 2; | 574 | msg += 2; |
575 | *(__u16 *)msg = loc; | 575 | *(__le16 *)msg = loc; |
576 | msg += 2; | 576 | msg += 2; |
577 | *(__u16 *)msg = dn_htons(reason); | 577 | *(__le16 *)msg = dn_htons(reason); |
578 | msg += 2; | 578 | msg += 2; |
579 | if (msgflg == NSP_DISCINIT) | 579 | if (msgflg == NSP_DISCINIT) |
580 | *msg++ = ddl; | 580 | *msg++ = ddl; |
@@ -600,10 +600,10 @@ void dn_nsp_send_disc(struct sock *sk, unsigned char msgflg, | |||
600 | int ddl = 0; | 600 | int ddl = 0; |
601 | 601 | ||
602 | if (msgflg == NSP_DISCINIT) | 602 | if (msgflg == NSP_DISCINIT) |
603 | ddl = scp->discdata_out.opt_optl; | 603 | ddl = dn_ntohs(scp->discdata_out.opt_optl); |
604 | 604 | ||
605 | if (reason == 0) | 605 | if (reason == 0) |
606 | reason = scp->discdata_out.opt_status; | 606 | reason = dn_ntohs(scp->discdata_out.opt_status); |
607 | 607 | ||
608 | dn_nsp_do_disc(sk, msgflg, reason, gfp, sk->sk_dst_cache, ddl, | 608 | dn_nsp_do_disc(sk, msgflg, reason, gfp, sk->sk_dst_cache, ddl, |
609 | scp->discdata_out.opt_data, scp->addrrem, scp->addrloc); | 609 | scp->discdata_out.opt_data, scp->addrrem, scp->addrloc); |
@@ -708,7 +708,7 @@ void dn_nsp_send_conninit(struct sock *sk, unsigned char msgflg) | |||
708 | if (aux > 0) | 708 | if (aux > 0) |
709 | memcpy(skb_put(skb, aux), scp->accessdata.acc_acc, aux); | 709 | memcpy(skb_put(skb, aux), scp->accessdata.acc_acc, aux); |
710 | 710 | ||
711 | aux = scp->conndata_out.opt_optl; | 711 | aux = (__u8)dn_ntohs(scp->conndata_out.opt_optl); |
712 | *skb_put(skb, 1) = aux; | 712 | *skb_put(skb, 1) = aux; |
713 | if (aux > 0) | 713 | if (aux > 0) |
714 | memcpy(skb_put(skb,aux), scp->conndata_out.opt_data, aux); | 714 | memcpy(skb_put(skb,aux), scp->conndata_out.opt_data, aux); |
diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c index 3407f190afe8..d7037fe3cafe 100644 --- a/net/decnet/dn_route.c +++ b/net/decnet/dn_route.c | |||
@@ -133,9 +133,9 @@ static struct dst_ops dn_dst_ops = { | |||
133 | .entries = ATOMIC_INIT(0), | 133 | .entries = ATOMIC_INIT(0), |
134 | }; | 134 | }; |
135 | 135 | ||
136 | static __inline__ unsigned dn_hash(unsigned short src, unsigned short dst) | 136 | static __inline__ unsigned dn_hash(__le16 src, __le16 dst) |
137 | { | 137 | { |
138 | unsigned short tmp = src ^ dst; | 138 | __u16 tmp = (__u16 __force)(src ^ dst); |
139 | tmp ^= (tmp >> 3); | 139 | tmp ^= (tmp >> 3); |
140 | tmp ^= (tmp >> 5); | 140 | tmp ^= (tmp >> 5); |
141 | tmp ^= (tmp >> 10); | 141 | tmp ^= (tmp >> 10); |
@@ -379,9 +379,9 @@ static int dn_return_short(struct sk_buff *skb) | |||
379 | { | 379 | { |
380 | struct dn_skb_cb *cb; | 380 | struct dn_skb_cb *cb; |
381 | unsigned char *ptr; | 381 | unsigned char *ptr; |
382 | dn_address *src; | 382 | __le16 *src; |
383 | dn_address *dst; | 383 | __le16 *dst; |
384 | dn_address tmp; | 384 | __le16 tmp; |
385 | 385 | ||
386 | /* Add back headers */ | 386 | /* Add back headers */ |
387 | skb_push(skb, skb->data - skb->nh.raw); | 387 | skb_push(skb, skb->data - skb->nh.raw); |
@@ -394,9 +394,9 @@ static int dn_return_short(struct sk_buff *skb) | |||
394 | ptr = skb->data + 2; | 394 | ptr = skb->data + 2; |
395 | *ptr++ = (cb->rt_flags & ~DN_RT_F_RQR) | DN_RT_F_RTS; | 395 | *ptr++ = (cb->rt_flags & ~DN_RT_F_RQR) | DN_RT_F_RTS; |
396 | 396 | ||
397 | dst = (dn_address *)ptr; | 397 | dst = (__le16 *)ptr; |
398 | ptr += 2; | 398 | ptr += 2; |
399 | src = (dn_address *)ptr; | 399 | src = (__le16 *)ptr; |
400 | ptr += 2; | 400 | ptr += 2; |
401 | *ptr = 0; /* Zero hop count */ | 401 | *ptr = 0; /* Zero hop count */ |
402 | 402 | ||
@@ -475,7 +475,8 @@ static int dn_route_rx_packet(struct sk_buff *skb) | |||
475 | struct dn_skb_cb *cb = DN_SKB_CB(skb); | 475 | struct dn_skb_cb *cb = DN_SKB_CB(skb); |
476 | printk(KERN_DEBUG | 476 | printk(KERN_DEBUG |
477 | "DECnet: dn_route_rx_packet: rt_flags=0x%02x dev=%s len=%d src=0x%04hx dst=0x%04hx err=%d type=%d\n", | 477 | "DECnet: dn_route_rx_packet: rt_flags=0x%02x dev=%s len=%d src=0x%04hx dst=0x%04hx err=%d type=%d\n", |
478 | (int)cb->rt_flags, devname, skb->len, cb->src, cb->dst, | 478 | (int)cb->rt_flags, devname, skb->len, |
479 | dn_ntohs(cb->src), dn_ntohs(cb->dst), | ||
479 | err, skb->pkt_type); | 480 | err, skb->pkt_type); |
480 | } | 481 | } |
481 | 482 | ||
@@ -505,7 +506,7 @@ static int dn_route_rx_long(struct sk_buff *skb) | |||
505 | 506 | ||
506 | /* Destination info */ | 507 | /* Destination info */ |
507 | ptr += 2; | 508 | ptr += 2; |
508 | cb->dst = dn_htons(dn_eth2dn(ptr)); | 509 | cb->dst = dn_eth2dn(ptr); |
509 | if (memcmp(ptr, dn_hiord_addr, 4) != 0) | 510 | if (memcmp(ptr, dn_hiord_addr, 4) != 0) |
510 | goto drop_it; | 511 | goto drop_it; |
511 | ptr += 6; | 512 | ptr += 6; |
@@ -513,7 +514,7 @@ static int dn_route_rx_long(struct sk_buff *skb) | |||
513 | 514 | ||
514 | /* Source info */ | 515 | /* Source info */ |
515 | ptr += 2; | 516 | ptr += 2; |
516 | cb->src = dn_htons(dn_eth2dn(ptr)); | 517 | cb->src = dn_eth2dn(ptr); |
517 | if (memcmp(ptr, dn_hiord_addr, 4) != 0) | 518 | if (memcmp(ptr, dn_hiord_addr, 4) != 0) |
518 | goto drop_it; | 519 | goto drop_it; |
519 | ptr += 6; | 520 | ptr += 6; |
@@ -541,9 +542,9 @@ static int dn_route_rx_short(struct sk_buff *skb) | |||
541 | skb_pull(skb, 5); | 542 | skb_pull(skb, 5); |
542 | skb->h.raw = skb->data; | 543 | skb->h.raw = skb->data; |
543 | 544 | ||
544 | cb->dst = *(dn_address *)ptr; | 545 | cb->dst = *(__le16 *)ptr; |
545 | ptr += 2; | 546 | ptr += 2; |
546 | cb->src = *(dn_address *)ptr; | 547 | cb->src = *(__le16 *)ptr; |
547 | ptr += 2; | 548 | ptr += 2; |
548 | cb->hops = *ptr & 0x3f; | 549 | cb->hops = *ptr & 0x3f; |
549 | 550 | ||
@@ -575,7 +576,7 @@ int dn_route_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type | |||
575 | { | 576 | { |
576 | struct dn_skb_cb *cb; | 577 | struct dn_skb_cb *cb; |
577 | unsigned char flags = 0; | 578 | unsigned char flags = 0; |
578 | __u16 len = dn_ntohs(*(__u16 *)skb->data); | 579 | __u16 len = dn_ntohs(*(__le16 *)skb->data); |
579 | struct dn_dev *dn = (struct dn_dev *)dev->dn_ptr; | 580 | struct dn_dev *dn = (struct dn_dev *)dev->dn_ptr; |
580 | unsigned char padlen = 0; | 581 | unsigned char padlen = 0; |
581 | 582 | ||
@@ -782,7 +783,7 @@ static int dn_rt_bug(struct sk_buff *skb) | |||
782 | struct dn_skb_cb *cb = DN_SKB_CB(skb); | 783 | struct dn_skb_cb *cb = DN_SKB_CB(skb); |
783 | 784 | ||
784 | printk(KERN_DEBUG "dn_rt_bug: skb from:%04x to:%04x\n", | 785 | printk(KERN_DEBUG "dn_rt_bug: skb from:%04x to:%04x\n", |
785 | cb->src, cb->dst); | 786 | dn_ntohs(cb->src), dn_ntohs(cb->dst)); |
786 | } | 787 | } |
787 | 788 | ||
788 | kfree_skb(skb); | 789 | kfree_skb(skb); |
@@ -823,7 +824,7 @@ static int dn_rt_set_next_hop(struct dn_route *rt, struct dn_fib_res *res) | |||
823 | return 0; | 824 | return 0; |
824 | } | 825 | } |
825 | 826 | ||
826 | static inline int dn_match_addr(__u16 addr1, __u16 addr2) | 827 | static inline int dn_match_addr(__le16 addr1, __le16 addr2) |
827 | { | 828 | { |
828 | __u16 tmp = dn_ntohs(addr1) ^ dn_ntohs(addr2); | 829 | __u16 tmp = dn_ntohs(addr1) ^ dn_ntohs(addr2); |
829 | int match = 16; | 830 | int match = 16; |
@@ -834,9 +835,9 @@ static inline int dn_match_addr(__u16 addr1, __u16 addr2) | |||
834 | return match; | 835 | return match; |
835 | } | 836 | } |
836 | 837 | ||
837 | static __u16 dnet_select_source(const struct net_device *dev, __u16 daddr, int scope) | 838 | static __le16 dnet_select_source(const struct net_device *dev, __le16 daddr, int scope) |
838 | { | 839 | { |
839 | __u16 saddr = 0; | 840 | __le16 saddr = 0; |
840 | struct dn_dev *dn_db = dev->dn_ptr; | 841 | struct dn_dev *dn_db = dev->dn_ptr; |
841 | struct dn_ifaddr *ifa; | 842 | struct dn_ifaddr *ifa; |
842 | int best_match = 0; | 843 | int best_match = 0; |
@@ -861,14 +862,14 @@ static __u16 dnet_select_source(const struct net_device *dev, __u16 daddr, int s | |||
861 | return saddr; | 862 | return saddr; |
862 | } | 863 | } |
863 | 864 | ||
864 | static inline __u16 __dn_fib_res_prefsrc(struct dn_fib_res *res) | 865 | static inline __le16 __dn_fib_res_prefsrc(struct dn_fib_res *res) |
865 | { | 866 | { |
866 | return dnet_select_source(DN_FIB_RES_DEV(*res), DN_FIB_RES_GW(*res), res->scope); | 867 | return dnet_select_source(DN_FIB_RES_DEV(*res), DN_FIB_RES_GW(*res), res->scope); |
867 | } | 868 | } |
868 | 869 | ||
869 | static inline __u16 dn_fib_rules_map_destination(__u16 daddr, struct dn_fib_res *res) | 870 | static inline __le16 dn_fib_rules_map_destination(__le16 daddr, struct dn_fib_res *res) |
870 | { | 871 | { |
871 | __u16 mask = dnet_make_mask(res->prefixlen); | 872 | __le16 mask = dnet_make_mask(res->prefixlen); |
872 | return (daddr&~mask)|res->fi->fib_nh->nh_gw; | 873 | return (daddr&~mask)|res->fi->fib_nh->nh_gw; |
873 | } | 874 | } |
874 | 875 | ||
@@ -892,12 +893,13 @@ static int dn_route_output_slow(struct dst_entry **pprt, const struct flowi *old | |||
892 | struct dn_fib_res res = { .fi = NULL, .type = RTN_UNICAST }; | 893 | struct dn_fib_res res = { .fi = NULL, .type = RTN_UNICAST }; |
893 | int err; | 894 | int err; |
894 | int free_res = 0; | 895 | int free_res = 0; |
895 | __u16 gateway = 0; | 896 | __le16 gateway = 0; |
896 | 897 | ||
897 | if (decnet_debug_level & 16) | 898 | if (decnet_debug_level & 16) |
898 | printk(KERN_DEBUG | 899 | printk(KERN_DEBUG |
899 | "dn_route_output_slow: dst=%04x src=%04x mark=%d" | 900 | "dn_route_output_slow: dst=%04x src=%04x mark=%d" |
900 | " iif=%d oif=%d\n", oldflp->fld_dst, oldflp->fld_src, | 901 | " iif=%d oif=%d\n", dn_ntohs(oldflp->fld_dst), |
902 | dn_ntohs(oldflp->fld_src), | ||
901 | oldflp->fld_fwmark, loopback_dev.ifindex, oldflp->oif); | 903 | oldflp->fld_fwmark, loopback_dev.ifindex, oldflp->oif); |
902 | 904 | ||
903 | /* If we have an output interface, verify its a DECnet device */ | 905 | /* If we have an output interface, verify its a DECnet device */ |
@@ -961,8 +963,9 @@ source_ok: | |||
961 | if (decnet_debug_level & 16) | 963 | if (decnet_debug_level & 16) |
962 | printk(KERN_DEBUG | 964 | printk(KERN_DEBUG |
963 | "dn_route_output_slow: initial checks complete." | 965 | "dn_route_output_slow: initial checks complete." |
964 | " dst=%o4x src=%04x oif=%d try_hard=%d\n", fl.fld_dst, | 966 | " dst=%o4x src=%04x oif=%d try_hard=%d\n", |
965 | fl.fld_src, fl.oif, try_hard); | 967 | dn_ntohs(fl.fld_dst), dn_ntohs(fl.fld_src), |
968 | fl.oif, try_hard); | ||
966 | 969 | ||
967 | /* | 970 | /* |
968 | * N.B. If the kernel is compiled without router support then | 971 | * N.B. If the kernel is compiled without router support then |
@@ -1218,8 +1221,8 @@ static int dn_route_input_slow(struct sk_buff *skb) | |||
1218 | struct neighbour *neigh = NULL; | 1221 | struct neighbour *neigh = NULL; |
1219 | unsigned hash; | 1222 | unsigned hash; |
1220 | int flags = 0; | 1223 | int flags = 0; |
1221 | __u16 gateway = 0; | 1224 | __le16 gateway = 0; |
1222 | __u16 local_src = 0; | 1225 | __le16 local_src = 0; |
1223 | struct flowi fl = { .nl_u = { .dn_u = | 1226 | struct flowi fl = { .nl_u = { .dn_u = |
1224 | { .daddr = cb->dst, | 1227 | { .daddr = cb->dst, |
1225 | .saddr = cb->src, | 1228 | .saddr = cb->src, |
@@ -1266,7 +1269,7 @@ static int dn_route_input_slow(struct sk_buff *skb) | |||
1266 | res.type = RTN_LOCAL; | 1269 | res.type = RTN_LOCAL; |
1267 | flags |= RTCF_DIRECTSRC; | 1270 | flags |= RTCF_DIRECTSRC; |
1268 | } else { | 1271 | } else { |
1269 | __u16 src_map = fl.fld_src; | 1272 | __le16 src_map = fl.fld_src; |
1270 | free_res = 1; | 1273 | free_res = 1; |
1271 | 1274 | ||
1272 | out_dev = DN_FIB_RES_DEV(res); | 1275 | out_dev = DN_FIB_RES_DEV(res); |
diff --git a/net/decnet/dn_rules.c b/net/decnet/dn_rules.c index 1060de70bc0c..f2c299dfe030 100644 --- a/net/decnet/dn_rules.c +++ b/net/decnet/dn_rules.c | |||
@@ -46,11 +46,11 @@ struct dn_fib_rule | |||
46 | unsigned char r_action; | 46 | unsigned char r_action; |
47 | unsigned char r_dst_len; | 47 | unsigned char r_dst_len; |
48 | unsigned char r_src_len; | 48 | unsigned char r_src_len; |
49 | dn_address r_src; | 49 | __le16 r_src; |
50 | dn_address r_srcmask; | 50 | __le16 r_srcmask; |
51 | dn_address r_dst; | 51 | __le16 r_dst; |
52 | dn_address r_dstmask; | 52 | __le16 r_dstmask; |
53 | dn_address r_srcmap; | 53 | __le16 r_srcmap; |
54 | u8 r_flags; | 54 | u8 r_flags; |
55 | #ifdef CONFIG_DECNET_ROUTE_FWMARK | 55 | #ifdef CONFIG_DECNET_ROUTE_FWMARK |
56 | u32 r_fwmark; | 56 | u32 r_fwmark; |
@@ -208,8 +208,8 @@ int dn_fib_lookup(const struct flowi *flp, struct dn_fib_res *res) | |||
208 | { | 208 | { |
209 | struct dn_fib_rule *r, *policy; | 209 | struct dn_fib_rule *r, *policy; |
210 | struct dn_fib_table *tb; | 210 | struct dn_fib_table *tb; |
211 | dn_address saddr = flp->fld_src; | 211 | __le16 saddr = flp->fld_src; |
212 | dn_address daddr = flp->fld_dst; | 212 | __le16 daddr = flp->fld_dst; |
213 | int err; | 213 | int err; |
214 | 214 | ||
215 | read_lock(&dn_fib_rules_lock); | 215 | read_lock(&dn_fib_rules_lock); |
@@ -259,7 +259,7 @@ int dn_fib_lookup(const struct flowi *flp, struct dn_fib_res *res) | |||
259 | return -ESRCH; | 259 | return -ESRCH; |
260 | } | 260 | } |
261 | 261 | ||
262 | unsigned dnet_addr_type(__u16 addr) | 262 | unsigned dnet_addr_type(__le16 addr) |
263 | { | 263 | { |
264 | struct flowi fl = { .nl_u = { .dn_u = { .daddr = addr } } }; | 264 | struct flowi fl = { .nl_u = { .dn_u = { .daddr = addr } } }; |
265 | struct dn_fib_res res; | 265 | struct dn_fib_res res; |
@@ -277,7 +277,7 @@ unsigned dnet_addr_type(__u16 addr) | |||
277 | return ret; | 277 | return ret; |
278 | } | 278 | } |
279 | 279 | ||
280 | __u16 dn_fib_rules_policy(__u16 saddr, struct dn_fib_res *res, unsigned *flags) | 280 | __le16 dn_fib_rules_policy(__le16 saddr, struct dn_fib_res *res, unsigned *flags) |
281 | { | 281 | { |
282 | struct dn_fib_rule *r = res->r; | 282 | struct dn_fib_rule *r = res->r; |
283 | 283 | ||
diff --git a/net/decnet/dn_table.c b/net/decnet/dn_table.c index 6f8b5658cb4e..0ebc46af1bdd 100644 --- a/net/decnet/dn_table.c +++ b/net/decnet/dn_table.c | |||
@@ -46,7 +46,7 @@ struct dn_zone | |||
46 | u32 dz_hashmask; | 46 | u32 dz_hashmask; |
47 | #define DZ_HASHMASK(dz) ((dz)->dz_hashmask) | 47 | #define DZ_HASHMASK(dz) ((dz)->dz_hashmask) |
48 | int dz_order; | 48 | int dz_order; |
49 | u16 dz_mask; | 49 | __le16 dz_mask; |
50 | #define DZ_MASK(dz) ((dz)->dz_mask) | 50 | #define DZ_MASK(dz) ((dz)->dz_mask) |
51 | }; | 51 | }; |
52 | 52 | ||
@@ -84,14 +84,14 @@ static int dn_fib_hash_zombies; | |||
84 | 84 | ||
85 | static inline dn_fib_idx_t dn_hash(dn_fib_key_t key, struct dn_zone *dz) | 85 | static inline dn_fib_idx_t dn_hash(dn_fib_key_t key, struct dn_zone *dz) |
86 | { | 86 | { |
87 | u16 h = ntohs(key.datum)>>(16 - dz->dz_order); | 87 | u16 h = dn_ntohs(key.datum)>>(16 - dz->dz_order); |
88 | h ^= (h >> 10); | 88 | h ^= (h >> 10); |
89 | h ^= (h >> 6); | 89 | h ^= (h >> 6); |
90 | h &= DZ_HASHMASK(dz); | 90 | h &= DZ_HASHMASK(dz); |
91 | return *(dn_fib_idx_t *)&h; | 91 | return *(dn_fib_idx_t *)&h; |
92 | } | 92 | } |
93 | 93 | ||
94 | static inline dn_fib_key_t dz_key(u16 dst, struct dn_zone *dz) | 94 | static inline dn_fib_key_t dz_key(__le16 dst, struct dn_zone *dz) |
95 | { | 95 | { |
96 | dn_fib_key_t k; | 96 | dn_fib_key_t k; |
97 | k.datum = dst & DZ_MASK(dz); | 97 | k.datum = dst & DZ_MASK(dz); |
@@ -250,7 +250,7 @@ static int dn_fib_nh_match(struct rtmsg *r, struct nlmsghdr *nlh, struct dn_kern | |||
250 | 250 | ||
251 | for_nexthops(fi) { | 251 | for_nexthops(fi) { |
252 | int attrlen = nhlen - sizeof(struct rtnexthop); | 252 | int attrlen = nhlen - sizeof(struct rtnexthop); |
253 | dn_address gw; | 253 | __le16 gw; |
254 | 254 | ||
255 | if (attrlen < 0 || (nhlen -= nhp->rtnh_len) < 0) | 255 | if (attrlen < 0 || (nhlen -= nhp->rtnh_len) < 0) |
256 | return -EINVAL; | 256 | return -EINVAL; |
@@ -457,7 +457,7 @@ static int dn_fib_table_insert(struct dn_fib_table *tb, struct rtmsg *r, struct | |||
457 | 457 | ||
458 | dz_key_0(key); | 458 | dz_key_0(key); |
459 | if (rta->rta_dst) { | 459 | if (rta->rta_dst) { |
460 | dn_address dst; | 460 | __le16 dst; |
461 | memcpy(&dst, rta->rta_dst, 2); | 461 | memcpy(&dst, rta->rta_dst, 2); |
462 | if (dst & ~DZ_MASK(dz)) | 462 | if (dst & ~DZ_MASK(dz)) |
463 | return -EINVAL; | 463 | return -EINVAL; |
@@ -593,7 +593,7 @@ static int dn_fib_table_delete(struct dn_fib_table *tb, struct rtmsg *r, struct | |||
593 | 593 | ||
594 | dz_key_0(key); | 594 | dz_key_0(key); |
595 | if (rta->rta_dst) { | 595 | if (rta->rta_dst) { |
596 | dn_address dst; | 596 | __le16 dst; |
597 | memcpy(&dst, rta->rta_dst, 2); | 597 | memcpy(&dst, rta->rta_dst, 2); |
598 | if (dst & ~DZ_MASK(dz)) | 598 | if (dst & ~DZ_MASK(dz)) |
599 | return -EINVAL; | 599 | return -EINVAL; |
diff --git a/net/decnet/sysctl_net_decnet.c b/net/decnet/sysctl_net_decnet.c index 0e9d2c571165..bda5920215fd 100644 --- a/net/decnet/sysctl_net_decnet.c +++ b/net/decnet/sysctl_net_decnet.c | |||
@@ -86,9 +86,9 @@ static void strip_it(char *str) | |||
86 | * Simple routine to parse an ascii DECnet address | 86 | * Simple routine to parse an ascii DECnet address |
87 | * into a network order address. | 87 | * into a network order address. |
88 | */ | 88 | */ |
89 | static int parse_addr(dn_address *addr, char *str) | 89 | static int parse_addr(__le16 *addr, char *str) |
90 | { | 90 | { |
91 | dn_address area, node; | 91 | __u16 area, node; |
92 | 92 | ||
93 | while(*str && !ISNUM(*str)) str++; | 93 | while(*str && !ISNUM(*str)) str++; |
94 | 94 | ||
@@ -139,7 +139,7 @@ static int dn_node_address_strategy(ctl_table *table, int __user *name, int nlen | |||
139 | void **context) | 139 | void **context) |
140 | { | 140 | { |
141 | size_t len; | 141 | size_t len; |
142 | dn_address addr; | 142 | __le16 addr; |
143 | 143 | ||
144 | if (oldval && oldlenp) { | 144 | if (oldval && oldlenp) { |
145 | if (get_user(len, oldlenp)) | 145 | if (get_user(len, oldlenp)) |
@@ -147,14 +147,14 @@ static int dn_node_address_strategy(ctl_table *table, int __user *name, int nlen | |||
147 | if (len) { | 147 | if (len) { |
148 | if (len != sizeof(unsigned short)) | 148 | if (len != sizeof(unsigned short)) |
149 | return -EINVAL; | 149 | return -EINVAL; |
150 | if (put_user(decnet_address, (unsigned short __user *)oldval)) | 150 | if (put_user(decnet_address, (__le16 __user *)oldval)) |
151 | return -EFAULT; | 151 | return -EFAULT; |
152 | } | 152 | } |
153 | } | 153 | } |
154 | if (newval && newlen) { | 154 | if (newval && newlen) { |
155 | if (newlen != sizeof(unsigned short)) | 155 | if (newlen != sizeof(unsigned short)) |
156 | return -EINVAL; | 156 | return -EINVAL; |
157 | if (get_user(addr, (unsigned short __user *)newval)) | 157 | if (get_user(addr, (__le16 __user *)newval)) |
158 | return -EFAULT; | 158 | return -EFAULT; |
159 | 159 | ||
160 | dn_dev_devices_off(); | 160 | dn_dev_devices_off(); |
@@ -173,7 +173,7 @@ static int dn_node_address_handler(ctl_table *table, int write, | |||
173 | { | 173 | { |
174 | char addr[DN_ASCBUF_LEN]; | 174 | char addr[DN_ASCBUF_LEN]; |
175 | size_t len; | 175 | size_t len; |
176 | dn_address dnaddr; | 176 | __le16 dnaddr; |
177 | 177 | ||
178 | if (!*lenp || (*ppos && !write)) { | 178 | if (!*lenp || (*ppos && !write)) { |
179 | *lenp = 0; | 179 | *lenp = 0; |