From owner-svn-src-user@FreeBSD.ORG Fri Feb 12 00:45:29 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94577106566C; Fri, 12 Feb 2010 00:45:29 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6AF808FC08; Fri, 12 Feb 2010 00:45:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o1C0jT5R040190; Fri, 12 Feb 2010 00:45:29 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o1C0jTP3040187; Fri, 12 Feb 2010 00:45:29 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <201002120045.o1C0jTP3040187@svn.freebsd.org> From: Kip Macy Date: Fri, 12 Feb 2010 00:45:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r203793 - user/kmacy/head_flowtable_v6/sys/net X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Feb 2010 00:45:29 -0000 Author: kmacy Date: Fri Feb 12 00:45:29 2010 New Revision: 203793 URL: http://svn.freebsd.org/changeset/base/203793 Log: add assert of family type Modified: user/kmacy/head_flowtable_v6/sys/net/flowtable.c user/kmacy/head_flowtable_v6/sys/net/flowtable.h Modified: user/kmacy/head_flowtable_v6/sys/net/flowtable.c ============================================================================== --- user/kmacy/head_flowtable_v6/sys/net/flowtable.c Fri Feb 12 00:07:56 2010 (r203792) +++ user/kmacy/head_flowtable_v6/sys/net/flowtable.c Fri Feb 12 00:45:29 2010 (r203793) @@ -1023,15 +1023,16 @@ flowtable_lookup(struct flowtable *ft, s sro.ro_rt = sro6.ro_rt = NULL; sro.ro_lle = sro6.ro_lle = NULL; - ro = &sro; + ro = NULL; hash = 0; flags |= ft->ft_flags; proto = flags_to_proto(flags); #ifdef INET if (ssa->ss_family == AF_INET) { struct sockaddr_in *ssin, *dsin; - memcpy(&ro->ro_dst, &dsa, sizeof(struct sockaddr_in)); + ro = &sro; + memcpy(&ro->ro_dst, &dsa, sizeof(struct sockaddr_in)); dsin = (struct sockaddr_in *)dsa; ssin = (struct sockaddr_in *)ssa; if ((ntohl(dsin->sin_addr.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET || @@ -1046,7 +1047,7 @@ flowtable_lookup(struct flowtable *ft, s struct sockaddr_in6 *ssin6, *dsin6; ro = (struct route *)&sro6; - memcpy(&ro->ro_dst, &dsa, + memcpy(&sro6.ro_dst, &dsa, sizeof(struct sockaddr_in6)); dsin6 = (struct sockaddr_in6 *)dsa; ssin6 = (struct sockaddr_in6 *)ssa; @@ -1107,6 +1108,10 @@ uncached: * receive the route locked */ + if ((ro->ro_dst.sa_family != AF_INET) && + (ro->ro_dst.sa_family != AF_INET6)) + panic("sa_family == %d\n", ro->ro_dst.sa_family); + ft->ft_rtalloc(ro, hash, fibnum); if (ro->ro_rt == NULL) error = ENETUNREACH; Modified: user/kmacy/head_flowtable_v6/sys/net/flowtable.h ============================================================================== --- user/kmacy/head_flowtable_v6/sys/net/flowtable.h Fri Feb 12 00:07:56 2010 (r203792) +++ user/kmacy/head_flowtable_v6/sys/net/flowtable.h Fri Feb 12 00:45:29 2010 (r203793) @@ -46,6 +46,8 @@ $FreeBSD$ struct flowtable; struct flentry; +struct route; +struct route_in6; VNET_DECLARE(struct flowtable *, ip_ft); #define V_ip_ft VNET(ip_ft)