diff options
-rw-r--r-- | include/net/protocol.h | 7 | ||||
-rw-r--r-- | net/dccp/ipv4.c | 2 | ||||
-rw-r--r-- | net/ipv4/af_inet.c | 18 | ||||
-rw-r--r-- | net/ipv4/ah4.c | 2 | ||||
-rw-r--r-- | net/ipv4/esp4.c | 2 | ||||
-rw-r--r-- | net/ipv4/icmp.c | 2 | ||||
-rw-r--r-- | net/ipv4/ip_gre.c | 2 | ||||
-rw-r--r-- | net/ipv4/ip_input.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipcomp.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipmr.c | 6 | ||||
-rw-r--r-- | net/ipv4/protocol.c | 6 | ||||
-rw-r--r-- | net/ipv4/tunnel4.c | 4 | ||||
-rw-r--r-- | net/ipv4/udplite.c | 2 | ||||
-rw-r--r-- | net/sctp/protocol.c | 2 |
14 files changed, 27 insertions, 32 deletions
diff --git a/include/net/protocol.h b/include/net/protocol.h index 1089d5aabd49..cea2aee92ac5 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h | |||
@@ -94,15 +94,14 @@ struct inet_protosw { | |||
94 | #define INET_PROTOSW_PERMANENT 0x02 /* Permanent protocols are unremovable. */ | 94 | #define INET_PROTOSW_PERMANENT 0x02 /* Permanent protocols are unremovable. */ |
95 | #define INET_PROTOSW_ICSK 0x04 /* Is this an inet_connection_sock? */ | 95 | #define INET_PROTOSW_ICSK 0x04 /* Is this an inet_connection_sock? */ |
96 | 96 | ||
97 | extern struct net_protocol *inet_protocol_base; | 97 | extern const struct net_protocol *inet_protos[MAX_INET_PROTOS]; |
98 | extern struct net_protocol *inet_protos[MAX_INET_PROTOS]; | ||
99 | 98 | ||
100 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) | 99 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) |
101 | extern struct inet6_protocol *inet6_protos[MAX_INET_PROTOS]; | 100 | extern struct inet6_protocol *inet6_protos[MAX_INET_PROTOS]; |
102 | #endif | 101 | #endif |
103 | 102 | ||
104 | extern int inet_add_protocol(struct net_protocol *prot, unsigned char num); | 103 | extern int inet_add_protocol(const struct net_protocol *prot, unsigned char num); |
105 | extern int inet_del_protocol(struct net_protocol *prot, unsigned char num); | 104 | extern int inet_del_protocol(const struct net_protocol *prot, unsigned char num); |
106 | extern void inet_register_protosw(struct inet_protosw *p); | 105 | extern void inet_register_protosw(struct inet_protosw *p); |
107 | extern void inet_unregister_protosw(struct inet_protosw *p); | 106 | extern void inet_unregister_protosw(struct inet_protosw *p); |
108 | 107 | ||
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index d01c00de1ad0..7302e1498d46 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c | |||
@@ -948,7 +948,7 @@ static struct proto dccp_v4_prot = { | |||
948 | #endif | 948 | #endif |
949 | }; | 949 | }; |
950 | 950 | ||
951 | static struct net_protocol dccp_v4_protocol = { | 951 | static const struct net_protocol dccp_v4_protocol = { |
952 | .handler = dccp_v4_rcv, | 952 | .handler = dccp_v4_rcv, |
953 | .err_handler = dccp_v4_err, | 953 | .err_handler = dccp_v4_err, |
954 | .no_policy = 1, | 954 | .no_policy = 1, |
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 6c30a73f03f5..58c4b0f7c4aa 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -244,7 +244,7 @@ EXPORT_SYMBOL(build_ehash_secret); | |||
244 | static inline int inet_netns_ok(struct net *net, int protocol) | 244 | static inline int inet_netns_ok(struct net *net, int protocol) |
245 | { | 245 | { |
246 | int hash; | 246 | int hash; |
247 | struct net_protocol *ipprot; | 247 | const struct net_protocol *ipprot; |
248 | 248 | ||
249 | if (net_eq(net, &init_net)) | 249 | if (net_eq(net, &init_net)) |
250 | return 1; | 250 | return 1; |
@@ -1162,7 +1162,7 @@ EXPORT_SYMBOL(inet_sk_rebuild_header); | |||
1162 | static int inet_gso_send_check(struct sk_buff *skb) | 1162 | static int inet_gso_send_check(struct sk_buff *skb) |
1163 | { | 1163 | { |
1164 | struct iphdr *iph; | 1164 | struct iphdr *iph; |
1165 | struct net_protocol *ops; | 1165 | const struct net_protocol *ops; |
1166 | int proto; | 1166 | int proto; |
1167 | int ihl; | 1167 | int ihl; |
1168 | int err = -EINVAL; | 1168 | int err = -EINVAL; |
@@ -1198,7 +1198,7 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb, int features) | |||
1198 | { | 1198 | { |
1199 | struct sk_buff *segs = ERR_PTR(-EINVAL); | 1199 | struct sk_buff *segs = ERR_PTR(-EINVAL); |
1200 | struct iphdr *iph; | 1200 | struct iphdr *iph; |
1201 | struct net_protocol *ops; | 1201 | const struct net_protocol *ops; |
1202 | int proto; | 1202 | int proto; |
1203 | int ihl; | 1203 | int ihl; |
1204 | int id; | 1204 | int id; |
@@ -1265,7 +1265,7 @@ out: | |||
1265 | static struct sk_buff **inet_gro_receive(struct sk_buff **head, | 1265 | static struct sk_buff **inet_gro_receive(struct sk_buff **head, |
1266 | struct sk_buff *skb) | 1266 | struct sk_buff *skb) |
1267 | { | 1267 | { |
1268 | struct net_protocol *ops; | 1268 | const struct net_protocol *ops; |
1269 | struct sk_buff **pp = NULL; | 1269 | struct sk_buff **pp = NULL; |
1270 | struct sk_buff *p; | 1270 | struct sk_buff *p; |
1271 | struct iphdr *iph; | 1271 | struct iphdr *iph; |
@@ -1342,7 +1342,7 @@ out: | |||
1342 | 1342 | ||
1343 | static int inet_gro_complete(struct sk_buff *skb) | 1343 | static int inet_gro_complete(struct sk_buff *skb) |
1344 | { | 1344 | { |
1345 | struct net_protocol *ops; | 1345 | const struct net_protocol *ops; |
1346 | struct iphdr *iph = ip_hdr(skb); | 1346 | struct iphdr *iph = ip_hdr(skb); |
1347 | int proto = iph->protocol & (MAX_INET_PROTOS - 1); | 1347 | int proto = iph->protocol & (MAX_INET_PROTOS - 1); |
1348 | int err = -ENOSYS; | 1348 | int err = -ENOSYS; |
@@ -1427,13 +1427,13 @@ void snmp_mib_free(void *ptr[2]) | |||
1427 | EXPORT_SYMBOL_GPL(snmp_mib_free); | 1427 | EXPORT_SYMBOL_GPL(snmp_mib_free); |
1428 | 1428 | ||
1429 | #ifdef CONFIG_IP_MULTICAST | 1429 | #ifdef CONFIG_IP_MULTICAST |
1430 | static struct net_protocol igmp_protocol = { | 1430 | static const struct net_protocol igmp_protocol = { |
1431 | .handler = igmp_rcv, | 1431 | .handler = igmp_rcv, |
1432 | .netns_ok = 1, | 1432 | .netns_ok = 1, |
1433 | }; | 1433 | }; |
1434 | #endif | 1434 | #endif |
1435 | 1435 | ||
1436 | static struct net_protocol tcp_protocol = { | 1436 | static const struct net_protocol tcp_protocol = { |
1437 | .handler = tcp_v4_rcv, | 1437 | .handler = tcp_v4_rcv, |
1438 | .err_handler = tcp_v4_err, | 1438 | .err_handler = tcp_v4_err, |
1439 | .gso_send_check = tcp_v4_gso_send_check, | 1439 | .gso_send_check = tcp_v4_gso_send_check, |
@@ -1444,7 +1444,7 @@ static struct net_protocol tcp_protocol = { | |||
1444 | .netns_ok = 1, | 1444 | .netns_ok = 1, |
1445 | }; | 1445 | }; |
1446 | 1446 | ||
1447 | static struct net_protocol udp_protocol = { | 1447 | static const struct net_protocol udp_protocol = { |
1448 | .handler = udp_rcv, | 1448 | .handler = udp_rcv, |
1449 | .err_handler = udp_err, | 1449 | .err_handler = udp_err, |
1450 | .gso_send_check = udp4_ufo_send_check, | 1450 | .gso_send_check = udp4_ufo_send_check, |
@@ -1453,7 +1453,7 @@ static struct net_protocol udp_protocol = { | |||
1453 | .netns_ok = 1, | 1453 | .netns_ok = 1, |
1454 | }; | 1454 | }; |
1455 | 1455 | ||
1456 | static struct net_protocol icmp_protocol = { | 1456 | static const struct net_protocol icmp_protocol = { |
1457 | .handler = icmp_rcv, | 1457 | .handler = icmp_rcv, |
1458 | .no_policy = 1, | 1458 | .no_policy = 1, |
1459 | .netns_ok = 1, | 1459 | .netns_ok = 1, |
diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c index e878e494296e..5c662703eb1e 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c | |||
@@ -311,7 +311,7 @@ static const struct xfrm_type ah_type = | |||
311 | .output = ah_output | 311 | .output = ah_output |
312 | }; | 312 | }; |
313 | 313 | ||
314 | static struct net_protocol ah4_protocol = { | 314 | static const struct net_protocol ah4_protocol = { |
315 | .handler = xfrm4_rcv, | 315 | .handler = xfrm4_rcv, |
316 | .err_handler = ah4_err, | 316 | .err_handler = ah4_err, |
317 | .no_policy = 1, | 317 | .no_policy = 1, |
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c index 18bb383ea393..12f7287e902d 100644 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c | |||
@@ -615,7 +615,7 @@ static const struct xfrm_type esp_type = | |||
615 | .output = esp_output | 615 | .output = esp_output |
616 | }; | 616 | }; |
617 | 617 | ||
618 | static struct net_protocol esp4_protocol = { | 618 | static const struct net_protocol esp4_protocol = { |
619 | .handler = xfrm4_rcv, | 619 | .handler = xfrm4_rcv, |
620 | .err_handler = esp4_err, | 620 | .err_handler = esp4_err, |
621 | .no_policy = 1, | 621 | .no_policy = 1, |
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 97c410e84388..5bc13fe816d1 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c | |||
@@ -655,7 +655,7 @@ static void icmp_unreach(struct sk_buff *skb) | |||
655 | struct iphdr *iph; | 655 | struct iphdr *iph; |
656 | struct icmphdr *icmph; | 656 | struct icmphdr *icmph; |
657 | int hash, protocol; | 657 | int hash, protocol; |
658 | struct net_protocol *ipprot; | 658 | const struct net_protocol *ipprot; |
659 | u32 info = 0; | 659 | u32 info = 0; |
660 | struct net *net; | 660 | struct net *net; |
661 | 661 | ||
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 533afaadefd4..d9645c94a067 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
@@ -1288,7 +1288,7 @@ static void ipgre_fb_tunnel_init(struct net_device *dev) | |||
1288 | } | 1288 | } |
1289 | 1289 | ||
1290 | 1290 | ||
1291 | static struct net_protocol ipgre_protocol = { | 1291 | static const struct net_protocol ipgre_protocol = { |
1292 | .handler = ipgre_rcv, | 1292 | .handler = ipgre_rcv, |
1293 | .err_handler = ipgre_err, | 1293 | .err_handler = ipgre_err, |
1294 | .netns_ok = 1, | 1294 | .netns_ok = 1, |
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index db46b4b5b2b9..6c98b43badf4 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c | |||
@@ -202,7 +202,7 @@ static int ip_local_deliver_finish(struct sk_buff *skb) | |||
202 | { | 202 | { |
203 | int protocol = ip_hdr(skb)->protocol; | 203 | int protocol = ip_hdr(skb)->protocol; |
204 | int hash, raw; | 204 | int hash, raw; |
205 | struct net_protocol *ipprot; | 205 | const struct net_protocol *ipprot; |
206 | 206 | ||
207 | resubmit: | 207 | resubmit: |
208 | raw = raw_local_deliver(skb, protocol); | 208 | raw = raw_local_deliver(skb, protocol); |
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index 3262ce06294c..38fbf04150ae 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c | |||
@@ -146,7 +146,7 @@ static const struct xfrm_type ipcomp_type = { | |||
146 | .output = ipcomp_output | 146 | .output = ipcomp_output |
147 | }; | 147 | }; |
148 | 148 | ||
149 | static struct net_protocol ipcomp4_protocol = { | 149 | static const struct net_protocol ipcomp4_protocol = { |
150 | .handler = xfrm4_rcv, | 150 | .handler = xfrm4_rcv, |
151 | .err_handler = ipcomp4_err, | 151 | .err_handler = ipcomp4_err, |
152 | .no_policy = 1, | 152 | .no_policy = 1, |
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index 65d421cf5bc7..c43ec2d51ce2 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c | |||
@@ -99,10 +99,6 @@ static int ipmr_cache_report(struct net *net, | |||
99 | struct sk_buff *pkt, vifi_t vifi, int assert); | 99 | struct sk_buff *pkt, vifi_t vifi, int assert); |
100 | static int ipmr_fill_mroute(struct sk_buff *skb, struct mfc_cache *c, struct rtmsg *rtm); | 100 | static int ipmr_fill_mroute(struct sk_buff *skb, struct mfc_cache *c, struct rtmsg *rtm); |
101 | 101 | ||
102 | #ifdef CONFIG_IP_PIMSM_V2 | ||
103 | static struct net_protocol pim_protocol; | ||
104 | #endif | ||
105 | |||
106 | static struct timer_list ipmr_expire_timer; | 102 | static struct timer_list ipmr_expire_timer; |
107 | 103 | ||
108 | /* Service routines creating virtual interfaces: DVMRP tunnels and PIMREG */ | 104 | /* Service routines creating virtual interfaces: DVMRP tunnels and PIMREG */ |
@@ -1945,7 +1941,7 @@ static const struct file_operations ipmr_mfc_fops = { | |||
1945 | #endif | 1941 | #endif |
1946 | 1942 | ||
1947 | #ifdef CONFIG_IP_PIMSM_V2 | 1943 | #ifdef CONFIG_IP_PIMSM_V2 |
1948 | static struct net_protocol pim_protocol = { | 1944 | static const struct net_protocol pim_protocol = { |
1949 | .handler = pim_rcv, | 1945 | .handler = pim_rcv, |
1950 | .netns_ok = 1, | 1946 | .netns_ok = 1, |
1951 | }; | 1947 | }; |
diff --git a/net/ipv4/protocol.c b/net/ipv4/protocol.c index a2e5fc0a15e1..542f22fc98b3 100644 --- a/net/ipv4/protocol.c +++ b/net/ipv4/protocol.c | |||
@@ -28,14 +28,14 @@ | |||
28 | #include <linux/spinlock.h> | 28 | #include <linux/spinlock.h> |
29 | #include <net/protocol.h> | 29 | #include <net/protocol.h> |
30 | 30 | ||
31 | struct net_protocol *inet_protos[MAX_INET_PROTOS] ____cacheline_aligned_in_smp; | 31 | const struct net_protocol *inet_protos[MAX_INET_PROTOS] ____cacheline_aligned_in_smp; |
32 | static DEFINE_SPINLOCK(inet_proto_lock); | 32 | static DEFINE_SPINLOCK(inet_proto_lock); |
33 | 33 | ||
34 | /* | 34 | /* |
35 | * Add a protocol handler to the hash tables | 35 | * Add a protocol handler to the hash tables |
36 | */ | 36 | */ |
37 | 37 | ||
38 | int inet_add_protocol(struct net_protocol *prot, unsigned char protocol) | 38 | int inet_add_protocol(const struct net_protocol *prot, unsigned char protocol) |
39 | { | 39 | { |
40 | int hash, ret; | 40 | int hash, ret; |
41 | 41 | ||
@@ -57,7 +57,7 @@ int inet_add_protocol(struct net_protocol *prot, unsigned char protocol) | |||
57 | * Remove a protocol from the hash tables. | 57 | * Remove a protocol from the hash tables. |
58 | */ | 58 | */ |
59 | 59 | ||
60 | int inet_del_protocol(struct net_protocol *prot, unsigned char protocol) | 60 | int inet_del_protocol(const struct net_protocol *prot, unsigned char protocol) |
61 | { | 61 | { |
62 | int hash, ret; | 62 | int hash, ret; |
63 | 63 | ||
diff --git a/net/ipv4/tunnel4.c b/net/ipv4/tunnel4.c index cb1f0e83830b..3959e0ca456a 100644 --- a/net/ipv4/tunnel4.c +++ b/net/ipv4/tunnel4.c | |||
@@ -132,7 +132,7 @@ static void tunnel64_err(struct sk_buff *skb, u32 info) | |||
132 | } | 132 | } |
133 | #endif | 133 | #endif |
134 | 134 | ||
135 | static struct net_protocol tunnel4_protocol = { | 135 | static const struct net_protocol tunnel4_protocol = { |
136 | .handler = tunnel4_rcv, | 136 | .handler = tunnel4_rcv, |
137 | .err_handler = tunnel4_err, | 137 | .err_handler = tunnel4_err, |
138 | .no_policy = 1, | 138 | .no_policy = 1, |
@@ -140,7 +140,7 @@ static struct net_protocol tunnel4_protocol = { | |||
140 | }; | 140 | }; |
141 | 141 | ||
142 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | 142 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) |
143 | static struct net_protocol tunnel64_protocol = { | 143 | static const struct net_protocol tunnel64_protocol = { |
144 | .handler = tunnel64_rcv, | 144 | .handler = tunnel64_rcv, |
145 | .err_handler = tunnel64_err, | 145 | .err_handler = tunnel64_err, |
146 | .no_policy = 1, | 146 | .no_policy = 1, |
diff --git a/net/ipv4/udplite.c b/net/ipv4/udplite.c index c784891cb7e5..95248d7f75ec 100644 --- a/net/ipv4/udplite.c +++ b/net/ipv4/udplite.c | |||
@@ -25,7 +25,7 @@ static void udplite_err(struct sk_buff *skb, u32 info) | |||
25 | __udp4_lib_err(skb, info, &udplite_table); | 25 | __udp4_lib_err(skb, info, &udplite_table); |
26 | } | 26 | } |
27 | 27 | ||
28 | static struct net_protocol udplite_protocol = { | 28 | static const struct net_protocol udplite_protocol = { |
29 | .handler = udplite_rcv, | 29 | .handler = udplite_rcv, |
30 | .err_handler = udplite_err, | 30 | .err_handler = udplite_err, |
31 | .no_policy = 1, | 31 | .no_policy = 1, |
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c index 60093be8385d..c557f1fb1c66 100644 --- a/net/sctp/protocol.c +++ b/net/sctp/protocol.c | |||
@@ -924,7 +924,7 @@ static struct inet_protosw sctp_stream_protosw = { | |||
924 | }; | 924 | }; |
925 | 925 | ||
926 | /* Register with IP layer. */ | 926 | /* Register with IP layer. */ |
927 | static struct net_protocol sctp_protocol = { | 927 | static const struct net_protocol sctp_protocol = { |
928 | .handler = sctp_rcv, | 928 | .handler = sctp_rcv, |
929 | .err_handler = sctp_v4_err, | 929 | .err_handler = sctp_v4_err, |
930 | .no_policy = 1, | 930 | .no_policy = 1, |