summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Richter <tmricht@linux.vnet.ibm.com>2013-07-30 08:16:41 +0200
committerStephen Hemminger <stephen@networkplumber.org>2013-08-04 11:56:54 -0700
commit5464049b4781eae2f664009a217fbcfd6a7b13c1 (patch)
tree2f58a2d815944f6b4b1b3348da2623769cf2e408
parentc4fdf75d3def78fc5a08bbb3d91f10e456e8d0f1 (diff)
iproute vxlan add support for fdb replace command
Add support for the bridge fdb replace command to replace an existing entry in the vxlan device driver forwarding data base. The entry is identified with its unicast mac address and its corresponding remote destination information is updated. This is useful for virtual machine migration and replaces the bridge fdb del and bridge fdb add commands. It follows the same interface as ip neigh replace commands. Signed-off-by: Thomas Richter <tmricht@linux.vnet.ibm.com>
-rw-r--r--bridge/fdb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bridge/fdb.c b/bridge/fdb.c
index 591fbbed..e2e53f1f 100644
--- a/bridge/fdb.c
+++ b/bridge/fdb.c
@@ -30,7 +30,7 @@ int filter_index;
static void usage(void)
{
- fprintf(stderr, "Usage: bridge fdb { add | append | del } ADDR dev DEV {self|master} [ temp ]\n"
+ fprintf(stderr, "Usage: bridge fdb { add | append | del | replace } ADDR dev DEV {self|master} [ temp ]\n"
" [router] [ dst IPADDR] [ vlan VID ]\n"
" [ port PORT] [ vni VNI ] [via DEV]\n");
fprintf(stderr, " bridge fdb {show} [ dev DEV ]\n");
@@ -334,6 +334,8 @@ int do_fdb(int argc, char **argv)
return fdb_modify(RTM_NEWNEIGH, NLM_F_CREATE|NLM_F_EXCL, argc-1, argv+1);
if (matches(*argv, "append") == 0)
return fdb_modify(RTM_NEWNEIGH, NLM_F_CREATE|NLM_F_APPEND, argc-1, argv+1);
+ if (matches(*argv, "replace") == 0)
+ return fdb_modify(RTM_NEWNEIGH, NLM_F_CREATE|NLM_F_REPLACE, argc-1, argv+1);
if (matches(*argv, "delete") == 0)
return fdb_modify(RTM_DELNEIGH, 0, argc-1, argv+1);
if (matches(*argv, "show") == 0 ||