diff --git a/devlink/devlink.c b/devlink/devlink.c index fd3f7901..5e762e37 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -255,11 +255,11 @@ static void ifname_map_free(struct ifname_map *ifname_map) #define DL_OPT_FLASH_FILE_NAME BIT(25) #define DL_OPT_FLASH_COMPONENT BIT(26) #define DL_OPT_HEALTH_REPORTER_NAME BIT(27) -#define DL_OPT_HEALTH_REPORTER_GRACEFUL_PERIOD BIT(27) -#define DL_OPT_HEALTH_REPORTER_AUTO_RECOVER BIT(28) -#define DL_OPT_TRAP_NAME BIT(29) -#define DL_OPT_TRAP_ACTION BIT(30) -#define DL_OPT_TRAP_GROUP_NAME BIT(31) +#define DL_OPT_HEALTH_REPORTER_GRACEFUL_PERIOD BIT(28) +#define DL_OPT_HEALTH_REPORTER_AUTO_RECOVER BIT(29) +#define DL_OPT_TRAP_NAME BIT(30) +#define DL_OPT_TRAP_ACTION BIT(31) +#define DL_OPT_TRAP_GROUP_NAME BIT(32) struct dl_opts { uint64_t present; /* flags of present items */ diff --git a/ip/ipnexthop.c b/ip/ipnexthop.c index bc8ab431..9f860c8c 100644 --- a/ip/ipnexthop.c +++ b/ip/ipnexthop.c @@ -249,7 +249,7 @@ int print_nexthop(struct nlmsghdr *n, void *arg) } if (tb[NHA_BLACKHOLE]) - print_null(PRINT_ANY, "blackhole", "blackhole", NULL); + print_null(PRINT_ANY, "blackhole", "blackhole ", NULL); if (nhm->nh_protocol != RTPROT_UNSPEC || show_details > 0) { print_string(PRINT_ANY, "protocol", "proto %s ", diff --git a/ip/link_xfrm.c b/ip/link_xfrm.c index 7a3285b4..a28f308d 100644 --- a/ip/link_xfrm.c +++ b/ip/link_xfrm.c @@ -17,7 +17,7 @@ static void xfrm_print_help(struct link_util *lu, int argc, char **argv, FILE *f) { fprintf(f, - "Usage: ... %-4s dev PHYS_DEV [ if_id IF-ID ]\n" + "Usage: ... %-4s dev [ PHYS_DEV ] [ if_id IF-ID ]\n" "\n" "Where: IF-ID := { 0x0..0xffffffff }\n", lu->id); @@ -46,12 +46,8 @@ static int xfrm_parse_opt(struct link_util *lu, int argc, char **argv, argc--; argv++; } - if (link) { + if (link) addattr32(n, 1024, IFLA_XFRM_LINK, link); - } else { - fprintf(stderr, "must specify physical device\n"); - return -1; - } return 0; } diff --git a/man/man8/ss.8 b/man/man8/ss.8 index f428e60c..023d771b 100644 --- a/man/man8/ss.8 +++ b/man/man8/ss.8 @@ -99,13 +99,13 @@ skmem:(r,rb,t,tb, .br .RS .RS -f,w, +f,w,o, .RE .RE .br .RS .RS -o,bl) +bl,d) .RE .RE .P @@ -146,6 +146,10 @@ The memory used for the sk backlog queue. On a process context, if the process is receiving packet, and a new packet is received, it will be put into the sk backlog queue, so it can be received by the process immediately +.P +.TP +.B +the number of packets dropped before they are de-multiplexed into the socket .RE .TP .B \-p, \-\-processes diff --git a/rdma/res.c b/rdma/res.c index 97a7b964..6003006e 100644 --- a/rdma/res.c +++ b/rdma/res.c @@ -161,6 +161,9 @@ void print_comm(struct rd *rd, const char *str, struct nlattr **nla_line) { char tmp[18]; + if (!str) + return; + if (rd->json_output) { /* Don't beatify output in JSON format */ jsonw_string_field(rd->jw, "comm", str);