Commit f6cc43b2 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Use the new definition of kernel_addresses.

parent 2991a533
...@@ -104,7 +104,7 @@ check_xroutes() ...@@ -104,7 +104,7 @@ check_xroutes()
{ {
int i, j, metric, export, change = 0, rc; int i, j, metric, export, change = 0, rc;
struct kernel_route routes[240]; struct kernel_route routes[240];
struct in6_addr addresses[240]; struct kernel_route addresses[240];
int numroutes, numaddr; int numroutes, numaddr;
debugf("\nChecking kernel routes.\n"); debugf("\nChecking kernel routes.\n");
...@@ -149,9 +149,10 @@ check_xroutes() ...@@ -149,9 +149,10 @@ check_xroutes()
metric = 0; metric = 0;
if(metric < INFINITY && metric == xroutes[i].metric) { if(metric < INFINITY && metric == xroutes[i].metric) {
for(j = 0; j < numaddr; j++) { for(j = 0; j < numaddr; j++) {
if(xroutes[i].plen == 128 && if(xroutes[i].plen == addresses[j].plen &&
memcmp(xroutes[i].prefix, memcmp(xroutes[i].prefix,
addresses[j].s6_addr, 128) == 0) { addresses[j].prefix, 128) == 0 &&
xroutes[i].ifindex == addresses[j].ifindex) {
if(metric < INFINITY) { if(metric < INFINITY) {
export = 1; export = 1;
break; break;
...@@ -193,12 +194,14 @@ check_xroutes() ...@@ -193,12 +194,14 @@ check_xroutes()
/* Add any new routes */ /* Add any new routes */
for(i = 0; i < numaddr; i++) { for(i = 0; i < numaddr; i++) {
metric = redistribute_filter(addresses[i].s6_addr, 128, 0, PROTO_LOCAL); metric = redistribute_filter(addresses[i].prefix, addresses[i].plen,
addresses[i].ifindex, PROTO_LOCAL);
if(metric == METRIC_INHERIT) if(metric == METRIC_INHERIT)
metric = 0; metric = 0;
if(metric < INFINITY) { if(metric < INFINITY) {
rc = add_xroute(XROUTE_LOCAL, rc = add_xroute(XROUTE_LOCAL,
addresses[i].s6_addr, 128, 0, 0, PROTO_LOCAL); addresses[i].prefix, addresses[i].plen,
0, addresses[i].ifindex, PROTO_LOCAL);
if(rc) if(rc)
change = 1; change = 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment