<feed xmlns='http://www.w3.org/2005/Atom'>
<title>quagga/zebra, branch master</title>
<subtitle>Quagga routing suite</subtitle>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/'/>
<entry>
<title>zebra: make rib_dump() compatible with IPv6 RIB</title>
<updated>2013-10-22T17:38:35+00:00</updated>
<author>
<name>Vincent Bernat</name>
<email>bernat@luffy.cx</email>
</author>
<published>2012-10-23T16:00:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=fed643f4093abc0ed5e796aab9047768f7036ed6'/>
<id>fed643f4093abc0ed5e796aab9047768f7036ed6</id>
<content type='text'>
[DL: resolved conflicts in zebra_rib.c]
[DL: fix usage with --disable-ipv6]
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[DL: resolved conflicts in zebra_rib.c]
[DL: fix usage with --disable-ipv6]
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: apply route-maps for interface routes</title>
<updated>2013-09-19T16:04:40+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-07-05T15:35:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=f3a1732eb3bb41c094ec558d2aeee2766878a91d'/>
<id>f3a1732eb3bb41c094ec558d2aeee2766878a91d</id>
<content type='text'>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: fix recursive-routes via ifindex routes</title>
<updated>2013-09-19T16:04:40+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-07-05T15:35:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=c3e6b595160cd3aa601ae7e1887e695710cde15d'/>
<id>c3e6b595160cd3aa601ae7e1887e695710cde15d</id>
<content type='text'>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: implement NEXTHOP_FLAG_ONLINK</title>
<updated>2013-09-19T16:04:40+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-07-05T15:35:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=e8d3d2991f72613edb76dea244a8c8e4684873dd'/>
<id>e8d3d2991f72613edb76dea244a8c8e4684873dd</id>
<content type='text'>
On Linux, the kernel will only allow for a route to be installed when
its gateway is directly attached according the kernel fib.

There are cases when this restriction by the kernel is too strong, in
those cases, we deploy the RTNH_F_ONLINK netlink flag.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Linux, the kernel will only allow for a route to be installed when
its gateway is directly attached according the kernel fib.

There are cases when this restriction by the kernel is too strong, in
those cases, we deploy the RTNH_F_ONLINK netlink flag.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: handle blackholes encountered in recursive resolution</title>
<updated>2013-09-19T16:04:40+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-07-05T15:35:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=48a53dc71cb422e619859b79d5069e02fcd867d0'/>
<id>48a53dc71cb422e619859b79d5069e02fcd867d0</id>
<content type='text'>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: rework recursive route resolution</title>
<updated>2013-09-19T16:04:40+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-07-05T15:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=fa713d9ee5ed30dedd0a290be9aaff780a2896be'/>
<id>fa713d9ee5ed30dedd0a290be9aaff780a2896be</id>
<content type='text'>
Change the datastructure for recursive routes. This brings the following
benefits:

By using struct nexthop also to store nexthops obtained by recursive
resolution, we can get rid of quite a bit of code duplication in the fib
management. (rt_netlink, rt_socket, ...)

With the new datastructure we can make use of all available paths when
recursive routes are resolved with multipath routes.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the datastructure for recursive routes. This brings the following
benefits:

By using struct nexthop also to store nexthops obtained by recursive
resolution, we can get rid of quite a bit of code duplication in the fib
management. (rt_netlink, rt_socket, ...)

With the new datastructure we can make use of all available paths when
recursive routes are resolved with multipath routes.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: improve interface shutdown behaviour</title>
<updated>2013-09-19T15:51:16+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-01-24T14:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=bfac8dcd2fe7ed099a679b5c8245599c6d0312ed'/>
<id>bfac8dcd2fe7ed099a679b5c8245599c6d0312ed</id>
<content type='text'>
Linux removes IPv6 addresses when the interface is set down. Those
addresses need to be readded when the interface is set up again.

Also, an interface should not be reactivated from shutdown by configuring
an ip address.

Finally, remove the three-state logic for the shutdown setting as its
sole current use may be mild confusion.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linux removes IPv6 addresses when the interface is set down. Those
addresses need to be readded when the interface is set up again.

Also, an interface should not be reactivated from shutdown by configuring
an ip address.

Finally, remove the three-state logic for the shutdown setting as its
sole current use may be mild confusion.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: don't change connected state from zebra/interface.c</title>
<updated>2013-09-19T15:51:16+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-01-24T14:04:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=02b4805f3914ef6ba0242c6f4dd1b6759ef97bf2'/>
<id>02b4805f3914ef6ba0242c6f4dd1b6759ef97bf2</id>
<content type='text'>
Try to avoid changing connected state from zebra/interface.c as this
means making assumptions about kernel behaviour which may be or may
become wrong. This state should rather be updated by events from the
kernel.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Try to avoid changing connected state from zebra/interface.c as this
means making assumptions about kernel behaviour which may be or may
become wrong. This state should rather be updated by events from the
kernel.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: add ZEBRA_IFC_QUEUED to keep track of kernel state</title>
<updated>2013-09-19T15:51:16+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-01-24T14:04:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=f7f740fe58fb838fc87e82dc7e1e2d4e5ccf085c'/>
<id>f7f740fe58fb838fc87e82dc7e1e2d4e5ccf085c</id>
<content type='text'>
As there are timeframes when we don't get a notification from the kernel
about new addresses. (e.g. while Linux performs IPv6 DAD), we need to
have some information whether an address has been sent to the kernel or
not.

One case where this is relevant would be a user adding an IPv6 address,
but deleting it before DAD has been complete. With the next patch which
removes some (ill assuming) synchronous parts in address setup,
ipv6_address_uninstall would not know whether or not it has to actually
delete the prefix from the kernel. Resolving these windows where we lack
information is what the flag ZEBRA_IFC_QUEUED is intended for.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As there are timeframes when we don't get a notification from the kernel
about new addresses. (e.g. while Linux performs IPv6 DAD), we need to
have some information whether an address has been sent to the kernel or
not.

One case where this is relevant would be a user adding an IPv6 address,
but deleting it before DAD has been complete. With the next patch which
removes some (ill assuming) synchronous parts in address setup,
ipv6_address_uninstall would not know whether or not it has to actually
delete the prefix from the kernel. Resolving these windows where we lack
information is what the flag ZEBRA_IFC_QUEUED is intended for.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: warn if advertising connected with _REAL unset</title>
<updated>2013-09-19T15:51:16+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-01-24T14:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sublab.org/quagga/commit/?id=c7df92de2dc91d0a934cf892e543728cb1a10849'/>
<id>c7df92de2dc91d0a934cf892e543728cb1a10849</id>
<content type='text'>
The implementation in zebra and the zclient protocol allow to communicate
addresses to clients which are not yet in the kernel.

This is usually not done and most clients seem to expect an address to be
configured in the kernel when they receive it. Therefore, it seems
reasonable to issue a warning when advertising an address to the clients
that is not yet in the kernel.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The implementation in zebra and the zclient protocol allow to communicate
addresses to clients which are not yet in the kernel.

This is usually not done and most clients seem to expect an address to be
configured in the kernel when they receive it. Therefore, it seems
reasonable to issue a warning when advertising an address to the clients
that is not yet in the kernel.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
