svn commit: r203582 - user/kmacy/head_flowtable_v6/sys/net
Kip Macy
kmacy at FreeBSD.org
Sun Feb 7 00:08:26 UTC 2010
Author: kmacy
Date: Sun Feb 7 00:08:26 2010
New Revision: 203582
URL: http://svn.freebsd.org/changeset/base/203582
Log:
add function for printing tuple
Modified:
user/kmacy/head_flowtable_v6/sys/net/flowtable.c
Modified: user/kmacy/head_flowtable_v6/sys/net/flowtable.c
==============================================================================
--- user/kmacy/head_flowtable_v6/sys/net/flowtable.c Sun Feb 7 00:07:37 2010 (r203581)
+++ user/kmacy/head_flowtable_v6/sys/net/flowtable.c Sun Feb 7 00:08:26 2010 (r203582)
@@ -451,6 +451,27 @@ flow_to_route(struct flentry *fle, struc
}
#ifdef INET
+#ifdef FLOWTABLE_DEBUG
+static void
+ipv4_flow_print_tuple(int flags, int proto, struct sockaddr_in *ssin,
+ struct sockaddr_in *dsin)
+{
+ char saddr[4*sizeof "123"], daddr[4*sizeof "123"];
+
+ if (flags & FL_HASH_ALL) {
+ inet_ntoa_r(*(struct in_addr *) &dsin->sin_addr, daddr);
+ inet_ntoa_r(*(struct in_addr *) &ssin->sin_addr, saddr);
+ printf("proto=%d %s:%d->%s:%d\n",
+ proto, saddr, ntohs(ssin->sin_port), daddr,
+ ntohs(dsin->sin_port));
+ } else {
+ inet_ntoa_r(*(struct in_addr *) &dsin->sin_addr, daddr);
+ printf("proto=%d %s\n", proto, daddr);
+ }
+
+}
+#endif
+
static int
ipv4_mbuf_demarshal(struct flowtable *ft, struct mbuf *m,
struct sockaddr_in *ssin, struct sockaddr_in *dsin, uint16_t *flags)
@@ -513,17 +534,8 @@ skipports:
ssin->sin_port = sport;
dsin->sin_port = dport;
#ifdef FLOWTABLE_DEBUG
- if (*flags & (FL_HASH_ALL|FL_DEBUG_ALL)) {
- char saddr[4*sizeof "123"], daddr[4*sizeof "123"];
- inet_ntoa_r(*(struct in_addr *) &ip->ip_dst, daddr);
- inet_ntoa_r(*(struct in_addr *) &ip->ip_src, saddr);
- FLDPRINTF(ft, FL_DEBUG_ALL, "proto=%d %s:%d->%s:%d\n",
- proto, saddr, ntohs(sport), daddr, ntohs(dport));
- } else {
- char daddr[4*sizeof "123"];
- inet_ntoa_r(*(struct in_addr *) &ip->ip_dst, daddr);
- FLDPRINTF(ft, FL_DEBUG_ALL, "proto=%d %s\n", proto, daddr);
- }
+ if (*flags & FL_DEBUG_ALL)
+ ipv4_flow_print_tuple(*flags, proto, ssin, dsin);
#endif
return (0);
}
@@ -954,6 +966,11 @@ kern_flowtable_insert(struct flowtable *
FLDPRINTF(ft, FL_DEBUG,
"kern_flowtable_insert: hash=0x%x fibnum=%d flags=0x%x\n",
hash, fibnum, flags);
+#ifdef FLOWTABLE_DEBUG
+ if (*flags & FL_DEBUG)
+ ipv4_flow_print_tuple(flags, flags_to_proto(flags),
+ (struct sockaddr_in *)&ssa, (struct sockaddr_in *)&dsa);
+#endif
return (flowtable_insert(ft, hash, key, fibnum, ro, flags));
}
More information about the svn-src-user
mailing list