diff --git a/doc/bird.sgml b/doc/bird.sgml
index 762b5fd3..bab4679f 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -1009,7 +1009,7 @@ on nonbroadcast networks.
protocol ospf <name> {
rfc1583compat <switch>;
area <id> {
- stub <switch>;
+ stub cost <num>;
tick <num>;
interface <interface pattern>
{
@@ -1047,8 +1047,10 @@ protocol ospf <name> {
The most important area is
the backbone (ID 0) to which every other area must be connected.
- stub switch
- No external routes are flooded into stub areas. Default value is no.
+ stub cost num
+ No external (except default) routes are flooded into stub areas.
+ Setting this value marks area stub with defined cost of default route.
+ Default value is no. (Area is not stub.)
tick num
The routing table calculation is not performed when a single link state
diff --git a/proto/ospf/config.Y b/proto/ospf/config.Y
index 459a236c..140cbb44 100644
--- a/proto/ospf/config.Y
+++ b/proto/ospf/config.Y
@@ -70,7 +70,7 @@ ospf_area_opts:
;
ospf_area_item:
- STUB bool { this_area->stub = $2 ; }
+ STUB COST expr { this_area->stub = $3 ; if($3<=0) cf_error("Stub cost must be greater than zero"); }
| TICK expr { this_area->tick = $2 ; if($2<=0) cf_error("Tick must be greater than zero"); }
| INTERFACE ospf_iface_list
;