Arnaldo * Supporting legacy protcols - reduce maintance costs - remove old code - better core structures - get better practices out of TCP into core - code reuse * Already done - struct sock trimming - use list.h in networking code - factorization of tcp code * sock trimming - generic kernels too much per socket... 2.4 (1280) 2.6 tcp=1004 udp=484 unix=356 - reduce footpring for all protocols - per protocol slab cache - performance improvements - data dependency problem with tcp_tw_bucket * use list.h in net code - use hlist - introduce sk_add_node, sk_del_node for refcounting - sk_for_each * factorization - move code to net/core/stream - general wait_for_memory, wait_for_connnect - timer_handling: sk_init_timer,... refcounting - apply tcp_memory pressure semantics to all protocols * waiting in futrure -- sk_common_sendmsg - more methods to sk_prot - llc can use it * Next steps - kill struct proto_ops? - Get the mini sockets in a class hier with other socket classes (sock, inet_sock, tcp_sock, ...) - network async i/o done/simplified