]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - bridge/fdb.c
libnetlink: Convert GETMDB dumps to use rtnl_mdbdump_req
[mirror_iproute2.git] / bridge / fdb.c
index 205b4faa99a2ac3f5244038b9e8582af05f147fc..828fdab264cba1726be31881ab74484d41050d7a 100644 (file)
@@ -36,9 +36,9 @@ static void usage(void)
 {
        fprintf(stderr,
                "Usage: bridge fdb { add | append | del | replace } ADDR dev DEV\n"
-               "              [ self ] [ master ] [ use ] [ router ]\n"
-               "              [ local | static | dynamic ] [ dst IPADDR ] [ vlan VID ]\n"
-               "              [ port PORT] [ vni VNI ] [ via DEV ]\n"
+               "              [ self ] [ master ] [ use ] [ router ] [ extern_learn ]\n"
+               "              [ sticky ] [ local | static | dynamic ] [ dst IPADDR ]\n"
+               "              [ vlan VID ] [ port PORT] [ vni VNI ] [ via DEV ]\n"
                "       bridge fdb [ show [ br BRDEV ] [ brport DEV ] [ vlan VID ] [ state STATE ] ]\n");
        exit(-1);
 }
@@ -101,6 +101,9 @@ static void fdb_print_flags(FILE *fp, unsigned int flags)
        if (flags & NTF_MASTER)
                print_string(PRINT_ANY, NULL, "%s ", "master");
 
+       if (flags & NTF_STICKY)
+               print_string(PRINT_ANY, NULL, "%s ", "sticky");
+
        close_json_array(PRINT_JSON, NULL);
 }
 
@@ -412,6 +415,10 @@ static int fdb_modify(int cmd, int flags, int argc, char **argv)
                        vid = atoi(*argv);
                } else if (matches(*argv, "use") == 0) {
                        req.ndm.ndm_flags |= NTF_USE;
+               } else if (matches(*argv, "extern_learn") == 0) {
+                       req.ndm.ndm_flags |= NTF_EXT_LEARNED;
+               } else if (matches(*argv, "sticky") == 0) {
+                       req.ndm.ndm_flags |= NTF_STICKY;
                } else {
                        if (strcmp(*argv, "to") == 0)
                                NEXT_ARG();