net: ipv6: Unify {raw,udp}6_sock_seq_show.

udp6_sock_seq_show and raw6_sock_seq_show are identical, except
the UDP version displays ports and the raw version displays the
protocol. Refactor most of the code in these two functions into
a new common ip6_dgram_sock_seq_show function, in preparation
for using it to display ICMPv6 sockets as well.

Also reduce the indentation in parts of include/net/transp_v6.h
to improve readability.

Compiles and displays reasonable results with CONFIG_IPV6={n,m,y}

Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/include/net/transp_v6.h b/include/net/transp_v6.h
index 2d9d0e3..6dddc08 100644
--- a/include/net/transp_v6.h
+++ b/include/net/transp_v6.h
@@ -49,6 +49,12 @@
 					      int *hlimit, int *tclass,
 					      int *dontfrag);
 
+extern void		ip6_dgram_sock_seq_show(struct seq_file *seq,
+						struct sock *sp,
+						__u16 srcp,
+						__u16 destp,
+						int bucket);
+
 #define		LOOPBACK4_IPV6		cpu_to_be32(0x7f000006)
 
 /*
@@ -58,4 +64,11 @@
 
 extern void inet6_destroy_sock(struct sock *sk);
 
+#define IPV6_SEQ_DGRAM_HEADER \
+			   "  sl  "					\
+			   "local_address                         "	\
+			   "remote_address                        "	\
+			   "st tx_queue rx_queue tr tm->when retrnsmt"	\
+			   "   uid  timeout inode ref pointer drops\n"
+
 #endif