git: network - Move socket from netmsg ext to netmsg header, add port to socket
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Dec 5 11:52:04 PST 2009
commit 48e7b118aed5eb70d42bdbf2ca5a938ef1f371b6
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Dec 5 11:45:34 2009 -0800
network - Move socket from netmsg ext to netmsg header, add port to socket
These changes should make it easier to debug mbufs routed to the wrong
protocol threads. Note that IPV6 is routed to netisr0, even for tcp and udp
packets, so for now we do not KKASSERT that the port matches directly.
The TCP code still KKASSERTs that the timers are running on the correct cpu,
since the cpu is still correct for IPV6 TCP/UDP packets even when the
protocol thread is wrong (netisr_cpu 0 instead of tcp_thread 0 or
udp_thread 0).
* Instead of recalculating the port based on the inp or mbuf all the time,
add a so_port field to the socket structure directly.
* The socket pointer is now part of the netmsg header, even though some
subsystems do not need it. This allows us to validate the message port
more easily.
Summary of changes:
sys/dev/acpica5/acpi_cpu_pstate.c | 10 +-
sys/dev/netif/iwl/if_iwl.c | 2 +-
sys/kern/kern_poll.c | 34 ++--
sys/kern/kern_timeout.c | 3 +
sys/kern/uipc_msg.c | 237 ++++++++++---------------
sys/kern/uipc_socket.c | 12 ++
sys/kern/uipc_socket2.c | 12 ++
sys/kern/uipc_syscalls.c | 16 +--
sys/kern/uipc_usrreq.c | 1 +
sys/net/bpf.c | 4 +-
sys/net/bridge/if_bridge.c | 47 +++---
sys/net/dummynet/ip_dummynet.c | 9 +-
sys/net/dummynet/ip_dummynet_glue.c | 20 ++-
sys/net/if.c | 16 +-
sys/net/if_ethersubr.c | 4 +-
sys/net/if_poll.c | 40 ++--
sys/net/ipfw/ip_fw2.c | 64 ++++---
sys/net/ipfw/ip_fw2_glue.c | 3 +-
sys/net/netisr.c | 45 ++++-
sys/net/netmsg.h | 21 +--
sys/net/netmsg2.h | 12 +-
sys/net/pf/pf.c | 4 +-
sys/net/pfil.c | 6 +-
sys/net/route.c | 22 ++-
sys/net/rtsock.c | 4 +-
sys/net/vlan/if_vlan.c | 24 ++-
sys/netinet/if_ether.c | 11 +-
sys/netinet/in.c | 16 +-
sys/netinet/ip_demux.c | 91 ++++------
sys/netinet/ip_divert.c | 8 +-
sys/netinet/ip_divert.h | 3 +-
sys/netinet/ip_flow.c | 6 +-
sys/netinet/ip_input.c | 4 +-
sys/netinet/ip_var.h | 11 +-
sys/netinet/tcp_subr.c | 12 +-
sys/netinet/tcp_syncache.c | 32 +++-
sys/netinet/tcp_timer.c | 2 +-
sys/netinet/tcp_usrreq.c | 326 +++++++++++++++++++----------------
sys/netinet/tcp_var.h | 5 +-
sys/netinet/udp_usrreq.c | 125 +++++++++++---
sys/netinet/udp_var.h | 5 +-
sys/netinet6/ip6_demux.c | 11 +-
sys/netinet6/ip6protosw.h | 2 +-
sys/netinet6/tcp6_var.h | 2 +-
sys/netinet6/udp6_usrreq.c | 2 +
sys/netproto/atm/atm_proto.c | 2 +-
sys/sys/protosw.h | 6 +-
sys/sys/socketops.h | 8 +-
sys/sys/socketvar.h | 2 +
49 files changed, 755 insertions(+), 609 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/48e7b118aed5eb70d42bdbf2ca5a938ef1f371b6
--
DragonFly BSD source repository
More information about the Commits
mailing list