svn commit: r203793 - user/kmacy/head_flowtable_v6/sys/net
Kip Macy
kmacy at FreeBSD.org
Fri Feb 12 00:45:29 UTC 2010
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)
More information about the svn-src-user
mailing list