net: constify struct inet6_protocol

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Alexey Dobriyan 2009-09-14 12:22:28 +00:00 committed by David S. Miller
parent 32613090a9
commit 41135cc836
17 changed files with 29 additions and 33 deletions

View file

@ -97,7 +97,7 @@ struct inet_protosw {
extern const struct net_protocol *inet_protos[MAX_INET_PROTOS]; extern const struct net_protocol *inet_protos[MAX_INET_PROTOS];
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
extern struct inet6_protocol *inet6_protos[MAX_INET_PROTOS]; extern const struct inet6_protocol *inet6_protos[MAX_INET_PROTOS];
#endif #endif
extern int inet_add_protocol(const struct net_protocol *prot, unsigned char num); extern int inet_add_protocol(const struct net_protocol *prot, unsigned char num);
@ -106,8 +106,8 @@ extern void inet_register_protosw(struct inet_protosw *p);
extern void inet_unregister_protosw(struct inet_protosw *p); extern void inet_unregister_protosw(struct inet_protosw *p);
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
extern int inet6_add_protocol(struct inet6_protocol *prot, unsigned char num); extern int inet6_add_protocol(const struct inet6_protocol *prot, unsigned char num);
extern int inet6_del_protocol(struct inet6_protocol *prot, unsigned char num); extern int inet6_del_protocol(const struct inet6_protocol *prot, unsigned char num);
extern int inet6_register_protosw(struct inet_protosw *p); extern int inet6_register_protosw(struct inet_protosw *p);
extern void inet6_unregister_protosw(struct inet_protosw *p); extern void inet6_unregister_protosw(struct inet_protosw *p);
#endif #endif

View file

@ -1152,7 +1152,7 @@ static struct proto dccp_v6_prot = {
#endif #endif
}; };
static struct inet6_protocol dccp_v6_protocol = { static const struct inet6_protocol dccp_v6_protocol = {
.handler = dccp_v6_rcv, .handler = dccp_v6_rcv,
.err_handler = dccp_v6_err, .err_handler = dccp_v6_err,
.flags = INET6_PROTO_NOPOLICY | INET6_PROTO_FINAL, .flags = INET6_PROTO_NOPOLICY | INET6_PROTO_FINAL,

View file

@ -710,7 +710,7 @@ EXPORT_SYMBOL_GPL(ipv6_opt_accepted);
static int ipv6_gso_pull_exthdrs(struct sk_buff *skb, int proto) static int ipv6_gso_pull_exthdrs(struct sk_buff *skb, int proto)
{ {
struct inet6_protocol *ops = NULL; const struct inet6_protocol *ops = NULL;
for (;;) { for (;;) {
struct ipv6_opt_hdr *opth; struct ipv6_opt_hdr *opth;
@ -745,7 +745,7 @@ static int ipv6_gso_pull_exthdrs(struct sk_buff *skb, int proto)
static int ipv6_gso_send_check(struct sk_buff *skb) static int ipv6_gso_send_check(struct sk_buff *skb)
{ {
struct ipv6hdr *ipv6h; struct ipv6hdr *ipv6h;
struct inet6_protocol *ops; const struct inet6_protocol *ops;
int err = -EINVAL; int err = -EINVAL;
if (unlikely(!pskb_may_pull(skb, sizeof(*ipv6h)))) if (unlikely(!pskb_may_pull(skb, sizeof(*ipv6h))))
@ -773,7 +773,7 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb, int features)
{ {
struct sk_buff *segs = ERR_PTR(-EINVAL); struct sk_buff *segs = ERR_PTR(-EINVAL);
struct ipv6hdr *ipv6h; struct ipv6hdr *ipv6h;
struct inet6_protocol *ops; const struct inet6_protocol *ops;
int proto; int proto;
struct frag_hdr *fptr; struct frag_hdr *fptr;
unsigned int unfrag_ip6hlen; unsigned int unfrag_ip6hlen;
@ -840,7 +840,7 @@ struct ipv6_gro_cb {
static struct sk_buff **ipv6_gro_receive(struct sk_buff **head, static struct sk_buff **ipv6_gro_receive(struct sk_buff **head,
struct sk_buff *skb) struct sk_buff *skb)
{ {
struct inet6_protocol *ops; const struct inet6_protocol *ops;
struct sk_buff **pp = NULL; struct sk_buff **pp = NULL;
struct sk_buff *p; struct sk_buff *p;
struct ipv6hdr *iph; struct ipv6hdr *iph;
@ -926,7 +926,7 @@ out:
static int ipv6_gro_complete(struct sk_buff *skb) static int ipv6_gro_complete(struct sk_buff *skb)
{ {
struct inet6_protocol *ops; const struct inet6_protocol *ops;
struct ipv6hdr *iph = ipv6_hdr(skb); struct ipv6hdr *iph = ipv6_hdr(skb);
int err = -ENOSYS; int err = -ENOSYS;

View file

@ -527,7 +527,7 @@ static const struct xfrm_type ah6_type =
.hdr_offset = xfrm6_find_1stfragopt, .hdr_offset = xfrm6_find_1stfragopt,
}; };
static struct inet6_protocol ah6_protocol = { static const struct inet6_protocol ah6_protocol = {
.handler = xfrm6_rcv, .handler = xfrm6_rcv,
.err_handler = ah6_err, .err_handler = ah6_err,
.flags = INET6_PROTO_NOPOLICY, .flags = INET6_PROTO_NOPOLICY,

View file

@ -558,7 +558,7 @@ static const struct xfrm_type esp6_type =
.hdr_offset = xfrm6_find_1stfragopt, .hdr_offset = xfrm6_find_1stfragopt,
}; };
static struct inet6_protocol esp6_protocol = { static const struct inet6_protocol esp6_protocol = {
.handler = xfrm6_rcv, .handler = xfrm6_rcv,
.err_handler = esp6_err, .err_handler = esp6_err,
.flags = INET6_PROTO_NOPOLICY, .flags = INET6_PROTO_NOPOLICY,

View file

@ -500,17 +500,17 @@ unknown_rh:
return -1; return -1;
} }
static struct inet6_protocol rthdr_protocol = { static const struct inet6_protocol rthdr_protocol = {
.handler = ipv6_rthdr_rcv, .handler = ipv6_rthdr_rcv,
.flags = INET6_PROTO_NOPOLICY | INET6_PROTO_GSO_EXTHDR, .flags = INET6_PROTO_NOPOLICY | INET6_PROTO_GSO_EXTHDR,
}; };
static struct inet6_protocol destopt_protocol = { static const struct inet6_protocol destopt_protocol = {
.handler = ipv6_destopt_rcv, .handler = ipv6_destopt_rcv,
.flags = INET6_PROTO_NOPOLICY | INET6_PROTO_GSO_EXTHDR, .flags = INET6_PROTO_NOPOLICY | INET6_PROTO_GSO_EXTHDR,
}; };
static struct inet6_protocol nodata_protocol = { static const struct inet6_protocol nodata_protocol = {
.handler = dst_discard, .handler = dst_discard,
.flags = INET6_PROTO_NOPOLICY, .flags = INET6_PROTO_NOPOLICY,
}; };

View file

@ -86,7 +86,7 @@ static inline struct sock *icmpv6_sk(struct net *net)
static int icmpv6_rcv(struct sk_buff *skb); static int icmpv6_rcv(struct sk_buff *skb);
static struct inet6_protocol icmpv6_protocol = { static const struct inet6_protocol icmpv6_protocol = {
.handler = icmpv6_rcv, .handler = icmpv6_rcv,
.flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
}; };
@ -583,7 +583,7 @@ out:
static void icmpv6_notify(struct sk_buff *skb, u8 type, u8 code, __be32 info) static void icmpv6_notify(struct sk_buff *skb, u8 type, u8 code, __be32 info)
{ {
struct inet6_protocol *ipprot; const struct inet6_protocol *ipprot;
int inner_offset; int inner_offset;
int hash; int hash;
u8 nexthdr; u8 nexthdr;

View file

@ -159,7 +159,7 @@ drop:
static int ip6_input_finish(struct sk_buff *skb) static int ip6_input_finish(struct sk_buff *skb)
{ {
struct inet6_protocol *ipprot; const struct inet6_protocol *ipprot;
unsigned int nhoff; unsigned int nhoff;
int nexthdr, raw; int nexthdr, raw;
u8 hash; u8 hash;

View file

@ -83,10 +83,6 @@ static int ip6mr_cache_report(struct net *net, struct sk_buff *pkt,
static int ip6mr_fill_mroute(struct sk_buff *skb, struct mfc6_cache *c, struct rtmsg *rtm); static int ip6mr_fill_mroute(struct sk_buff *skb, struct mfc6_cache *c, struct rtmsg *rtm);
static void mroute_clean_tables(struct net *net); static void mroute_clean_tables(struct net *net);
#ifdef CONFIG_IPV6_PIMSM_V2
static struct inet6_protocol pim6_protocol;
#endif
static struct timer_list ipmr_expire_timer; static struct timer_list ipmr_expire_timer;
@ -410,7 +406,7 @@ static int pim6_rcv(struct sk_buff *skb)
return 0; return 0;
} }
static struct inet6_protocol pim6_protocol = { static const struct inet6_protocol pim6_protocol = {
.handler = pim6_rcv, .handler = pim6_rcv,
}; };

View file

@ -178,7 +178,7 @@ static const struct xfrm_type ipcomp6_type =
.hdr_offset = xfrm6_find_1stfragopt, .hdr_offset = xfrm6_find_1stfragopt,
}; };
static struct inet6_protocol ipcomp6_protocol = static const struct inet6_protocol ipcomp6_protocol =
{ {
.handler = xfrm6_rcv, .handler = xfrm6_rcv,
.err_handler = ipcomp6_err, .err_handler = ipcomp6_err,

View file

@ -25,11 +25,11 @@
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <net/protocol.h> #include <net/protocol.h>
struct inet6_protocol *inet6_protos[MAX_INET_PROTOS]; const struct inet6_protocol *inet6_protos[MAX_INET_PROTOS];
static DEFINE_SPINLOCK(inet6_proto_lock); static DEFINE_SPINLOCK(inet6_proto_lock);
int inet6_add_protocol(struct inet6_protocol *prot, unsigned char protocol) int inet6_add_protocol(const struct inet6_protocol *prot, unsigned char protocol)
{ {
int ret, hash = protocol & (MAX_INET_PROTOS - 1); int ret, hash = protocol & (MAX_INET_PROTOS - 1);
@ -53,7 +53,7 @@ EXPORT_SYMBOL(inet6_add_protocol);
* Remove a protocol from the hash tables. * Remove a protocol from the hash tables.
*/ */
int inet6_del_protocol(struct inet6_protocol *prot, unsigned char protocol) int inet6_del_protocol(const struct inet6_protocol *prot, unsigned char protocol)
{ {
int ret, hash = protocol & (MAX_INET_PROTOS - 1); int ret, hash = protocol & (MAX_INET_PROTOS - 1);

View file

@ -627,7 +627,7 @@ fail_hdr:
return -1; return -1;
} }
static struct inet6_protocol frag_protocol = static const struct inet6_protocol frag_protocol =
{ {
.handler = ipv6_frag_rcv, .handler = ipv6_frag_rcv,
.flags = INET6_PROTO_NOPOLICY, .flags = INET6_PROTO_NOPOLICY,

View file

@ -2093,7 +2093,7 @@ struct proto tcpv6_prot = {
#endif #endif
}; };
static struct inet6_protocol tcpv6_protocol = { static const struct inet6_protocol tcpv6_protocol = {
.handler = tcp_v6_rcv, .handler = tcp_v6_rcv,
.err_handler = tcp_v6_err, .err_handler = tcp_v6_err,
.gso_send_check = tcp_v6_gso_send_check, .gso_send_check = tcp_v6_gso_send_check,

View file

@ -133,13 +133,13 @@ static void tunnel6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
break; break;
} }
static struct inet6_protocol tunnel6_protocol = { static const struct inet6_protocol tunnel6_protocol = {
.handler = tunnel6_rcv, .handler = tunnel6_rcv,
.err_handler = tunnel6_err, .err_handler = tunnel6_err,
.flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
}; };
static struct inet6_protocol tunnel46_protocol = { static const struct inet6_protocol tunnel46_protocol = {
.handler = tunnel46_rcv, .handler = tunnel46_rcv,
.err_handler = tunnel6_err, .err_handler = tunnel6_err,
.flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,

View file

@ -1172,7 +1172,7 @@ out:
return segs; return segs;
} }
static struct inet6_protocol udpv6_protocol = { static const struct inet6_protocol udpv6_protocol = {
.handler = udpv6_rcv, .handler = udpv6_rcv,
.err_handler = udpv6_err, .err_handler = udpv6_err,
.gso_send_check = udp6_ufo_send_check, .gso_send_check = udp6_ufo_send_check,

View file

@ -25,7 +25,7 @@ static void udplitev6_err(struct sk_buff *skb,
__udp6_lib_err(skb, opt, type, code, offset, info, &udplite_table); __udp6_lib_err(skb, opt, type, code, offset, info, &udplite_table);
} }
static struct inet6_protocol udplitev6_protocol = { static const struct inet6_protocol udplitev6_protocol = {
.handler = udplitev6_rcv, .handler = udplitev6_rcv,
.err_handler = udplitev6_err, .err_handler = udplitev6_err,
.flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,

View file

@ -949,7 +949,7 @@ static int sctp6_rcv(struct sk_buff *skb)
return sctp_rcv(skb) ? -1 : 0; return sctp_rcv(skb) ? -1 : 0;
} }
static struct inet6_protocol sctpv6_protocol = { static const struct inet6_protocol sctpv6_protocol = {
.handler = sctp6_rcv, .handler = sctp6_rcv,
.err_handler = sctp_v6_err, .err_handler = sctp_v6_err,
.flags = INET6_PROTO_NOPOLICY | INET6_PROTO_FINAL, .flags = INET6_PROTO_NOPOLICY | INET6_PROTO_FINAL,