Skip to content

Commit

Permalink
libbpf-tools/tcprtt: use the same options to filter IPv4 and IPv6 adr…
Browse files Browse the repository at this point in the history
…esses

There is no need for the extra options. We can distinguish IPv4 and
IPv6 adresses by their format.

Signed-off-by: Jerome Marchand <[email protected]>
  • Loading branch information
jeromemarchand authored and yonghong-song committed Aug 20, 2023
1 parent 697f1cf commit cbd24ff
Showing 1 changed file with 26 additions and 26 deletions.
52 changes: 26 additions & 26 deletions libbpf-tools/tcprtt.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ static const struct argp_option opts[] = {
{ "rport", 'P', "RPORT", 0, "filter for remote port" },
{ "laddr", 'a', "LADDR", 0, "filter for local address" },
{ "raddr", 'A', "RADDR", 0, "filter for remote address" },
{ "laddr-v6", 'c', "LADDR_V6", 0, "filter for local IPv6 address" },
{ "raddr-v6", 'C', "RADDR_V6", 0, "filter for remote IPv6 address" },
{ "byladdr", 'b', NULL, 0,
"show sockets histogram by local address" },
{ "byraddr", 'B', NULL, 0,
Expand Down Expand Up @@ -131,32 +129,34 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state)
env.rport = htons(env.rport);
break;
case 'a':
if (inet_aton(arg, &addr) < 0) {
fprintf(stderr, "invalid local address: %s\n", arg);
argp_usage(state);
}
env.laddr = addr.s_addr;
if (strchr(arg, ':')) {
if (inet_pton(AF_INET6, arg, &addr_v6) < 1) {
fprintf(stderr, "invalid local IPv6 address: %s\n", arg);
argp_usage(state);
}
memcpy(env.laddr_v6, &addr_v6, sizeof(env.laddr_v6));
} else {
if (inet_pton(AF_INET, arg, &addr) < 0) {
fprintf(stderr, "invalid local address: %s\n", arg);
argp_usage(state);
}
env.laddr = addr.s_addr;
}
break;
case 'A':
if (inet_aton(arg, &addr) < 0) {
fprintf(stderr, "invalid remote address: %s\n", arg);
argp_usage(state);
}
env.raddr = addr.s_addr;
break;
case 'c':
if (inet_pton(AF_INET6, arg, &addr_v6) < 1) {
fprintf(stderr, "invalid local IPv6 address: %s\n", arg);
argp_usage(state);
}
memcpy(env.laddr_v6, &addr_v6, sizeof(env.laddr_v6));
break;
case 'C':
if (inet_pton(AF_INET6, arg, &addr_v6) < 1) {
fprintf(stderr, "invalid remote IPv6 address: %s\n", arg);
argp_usage(state);
}
memcpy(env.raddr_v6, &addr_v6, sizeof(env.raddr_v6));
if (strchr(arg, ':')) {
if (inet_pton(AF_INET6, arg, &addr_v6) < 1) {
fprintf(stderr, "invalid remote address: %s\n", arg);
argp_usage(state);
}
memcpy(env.raddr_v6, &addr_v6, sizeof(env.raddr_v6));
} else {
if (inet_pton(AF_INET, arg, &addr) < 0) {
fprintf(stderr, "invalid remote address: %s\n", arg);
argp_usage(state);
}
env.raddr = addr.s_addr;
}
break;
case 'b':
env.laddr_hist = true;
Expand Down

0 comments on commit cbd24ff

Please sign in to comment.