+ ds_put_cstr(ds, "\n");
+}
+
+static void
+bond_unixctl_show(struct unixctl_conn *conn,
+ int argc, const char *argv[],
+ void *aux OVS_UNUSED)
+{
+ struct ds ds = DS_EMPTY_INITIALIZER;
+
+ if (argc > 1) {
+ const struct bond *bond = bond_find(argv[1]);
+
+ if (!bond) {
+ unixctl_command_reply(conn, 501, "no such bond");
+ return;
+ }
+ bond_print_details(&ds, bond);
+ } else {
+ const struct bond *bond;
+
+ HMAP_FOR_EACH (bond, hmap_node, &all_bonds) {
+ bond_print_details(&ds, bond);
+ }
+ }
+