This patch implements support for the IFLA_BRPORT_FLUSH attribute
in iproute2 so it can flush bridge slave's fdb dynamic entries.

Signed-off-by: Hangbin Liu <liuhang...@gmail.com>
---
 ip/iplink_bridge_slave.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/ip/iplink_bridge_slave.c b/ip/iplink_bridge_slave.c
index fbb3f06..6353fc5 100644
--- a/ip/iplink_bridge_slave.c
+++ b/ip/iplink_bridge_slave.c
@@ -22,7 +22,10 @@
 static void print_explain(FILE *f)
 {
        fprintf(f,
-               "Usage: ... bridge_slave [ state STATE ] [ priority PRIO ] 
[cost COST ]\n"
+               "Usage: ... bridge_slave [ fdb_flush ]\n"
+               "                        [ state STATE ]\n"
+               "                        [ priority PRIO ]\n"
+               "                        [ cost COST ]\n"
                "                        [ guard {on | off} ]\n"
                "                        [ hairpin {on | off} ]\n"
                "                        [ fastleave {on | off} ]\n"
@@ -217,7 +220,9 @@ static int bridge_slave_parse_opt(struct link_util *lu, int 
argc, char **argv,
        __u32 cost;
 
        while (argc > 0) {
-               if (matches(*argv, "state") == 0) {
+               if (matches(*argv, "fdb_flush") == 0) {
+                       addattr(n, 1024, IFLA_BRPORT_FLUSH);
+               } else if (matches(*argv, "state") == 0) {
                        NEXT_ARG();
                        if (get_u8(&state, *argv, 0))
                                invarg("state is invalid", *argv);
-- 
2.5.5

Reply via email to