On Monday, 22 April 2019 11:20:48 CEST Linus Lüssing wrote:
> On Mon, Apr 22, 2019 at 10:12:14AM +0200, Sven Eckelmann wrote:
> > The correct way to get a log of the activities of batman-adv is to use the
> > standard kernel tracing infrastructure:
> >
> > $ trace-cmd stream -e batadv:batadv_dbg
[...]
> The trace-cmd approach does not add/provide network namespace
> support, does it?
Afaik, not at the moment.
> If we were removing "batctl log" now we would probably need to readd it
> later again when adding network namespace support, both for
> either a netlink or IPv6 node-local multicast approach, right [0]?
>
> (Although for the IPv6 node-local multicast 'socat' for instance would
> work, too.)
I am rather sure that we shouldn't add the namespace specific logs in batman-
adv via a batadv specific new infrastructure. Sounds like horrible hacks which
we shouldn't even try to upstream.
Kind regards,
Sven
@@ -52,7 +52,6 @@ $(eval $(call add_command,gw_mode,y))
$(eval $(call add_command,hop_penalty,y))
$(eval $(call add_command,interface,y))
$(eval $(call add_command,isolation_mark,y))
-$(eval $(call add_command,log,y))
$(eval $(call add_command,loglevel,y))
$(eval $(call add_command,mcast_flags,y))
$(eval $(call add_command,multicast_fanout,y))
@@ -386,28 +386,6 @@ Example::
1000
-batctl log
-==========
-
-read the log produced by the kernel module
-
-Usage::
-
- batctl log|l
-
-Example::
-
- $ batctl log
- [ 400] Received BATMAN packet via NB: fe:fe:00:00:02:01 IF: eth0 [fe:fe:00:00:01:01] (from OG: fe:fe:00:00:01:01 via prev OG: fe:fe:00:00:01:01 seqno 670, tq 245, TTL 49, V 8, IDF 1)
- [ 400] Drop packet: originator packet from myself (via neighbour)
- [ 400] Received BATMAN packet via NB: fe:fe:00:00:02:01 IF: eth0 [fe:fe:00:00:01:01] (from OG: fe:fe:00:00:02:01 via prev OG: fe:fe:00:00:02:01 seqno 545, tq 255, TTL 50, V 8, IDF 0)
- [ 400] updating last_seqno: old 544, new 545
- [ 400] bidirectional: orig = fe:fe:00:00:02:01 neigh = fe:fe:00:00:02:01 => own_bcast = 64, real recv = 64, local tq: 255, asym_penalty: 255, total tq: 255
- [ 400] update_originator(): Searching and updating originator entry of received packet
- [ 400] Updating existing last-hop neighbour of originator
- [...]
-
-
batctl loglevel
===============
@@ -19,7 +19,6 @@
#define DEBUG_DAT_CACHE "dat_cache"
#define DEBUG_NC_NODES "nc_nodes"
#define DEBUG_MCAST_FLAGS "mcast_flags"
-#define DEBUG_LOG "log"
#define DEBUG_ROUTING_ALGOS "routing_algos"
struct debug_table_data {
@@ -275,11 +275,8 @@ int read_file(const char *dir, const char *fname, int read_opt,
if (!bat_host)
goto print_plain_buff;
- if (read_opt & LOG_MODE)
- printf("%s", bat_host->name);
- else
- /* keep table format */
- printf("%17s", bat_host->name);
+ /* keep table format */
+ printf("%17s", bat_host->name);
goto written;
@@ -69,7 +69,6 @@ enum {
CONT_READ = 0x01,
CLR_CONT_READ = 0x02,
USE_BAT_HOSTS = 0x04,
- LOG_MODE = 0x08,
USE_READ_BUFF = 0x10,
SILENCE_ERRORS = 0x20,
NO_OLD_ORIGS = 0x40,
deleted file mode 100644
@@ -1,59 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* Copyright (C) 2009-2019 B.A.T.M.A.N. contributors:
- *
- * Marek Lindner <mareklindner@neomailbox.ch>
- *
- * License-Filename: LICENSES/preferred/GPL-2.0
- */
-
-#include <getopt.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "debug.h"
-#include "debugfs.h"
-#include "functions.h"
-
-static void log_usage(void)
-{
- fprintf(stderr, "Usage: batctl [options] log [parameters]\n");
- fprintf(stderr, "parameters:\n");
- fprintf(stderr, " \t -h print this help\n");
- fprintf(stderr, " \t -n don't replace mac addresses with bat-host names\n");
-}
-
-static int log_print(struct state *state, int argc, char **argv)
-{
- int optchar, res, read_opt = USE_BAT_HOSTS | LOG_MODE;
- char full_path[MAX_PATH+1];
- char *debugfs_mnt;
-
- while ((optchar = getopt(argc, argv, "hn")) != -1) {
- switch (optchar) {
- case 'h':
- log_usage();
- return EXIT_SUCCESS;
- case 'n':
- read_opt &= ~USE_BAT_HOSTS;
- break;
- default:
- log_usage();
- return EXIT_FAILURE;
- }
- }
-
- check_root_or_die("batctl log");
-
- debugfs_mnt = debugfs_mount(NULL);
- if (!debugfs_mnt) {
- fprintf(stderr, "Error - can't mount or find debugfs\n");
- return EXIT_FAILURE;
- }
-
- debugfs_make_path(DEBUG_BATIF_PATH_FMT "/", state->mesh_iface, full_path, sizeof(full_path));
- res = read_file(full_path, DEBUG_LOG, read_opt, 0, 0, 0);
- return res;
-}
-
-COMMAND_NAMED(SUBCOMMAND, log, "l", log_print, COMMAND_FLAG_MESH_IFACE, NULL,
- " \tread the log produced by the kernel module");
@@ -127,10 +127,6 @@ Level 'all' enables all messages. The messages are sent to the batman-adv debug
Make sure to have debugging output enabled when compiling the module otherwise the output as well as the loglevel options
won't be available.
.br
-.IP "\fBlog\fP|\fBl\fP [\fB\-n\fP]\fP"
-batctl will read the batman-adv debug log which has to be compiled into the kernel module. If "\-n" is given batctl will not
-replace the MAC addresses with bat\-host names in the output.
-.br
.IP "\fBgw_mode|gw\fP [\fBoff\fP|\fBclient\fP|\fBserver\fP] [\fBsel_class|bandwidth\fP]\fP"
If no parameter is given the current gateway mode is displayed otherwise the parameter is used to set the gateway mode. The
second (optional) argument specifies the selection class (if 'client' was the first argument) or the gateway bandwidth (if 'server'