git: kernel - network protocol thread routing

看板DFBSD_commit作者時間15年前 (2010/09/09 17:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
commit 6a704092ee2b3384906df96bf4b66575a12f38e2 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Thu Sep 9 01:32:07 2010 -0700 kernel - network protocol thread routing * ip_input() now calls ip_mport() unconditionally and physically compares the port to &curthread->td_msgport. If they do not match the packet will be forwarded to the correct protocol thread. * ip6_input() now unconditionally calls sw6->pr_soport() on the last received header and forwards the packet to the correct protocol thread. udp6, tcp6, and rip6 are now marked as terminal protocol (PR_LASTHDR). Though I'm not sure this is correct they must be marked this way for the packet to be forwarded to the correct protocol thread. This fixes an assertion panic when tcp6_input() calls tcp_input(). tcp_input() is expecting to be run on the same protocol thread assigned to its socket, otherwise callout timers and other entities will get confused. Summary of changes: sys/net/netisr.h | 1 + sys/netinet/ip_input.c | 40 +++++++++++++++++------------- sys/netinet6/in6_proto.c | 6 ++-- sys/netinet6/ip6_input.c | 61 ++++++++++++++++++++++++++++++++++++++++----- sys/netinet6/ip6_var.h | 4 +++ 5 files changed, 85 insertions(+), 27 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6a704092ee2b3384906df96bf4b66575a12f38e2 -- DragonFly BSD source repository
文章代碼(AID): #1CYA9IHn (DFBSD_commit)
文章代碼(AID): #1CYA9IHn (DFBSD_commit)