The netlink_print_neighbors() function previously used a static header format, which did not account for variations between the neighbor list output from different BATMAN routing algorithms (BATMAN_IV vs. BATMAN_V).
This patch introduces a dynamic header selection mechanism that adjusts the output format based on the active routing algorithm: - For BATMAN_IV, the header is set to "IF Neighbor last-seen". - For BATMAN_V, it changes to " Neighbor last-seen speed IF".
This change ensures that the table header output in `batctl n` is accurate for both BATMAN routing algorithms. Signed-off-by: Noah Peterson noahbpeterson1997@gmail.com --- neighbors.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/neighbors.c b/neighbors.c index 3102b0e..f34952b 100644 --- a/neighbors.c +++ b/neighbors.c @@ -6,6 +6,7 @@ * License-Filename: LICENSES/preferred/GPL-2.0 */
+#include <errno.h> #include <net/if.h> #include <netinet/if_ether.h> #include <netlink/netlink.h> @@ -119,9 +120,28 @@ static int netlink_print_neighbors(struct state *state, char *orig_iface, int read_opts, float orig_timeout, float watch_interval) { + char *header = NULL; + char *info_header; + + /* only parse routing algorithm name */ + last_err = -EINVAL; + info_header = netlink_get_info(state, BATADV_CMD_GET_ORIGINATORS, NULL); + free(info_header); + + if (strlen(algo_name_buf) == 0) + return last_err; + + if (!strcmp("BATMAN_IV", algo_name_buf)) + header = "IF Neighbor last-seen\n"; + if (!strcmp("BATMAN_V", algo_name_buf)) + header = " Neighbor last-seen speed IF\n"; + + if (!header) + return -EINVAL; + return netlink_print_common(state, orig_iface, read_opts, orig_timeout, watch_interval, - "IF Neighbor last-seen\n", + header, BATADV_CMD_GET_NEIGHBORS, neighbors_callback); }
On Tuesday, 10 September 2024 05:27:14 CEST noahbpeterson1997@gmail.com wrote:
You must have a proper "From:" in your patch mail - not only your mail address. And it should match your Signed-off-by line.
The netlink_print_neighbors() function previously used a static header format, which did not account for variations between the neighbor list output from different BATMAN routing algorithms (BATMAN_IV vs. BATMAN_V).
This patch introduces a dynamic header selection mechanism that adjusts the output format based on the active routing algorithm:
- For BATMAN_IV, the header is set to "IF Neighbor last-seen".
- For BATMAN_V, it changes to " Neighbor last-seen speed IF".
Please don't use overlong lines in the commit message. We normally use the 75 chars per line limit from Linux's checkpatch.
This change ensures that the table header output in `batctl n` is accurate for both BATMAN routing algorithms. Signed-off-by: Noah Peterson noahbpeterson1997@gmail.com
Newline missing between your commit message and the Sob line.
Changelog for v2 is missing. You can use tools like b4 [1] to improve your patch workflow.
neighbors.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/neighbors.c b/neighbors.c index 3102b0e..f34952b 100644 --- a/neighbors.c +++ b/neighbors.c @@ -6,6 +6,7 @@
- License-Filename: LICENSES/preferred/GPL-2.0
*/
+#include <errno.h> #include <net/if.h> #include <netinet/if_ether.h> #include <netlink/netlink.h> @@ -119,9 +120,28 @@ static int netlink_print_neighbors(struct state *state, char *orig_iface, int read_opts, float orig_timeout, float watch_interval) {
- char *header = NULL;
- char *info_header;
- /* only parse routing algorithm name */
- last_err = -EINVAL;
- info_header = netlink_get_info(state, BATADV_CMD_GET_ORIGINATORS, NULL);
- free(info_header);
- if (strlen(algo_name_buf) == 0)
return last_err;
- if (!strcmp("BATMAN_IV", algo_name_buf))
header = "IF Neighbor last-seen\n";
- if (!strcmp("BATMAN_V", algo_name_buf))
header = " Neighbor last-seen speed IF\n";
- if (!header)
return -EINVAL;
- return netlink_print_common(state, orig_iface, read_opts, orig_timeout, watch_interval,
"IF Neighbor last-seen\n",
header, BATADV_CMD_GET_NEIGHBORS, neighbors_callback);
}
Hello!
I have submitted a v3 of this patch, I believe this time with all of the necessary parts, testing with the proper diff and patching tools, and submitting using git send-email. Let me know if this one is up to the expected standard.
These are my very first kernel patches. I thank you for your patience and handholding :)
b.a.t.m.a.n@lists.open-mesh.org