cvs commit: src/sys/net netisr.c rtsock.c src/sys/kern uipc_msg.c uipc_syscalls.c src/sys/netinet in_proto.c ip_demux.c ip_divert.c ip_input.c ip_var.h tcp_var.h udp_var.h src/sys/netinet6 ip6protosw.h src/sys/sys protosw.h
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Wed Dec 19 03:01:34 PST 2007
sephe 2007/12/19 03:00:23 PST
DragonFly src repository
Modified files:
sys/net netisr.c rtsock.c
sys/kern uipc_msg.c uipc_syscalls.c
sys/netinet in_proto.c ip_demux.c ip_divert.c
ip_input.c ip_var.h tcp_var.h udp_var.h
sys/netinet6 ip6protosw.h
sys/sys protosw.h
Log:
Make divert(4) socket dispatch mbuf to correct the lwkt port for further
processing (ip_{input,output}):
- Add mbuf** function parameter to protosw.pr_mport()
- Pass 'addr' to pr_mport() in so_pru_send(); udp_soport() is adjusted
accordingly
- Add additional parameter to ip_mport(), so it could be called with both
incoming and outgoing packets. And the processing for outgoing UDP packets
matches udp_soport()
- Add div_soport() as IPPROTO_DIVERT's pr_mport()
o Delegate non-PRU_SEND operation to cpu0_soport()
o Move receiving interface setting up code from div_output() into this
function, so ip_mport() could be called
o Use ip_mport() to find the target lwkt port
Revision Changes Path
1.36 +2 -2 src/sys/net/netisr.c
1.41 +1 -1 src/sys/net/rtsock.c
1.20 +23 -18 src/sys/kern/uipc_msg.c
1.84 +2 -2 src/sys/kern/uipc_syscalls.c
1.15 +1 -1 src/sys/netinet/in_proto.c
1.37 +16 -7 src/sys/netinet/ip_demux.c
1.32 +76 -45 src/sys/netinet/ip_divert.c
1.75 +2 -2 src/sys/netinet/ip_input.c
1.22 +10 -1 src/sys/netinet/ip_var.h
1.40 +2 -1 src/sys/netinet/tcp_var.h
1.17 +2 -1 src/sys/netinet/udp_var.h
1.8 +2 -1 src/sys/netinet6/ip6protosw.h
1.20 +6 -3 src/sys/sys/protosw.h
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.c.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/rtsock.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_msg.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_syscalls.c.diff?r1=1.83&r2=1.84&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/in_proto.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_demux.c.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_divert.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_input.c.diff?r1=1.74&r2=1.75&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_var.h.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_var.h.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/udp_var.h.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet6/ip6protosw.h.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/protosw.h.diff?r1=1.19&r2=1.20&f=u
More information about the Commits
mailing list