summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_area.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_area.c')
-rw-r--r--ospf6d/ospf6_area.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c
index f4b327e4..9934e6b9 100644
--- a/ospf6d/ospf6_area.c
+++ b/ospf6d/ospf6_area.c
@@ -420,6 +420,18 @@ ospf6_area_config_write (struct vty *vty)
prefix2str (&range->prefix, buf, sizeof (buf));
vty_out (vty, " area %s range %s%s", oa->name, buf, VNL);
}
+ if (PREFIX_NAME_IN (oa))
+ vty_out (vty, " area %s filter-list prefix %s in%s",
+ oa->name, PREFIX_NAME_IN (oa), VNL);
+ if (PREFIX_NAME_OUT (oa))
+ vty_out (vty, " area %s filter-list prefix %s out%s",
+ oa->name, PREFIX_NAME_OUT (oa), VNL);
+ if (IMPORT_NAME (oa))
+ vty_out (vty, " area %s import-list %s%s",
+ oa->name, IMPORT_NAME (oa), VNL);
+ if (EXPORT_NAME (oa))
+ vty_out (vty, " area %s export-list %s%s",
+ oa->name, EXPORT_NAME (oa), VNL);
}
}
@@ -441,14 +453,14 @@ DEFUN (area_filter_list,
argc--;
argv++;
- plist = prefix_list_lookup (AFI_IP6, argv[1]);
- if (strncmp (argv[2], "in", 2) == 0)
+ plist = prefix_list_lookup (AFI_IP6, argv[0]);
+ if (strncmp (argv[1], "in", 2) == 0)
{
PREFIX_LIST_IN (area) = plist;
if (PREFIX_NAME_IN (area))
free (PREFIX_NAME_IN (area));
- PREFIX_NAME_IN (area) = strdup (argv[1]);
+ PREFIX_NAME_IN (area) = strdup (argv[0]);
ospf6_abr_reimport (area);
}
else
@@ -457,7 +469,7 @@ DEFUN (area_filter_list,
if (PREFIX_NAME_OUT (area))
free (PREFIX_NAME_OUT (area));
- PREFIX_NAME_OUT (area) = strdup (argv[1]);
+ PREFIX_NAME_OUT (area) = strdup (argv[0]);
ospf6_abr_enable_area (area);
}
@@ -483,11 +495,11 @@ DEFUN (no_area_filter_list,
argc--;
argv++;
- plist = prefix_list_lookup (AFI_IP6, argv[1]);
- if (strncmp (argv[2], "in", 2) == 0)
+ plist = prefix_list_lookup (AFI_IP6, argv[0]);
+ if (strncmp (argv[1], "in", 2) == 0)
{
if (PREFIX_NAME_IN (area))
- if (strcmp (PREFIX_NAME_IN (area), argv[1]) != 0)
+ if (strcmp (PREFIX_NAME_IN (area), argv[0]) != 0)
return CMD_SUCCESS;
PREFIX_LIST_IN (area) = NULL;
@@ -500,7 +512,7 @@ DEFUN (no_area_filter_list,
else
{
if (PREFIX_NAME_OUT (area))
- if (strcmp (PREFIX_NAME_OUT (area), argv[1]) != 0)
+ if (strcmp (PREFIX_NAME_OUT (area), argv[0]) != 0)
return CMD_SUCCESS;
PREFIX_LIST_OUT (area) = NULL;