Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Jul 2011 20:47:19 +0400
From:      Sergey Kandaurov <pluknet@freebsd.org>
To:        Gleb Smirnoff <glebius@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r223788 - head/usr.sbin/flowctl
Message-ID:  <CAE-mSOJz-xeyGH__Hhk8Do=r2Y%2BZv-H0gMfw4sRbr4SxhBOtrA@mail.gmail.com>
In-Reply-To: <201107051450.p65Eo7ah073669@svn.freebsd.org>
References:  <201107051450.p65Eo7ah073669@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5 July 2011 18:50, Gleb Smirnoff <glebius@freebsd.org> wrote:
> Author: glebius
> Date: Tue Jul =A05 14:50:06 2011
> New Revision: 223788
> URL: http://svn.freebsd.org/changeset/base/223788
>
> Log:
> =A0Rewrite the flowctl utility to add it support for displaying
> =A0both IPv4 and IPv4 flows.
>
> Modified:
> =A0head/usr.sbin/flowctl/Makefile
> =A0head/usr.sbin/flowctl/flowctl.c
>
> Modified: head/usr.sbin/flowctl/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/usr.sbin/flowctl/Makefile =A0 =A0 =A0Tue Jul =A05 14:48:39 2011 =
=A0 =A0 =A0 =A0(r223787)
> +++ head/usr.sbin/flowctl/Makefile =A0 =A0 =A0Tue Jul =A05 14:50:06 2011 =
=A0 =A0 =A0 =A0(r223788)
> @@ -2,6 +2,8 @@
> =A0# $FreeBSD$
> =A0#
>
> +.include <bsd.own.mk>
> +
> =A0PROG=3D =A0flowctl
> =A0MAN=3D =A0 flowctl.8
>
> @@ -9,4 +11,10 @@ WARNS?=3D 2
> =A0DPADD=3D =A0${LIBNETGRAPH}
> =A0LDADD=3D =A0-lnetgraph
>
> +.if ${MK_INET6_SUPPORT} !=3D "no"
> +CFLAGS+=3D -DINET6
> +.endif
[...]

It's broken for WITHOUT_INET6=3Dyes.
Please consider taking a look at the change below on top of r223788.
The patch adds handling for WITHOUT_INET, too.

Index: usr.sbin/flowctl/flowctl.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/flowctl/flowctl.c  (revision 223792)
+++ usr.sbin/flowctl/flowctl.c  (working copy)
@@ -69,12 +69,18 @@

 #define        CISCO_SH_VERB_FLOW6 "%-14s %-30s %-14s %-30s %2u %3x
%4x %6lu\n" \
        "%4.4x /%-2u %-5u                 %4.4x /%-2u %-5u %-30s %9u %8u\n\=
n"
+#ifdef INET
 static void flow_cache_print(struct ngnf_show_header *resp);
+static void flow_cache_print_verbose(struct ngnf_show_header *resp);
+#endif
+#ifdef INET6
 static void flow_cache_print6(struct ngnf_show_header *resp);
-static void flow_cache_print_verbose(struct ngnf_show_header *resp);
 static void flow_cache_print6_verbose(struct ngnf_show_header *resp);
+#endif
 static void ctl_show(int, char **);
+#if defined(INET) || defined(INET6)
 static void do_show(int, void (*func)(struct ngnf_show_header *));
+#endif
 static void help(void);
 static void execute_command(int, char **);

@@ -157,8 +163,11 @@
 static void
 ctl_show(int argc, char **argv)
 {
-       int ipv4 =3D 1, ipv6 =3D 1, verbose =3D 0;
+       int ipv4, ipv6, verbose =3D 0;

+       ipv4 =3D feature_present("inet");
+       ipv6 =3D feature_present("inet6");
+
        if (argc > 0 && !strncmp(argv[0], "ipv4", 4)) {
                ipv6 =3D 0;
                argc--;
@@ -173,21 +182,26 @@
        if (argc > 0 && !strncmp(argv[0], "verbose", strlen(argv[0])))
                verbose =3D 1;

+#ifdef INET
        if (ipv4) {
                if (verbose)
                        do_show(4, &flow_cache_print_verbose);
                else
                        do_show(4, &flow_cache_print);
        }
+#endif

+#ifdef INET6
        if (ipv6) {
                if (verbose)
                        do_show(6, &flow_cache_print6_verbose);
                else
                        do_show(6, &flow_cache_print6);
        }
+#endif
 }

+#if defined(INET) || defined(INET6)
 static void
 do_show(int version, void (*func)(struct ngnf_show_header *))
 {
@@ -230,7 +244,9 @@
                req.list_id =3D resp->list_id;
        }
 }
+#endif

+#ifdef INET
 static void
 flow_cache_print(struct ngnf_show_header *resp)
 {
@@ -261,6 +277,7 @@

        }
 }
+#endif

 #ifdef INET6
 static void
@@ -295,6 +312,7 @@
 }
 #endif

+#ifdef INET
 static void
 flow_cache_print_verbose(struct ngnf_show_header *resp)
 {
@@ -335,6 +353,7 @@

        }
 }
+#endif

 #ifdef INET6
 static void
Index: usr.sbin/flowctl/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/flowctl/Makefile   (revision 223792)
+++ usr.sbin/flowctl/Makefile   (working copy)
@@ -14,7 +14,8 @@
 .if ${MK_INET6_SUPPORT} !=3D "no"
 CFLAGS+=3D -DINET6
 .endif
+.if ${MK_INET_SUPPORT} !=3D "no"
+CFLAGS+=3D -DINET
+.endif

-CFLAGS+=3D -I.
-
 .include <bsd.prog.mk>

--=20
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSOJz-xeyGH__Hhk8Do=r2Y%2BZv-H0gMfw4sRbr4SxhBOtrA>