]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - rdma/res.c
Merge 'iproute2-master' into iproute2-next
[mirror_iproute2.git] / rdma / res.c
index 074b9929a38b2f9e94fd301470a8815c3488be91..6b0f5fe35f74063af758241a8069829292bc5cca 100644 (file)
@@ -16,13 +16,17 @@ static int res_help(struct rd *rd)
 {
        pr_out("Usage: %s resource\n", rd->filename);
        pr_out("          resource show [DEV]\n");
-       pr_out("          resource show [qp|cm_id]\n");
+       pr_out("          resource show [qp|cm_id|pd|mr|cq]\n");
        pr_out("          resource show qp link [DEV/PORT]\n");
        pr_out("          resource show qp link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n");
        pr_out("          resource show cm_id link [DEV/PORT]\n");
        pr_out("          resource show cm_id link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n");
        pr_out("          resource show cq link [DEV/PORT]\n");
        pr_out("          resource show cq link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n");
+       pr_out("          resource show pd dev [DEV]\n");
+       pr_out("          resource show pd dev [DEV] [FILTER-NAME FILTER-VALUE]\n");
+       pr_out("          resource show mr dev [DEV]\n");
+       pr_out("          resource show mr dev [DEV] [FILTER-NAME FILTER-VALUE]\n");
        return 0;
 }
 
@@ -621,6 +625,8 @@ static int res_cm_id_parse_cb(const struct nlmsghdr *nlh, void *data)
                        if (rd_check_is_string_filtered(rd, "src-addr",
                                                        src_addr_str))
                                continue;
+                       if (rd_check_is_filtered(rd, "src-port", src_port))
+                               continue;
                }
 
                if (nla_line[RDMA_NLDEV_ATTR_RES_DST_ADDR]) {
@@ -630,14 +636,10 @@ static int res_cm_id_parse_cb(const struct nlmsghdr *nlh, void *data)
                        if (rd_check_is_string_filtered(rd, "dst-addr",
                                                        dst_addr_str))
                                continue;
+                       if (rd_check_is_filtered(rd, "dst-port", dst_port))
+                               continue;
                }
 
-               if (rd_check_is_filtered(rd, "src-port", src_port))
-                       continue;
-
-               if (rd_check_is_filtered(rd, "dst-port", dst_port))
-                       continue;
-
                if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) {
                        pid = mnl_attr_get_u32(
                                        nla_line[RDMA_NLDEV_ATTR_RES_PID]);
@@ -701,7 +703,7 @@ static void print_users(struct rd *rd, uint64_t val)
 static const char *poll_ctx_to_str(uint8_t idx)
 {
        static const char * const cm_id_states_str[] = {
-               "DIRECT", "SOFTIRQ", "WORKQUEUE"};
+               "DIRECT", "SOFTIRQ", "WORKQUEUE", "UNBOUND_WORKQUEUE"};
 
        if (idx < ARRAY_SIZE(cm_id_states_str))
                return cm_id_states_str[idx];