[UDP]: Allow users to configure UDP-Lite.

Let's give users an option for disabling UDP-Lite (~4K).

old:
|    text	   data	    bss	    dec	    hex	filename
|  286498	  12432	   6072	 305002	  4a76a	net/ipv4/built-in.o
|  193830	   8192	   3204	 205226	  321aa	net/ipv6/ipv6.o

new (without UDP-Lite):
|    text	   data	    bss	    dec	    hex	filename
|  284086	  12136	   5432	 301654	  49a56	net/ipv4/built-in.o
|  191835	   7832	   3076	 202743	  317f7	net/ipv6/ipv6.o

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index 9869f87..243c42a 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -691,12 +691,16 @@
 		goto err_icmpmsg_mib;
 	if (snmp_mib_init((void **)udp_stats_in6, sizeof (struct udp_mib)) < 0)
 		goto err_udp_mib;
+#ifdef CONFIG_IP_UDPLITE
 	if (snmp_mib_init((void **)udplite_stats_in6,
 			  sizeof (struct udp_mib)) < 0)
 		goto err_udplite_mib;
+#endif
 	return 0;
 
+#ifdef CONFIG_IP_UDPLITE
 err_udplite_mib:
+#endif
 	snmp_mib_free((void **)udp_stats_in6);
 err_udp_mib:
 	snmp_mib_free((void **)icmpv6msg_statistics);
@@ -715,7 +719,9 @@
 	snmp_mib_free((void **)icmpv6_statistics);
 	snmp_mib_free((void **)icmpv6msg_statistics);
 	snmp_mib_free((void **)udp_stats_in6);
+#ifdef CONFIG_IP_UDPLITE
 	snmp_mib_free((void **)udplite_stats_in6);
+#endif
 }
 
 static int inet6_net_init(struct net *net)
@@ -760,9 +766,11 @@
 	if (err)
 		goto out_unregister_tcp_proto;
 
+#ifdef CONFIG_IP_UDPLITE
 	err = proto_register(&udplitev6_prot, 1);
 	if (err)
 		goto out_unregister_udp_proto;
+#endif
 
 	err = proto_register(&rawv6_prot, 1);
 	if (err)
@@ -933,8 +941,10 @@
 out_unregister_raw_proto:
 	proto_unregister(&rawv6_prot);
 out_unregister_udplite_proto:
+#ifdef CONFIG_IP_UDPLITE
 	proto_unregister(&udplitev6_prot);
 out_unregister_udp_proto:
+#endif
 	proto_unregister(&udpv6_prot);
 out_unregister_tcp_proto:
 	proto_unregister(&tcpv6_prot);
@@ -950,7 +960,9 @@
 	rtnl_unregister_all(PF_INET6);
 
 	udpv6_exit();
+#ifdef CONFIG_IP_UDPLITE
 	udplitev6_exit();
+#endif
 	tcpv6_exit();
 
 	/* Cleanup code parts. */
@@ -982,7 +994,9 @@
 	unregister_pernet_subsys(&inet6_net_ops);
 	cleanup_ipv6_mibs();
 	proto_unregister(&rawv6_prot);
+#ifdef CONFIG_IP_UDPLITE
 	proto_unregister(&udplitev6_prot);
+#endif
 	proto_unregister(&udpv6_prot);
 	proto_unregister(&tcpv6_prot);
 }