[NET]: Supporting UDP-Lite (RFC 3828) in Linux
[linux-2.6.git] / net / ipv4 / proc.c
index 9c6cbe3..cd873da 100644 (file)
@@ -38,6 +38,7 @@
 #include <net/protocol.h>
 #include <net/tcp.h>
 #include <net/udp.h>
+#include <net/udplite.h>
 #include <linux/inetdevice.h>
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
@@ -66,6 +67,7 @@ static int sockstat_seq_show(struct seq_file *seq, void *v)
                   tcp_death_row.tw_count, atomic_read(&tcp_sockets_allocated),
                   atomic_read(&tcp_memory_allocated));
        seq_printf(seq, "UDP: inuse %d\n", fold_prot_inuse(&udp_prot));
+       seq_printf(seq, "UDPLITE: inuse %d\n", fold_prot_inuse(&udplite_prot));
        seq_printf(seq, "RAW: inuse %d\n", fold_prot_inuse(&raw_prot));
        seq_printf(seq,  "FRAG: inuse %d memory %d\n", ip_frag_nqueues,
                   atomic_read(&ip_frag_mem));
@@ -304,6 +306,17 @@ static int snmp_seq_show(struct seq_file *seq, void *v)
                           fold_field((void **) udp_statistics, 
                                      snmp4_udp_list[i].entry));
 
+       /* the UDP and UDP-Lite MIBs are the same */
+       seq_puts(seq, "\nUdpLite:");
+       for (i = 0; snmp4_udp_list[i].name != NULL; i++)
+               seq_printf(seq, " %s", snmp4_udp_list[i].name);
+
+       seq_puts(seq, "\nUdpLite:");
+       for (i = 0; snmp4_udp_list[i].name != NULL; i++)
+               seq_printf(seq, " %lu",
+                          fold_field((void **) udplite_statistics,
+                                     snmp4_udp_list[i].entry)     );
+
        seq_putc(seq, '\n');
        return 0;
 }