OSPF: Add option to disable OSPFv3-AF

This commit is contained in:
Ondrej Zajicek (work) 2017-10-10 16:07:54 +02:00
parent 2549300b54
commit 2d7fb19c3c
2 changed files with 14 additions and 4 deletions

View file

@ -2866,6 +2866,7 @@ constant definitions and list of neighbors on nonbroadcast networks.
<code> <code>
protocol ospf [v2|v3] &lt;name&gt; { protocol ospf [v2|v3] &lt;name&gt; {
rfc1583compat &lt;switch&gt;; rfc1583compat &lt;switch&gt;;
rfc5838 &lt;switch&gt;;
instance id &lt;num&gt;; instance id &lt;num&gt;;
stub router &lt;switch&gt;; stub router &lt;switch&gt;;
tick &lt;num&gt;; tick &lt;num&gt;;
@ -2966,15 +2967,23 @@ protocol ospf [v2|v3] &lt;name&gt; {
This option controls compatibility of routing table calculation with This option controls compatibility of routing table calculation with
<rfc id="1583">. Default value is no. <rfc id="1583">. Default value is no.
<tag><label id="ospf-rfc5838">rfc5838 <m/switch/</tag>
Basic OSPFv3 is limited to IPv6 unicast routing. The <rfc id="5838">
extension defines support for more address families (IPv4, IPv6, both
unicast and multicast). The extension is enabled by default, but can be
disabled if necessary, as it restricts the range of available instance
IDs. Default value is yes.
<tag><label id="ospf-instance-id">instance id <m/num/</tag> <tag><label id="ospf-instance-id">instance id <m/num/</tag>
When multiple OSPF protocol instances are active on the same links, they When multiple OSPF protocol instances are active on the same links, they
should use different instance IDs to distinguish their packets. Although should use different instance IDs to distinguish their packets. Although
it could be done on per-interface basis, it is often preferred to set it could be done on per-interface basis, it is often preferred to set
one instance ID to whole OSPF domain/topology (e.g., when multiple one instance ID to whole OSPF domain/topology (e.g., when multiple
instances are used to represent separate logical topologies on the same instances are used to represent separate logical topologies on the same
physical network). This option specifies the default instance ID for all physical network). This option specifies the instance ID for all
interfaces of the OSPF instance. Note that this option, if used, must interfaces of the OSPF instance, but can be overridden by
precede interface definitions. Default value is 0. <cf/interface/ option. Default value is 0 unless OSPFv3-AF extended
address families are used, see <rfc id="5838"> for that case.
<tag><label id="ospf-stub-router">stub router <M>switch</M></tag> <tag><label id="ospf-stub-router">stub router <M>switch</M></tag>
This option configures the router to be a stub router, i.e., a router This option configures the router to be a stub router, i.e., a router

View file

@ -196,7 +196,7 @@ CF_KEYWORDS(ELIGIBLE, POLL, NETWORKS, HIDDEN, VIRTUAL, CHECK, LINK, ONLY, BFD)
CF_KEYWORDS(RX, BUFFER, LARGE, NORMAL, STUBNET, HIDDEN, SUMMARY, TAG, EXTERNAL) CF_KEYWORDS(RX, BUFFER, LARGE, NORMAL, STUBNET, HIDDEN, SUMMARY, TAG, EXTERNAL)
CF_KEYWORDS(WAIT, DELAY, LSADB, ECMP, LIMIT, WEIGHT, NSSA, TRANSLATOR, STABILITY) CF_KEYWORDS(WAIT, DELAY, LSADB, ECMP, LIMIT, WEIGHT, NSSA, TRANSLATOR, STABILITY)
CF_KEYWORDS(GLOBAL, LSID, ROUTER, SELF, INSTANCE, REAL, NETMASK, TX, PRIORITY, LENGTH) CF_KEYWORDS(GLOBAL, LSID, ROUTER, SELF, INSTANCE, REAL, NETMASK, TX, PRIORITY, LENGTH)
CF_KEYWORDS(SECONDARY, MERGE, LSA, SUPPRESSION, MULTICAST) CF_KEYWORDS(SECONDARY, MERGE, LSA, SUPPRESSION, MULTICAST, RFC5838)
%type <ld> lsadb_args %type <ld> lsadb_args
%type <i> ospf_variant ospf_af_mc nbma_eligible %type <i> ospf_variant ospf_af_mc nbma_eligible
@ -250,6 +250,7 @@ ospf_proto_item:
proto_item proto_item
| ospf_channel { this_proto->net_type = $1->net_type; } | ospf_channel { this_proto->net_type = $1->net_type; }
| RFC1583COMPAT bool { OSPF_CFG->rfc1583 = $2; } | RFC1583COMPAT bool { OSPF_CFG->rfc1583 = $2; }
| RFC5838 bool { OSPF_CFG->af_ext = $2; if (!ospf_cfg_is_v3()) cf_error("RFC5838 option requires OSPFv3"); }
| STUB ROUTER bool { OSPF_CFG->stub_router = $3; } | STUB ROUTER bool { OSPF_CFG->stub_router = $3; }
| ECMP bool { OSPF_CFG->ecmp = $2 ? OSPF_DEFAULT_ECMP_LIMIT : 0; } | ECMP bool { OSPF_CFG->ecmp = $2 ? OSPF_DEFAULT_ECMP_LIMIT : 0; }
| ECMP bool LIMIT expr { OSPF_CFG->ecmp = $2 ? $4 : 0; } | ECMP bool LIMIT expr { OSPF_CFG->ecmp = $2 ? $4 : 0; }