Commit 7730553b authored by Ondrej Zajicek's avatar Ondrej Zajicek
Browse files

Merge remote-tracking branch 'origin/soft-int'

parents 0da562a7 ec2194fa
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
Version 1.5.0pre (2014-11-05) - Not for production
  o Major OSPF protocol redesign
  o RFC 6549 - OSPFv2 multi-instance extension

Version 1.4.5 (2014-10-06)
  o New 'show route noexport' command option.
  o Port option for BGP sessions.
+10 −8
Original line number Diff line number Diff line
@@ -124,22 +124,24 @@ include ^{WHITE}*include{WHITE}*\".*\"{WHITE}*;
}

{DIGIT}+\.{DIGIT}+\.{DIGIT}+\.{DIGIT}+ {
  ip4_addr a;
  if (!ip4_pton(yytext, &a))
    cf_error("Invalid IPv4 address %s", yytext);

#ifdef IPV6
  if (ipv4_pton_u32(yytext, &cf_lval.i32))
  cf_lval.i32 = ip4_to_u32(a);
  return RTRID;
  cf_error("Invalid IPv4 address %s", yytext);
#else
  if (ip_pton(yytext, &cf_lval.a))
  cf_lval.a = ipa_from_ip4(a);
  return IPA;
  cf_error("Invalid IP address %s", yytext);
#endif
}

({XIGIT}*::|({XIGIT}*:){3,})({XIGIT}*|{DIGIT}+\.{DIGIT}+\.{DIGIT}+\.{DIGIT}+) {
#ifdef IPV6
  if (ip_pton(yytext, &cf_lval.a))
  if (ipa_pton(yytext, &cf_lval.a))
    return IPA;
  cf_error("Invalid IP address %s", yytext);
  cf_error("Invalid IPv6 address %s", yytext);
#else
  cf_error("This is an IPv4 router, therefore IPv6 addresses are not supported");
#endif
+1 −1
Original line number Diff line number Diff line
@@ -187,7 +187,7 @@ pxlen:
     $$ = $2;
   }
 | ':' ipa {
     $$ = ipa_mklen($2);
     $$ = ipa_masklen($2);
     if ($$ < 0) cf_error("Invalid netmask %I", $2);
   }
 ;
+39 −16
Original line number Diff line number Diff line
@@ -2292,6 +2292,7 @@ networks.
<code>
protocol ospf &lt;name&gt; {
	rfc1583compat &lt;switch&gt;;
	instance id &lt;num&gt;;
	stub router &lt;switch&gt;;
	tick &lt;num&gt;;
	ecmp &lt;switch&gt; [limit &lt;num&gt;];
@@ -2336,6 +2337,7 @@ protocol ospf &lt;name&gt; {
			tx length &lt;num&gt;;
			type [broadcast|bcast|pointopoint|ptp|
				nonbroadcast|nbma|pointomultipoint|ptmp];
			link lsa suppression &lt;switch&gt;;
			strict nonbroadcast &lt;switch&gt;;
			real broadcast &lt;switch&gt;;
			ptp netmask &lt;switch&gt;;
@@ -2378,14 +2380,24 @@ protocol ospf &lt;name&gt; {
	RFC 1583 <htmlurl url="ftp://ftp.rfc-editor.org/in-notes/rfc1583.txt">.
	Default	value is no.

	<tag>instance id <m/num/</tag>
	When multiple OSPF protocol instances are active on the same links, they
	should use different instance IDs to distinguish their packets. Although
	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
	instances are used to represent separate logical topologies on the same
	physical network). This option specifies the default instance ID for all
	interfaces of the OSPF instance. Note that this option, if used, must
	precede interface definitions. Default value is 0.

	<tag>stub router <M>switch</M></tag>
	This option configures the router to be a stub router, i.e., a router
	that participates in the OSPF topology but does not allow transit
	traffic. In OSPFv2, this is implemented by advertising maximum metric
	for outgoing links, as suggested by
	RFC 3137 <htmlurl url="ftp://ftp.rfc-editor.org/in-notes/rfc3137.txt">.
	In OSPFv3, the stub router behavior is announced by clearing the R-bit
	in the router LSA. Default value is no.
	for outgoing links. In OSPFv3, the stub router behavior is announced by
	clearing the R-bit in the router LSA. See RFC 6987
	<htmlurl url="ftp://ftp.rfc-editor.org/in-notes/rfc6987.txt"> for
	details. Default value is no.

	<tag>tick <M>num</M></tag>
	The routing table calculation and clean-up of areas' databases is not
@@ -2492,17 +2504,21 @@ protocol ospf &lt;name&gt; {
	Defines that the specified interfaces belong to the area being defined.
	See <ref id="dsc-iface" name="interface"> common option for detailed
	description. In OSPFv2, extended interface clauses are used, because
	OSPFv2 handles each network prefix as a separate virtual interface. In
	OSPFv3, you can specify instance ID for that interface description, so
	it is possible to have several instances of that interface with
	different options or even in different areas.
	each network prefix is handled as a separate virtual interface.

	You can specify alternative instance ID for the interface definition,
	therefore it is possible to have several instances of that interface
	with different options or even in different areas. For OSPFv2,
	instance ID support is an extension (RFC 6549
	<htmlurl url="ftp://ftp.rfc-editor.org/in-notes/rfc6549.txt">) and is
	supposed to be set per-protocol. For OSPFv3, it is an integral feature.

	<tag>virtual link <M>id</M> [instance <m/num/]</tag>
	Virtual link to router with the router id. Virtual link acts as a
	point-to-point interface belonging to backbone. The actual area is used
	as transport area. This item cannot be in the backbone. In OSPFv3, you
	could also use several virtual links to one destination with different
	instance IDs.
	as a transport area. This item cannot be in the backbone. Like with
	<cf/interface/ option, you could also use several virtual links to one
	destination with different instance IDs.

	<tag>cost <M>num</M></tag>
	Specifies output cost (metric) of an interface. Default value is 10.
@@ -2533,7 +2549,7 @@ protocol ospf &lt;name&gt; {

	<tag>wait <M>num</M></tag>
	After start, router waits for the specified number of seconds between
	starting election and building adjacency. Default value is 40.
	starting election and building adjacency. Default value is 4*<m/hello/.

	<tag>dead count <M>num</M></tag>
	When the router does not receive any messages from a neighbor in
@@ -2600,9 +2616,16 @@ protocol ospf &lt;name&gt; {
	communication, or if the NBMA network is used as an (possibly
	unnumbered) PtP link.

	<tag>strict nonbroadcast <M>switch</M></tag>
	<tag>link lsa suppression <m/switch/</tag>
	In OSPFv3, link LSAs are generated for each link, announcing link-local
	IPv6 address of the router to its local neighbors. These are useless on
	PtP or PtMP networks and this option allows to suppress the link LSA
	origination for such interfaces. The option is ignored on other than PtP
	or PtMP interfaces. Default value is no.

	<tag>strict nonbroadcast <m/switch/</tag>
	If set, don't send hello to any undefined neighbor. This switch is
	ignored on other than NBMA or PtMP networks. Default value is no.
	ignored on other than NBMA or PtMP interfaces. Default value is no.

	<tag>real broadcast <m/switch/</tag>
	In <cf/type broadcast/ or <cf/type ptp/ network configuration, OSPF
+0 −7
Original line number Diff line number Diff line
@@ -3,13 +3,6 @@ bitops.c
bitops.h
ip.h
ip.c
#ifdef IPV6
ipv6.c
ipv6.h
#else
ipv4.c
ipv4.h
#endif
lists.c
lists.h
md5.c
Loading