summaryrefslogtreecommitdiff
path: root/proto/babel/babel.c
diff options
context:
space:
mode:
Diffstat (limited to 'proto/babel/babel.c')
-rw-r--r--proto/babel/babel.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/proto/babel/babel.c b/proto/babel/babel.c
index cd221c7b..a7dcee09 100644
--- a/proto/babel/babel.c
+++ b/proto/babel/babel.c
@@ -645,12 +645,13 @@ babel_announce_rte(struct babel_proto *p, struct babel_entry *e)
{
struct {
ea_list l;
- eattr a[5];
+ eattr a[6];
} eattrs = {
.l.count = ARRAY_SIZE(eattrs.a),
.a = {
EA_LITERAL_EMBEDDED(&ea_gen_preference, 0, c->preference),
EA_LITERAL_STORE_ADATA(&ea_gen_from, 0, &r->neigh->addr, sizeof(r->neigh->addr)),
+ EA_LITERAL_EMBEDDED(&ea_gen_source, 0, RTS_BABEL),
EA_LITERAL_EMBEDDED(&ea_babel_metric, 0, r->metric),
EA_LITERAL_STORE_ADATA(&ea_babel_router_id, 0, &r->router_id, sizeof(r->router_id)),
EA_LITERAL_EMBEDDED(&ea_babel_seqno, 0, r->seqno),
@@ -658,7 +659,6 @@ babel_announce_rte(struct babel_proto *p, struct babel_entry *e)
};
rta a0 = {
- .source = RTS_BABEL,
.dest = RTD_UNICAST,
.nh.gw = r->next_hop,
.nh.iface = r->neigh->ifa->iface,
@@ -683,11 +683,11 @@ babel_announce_rte(struct babel_proto *p, struct babel_entry *e)
{
/* Unreachable */
rta a0 = {
- .source = RTS_BABEL,
.dest = RTD_UNREACHABLE,
};
ea_set_attr_u32(&a0.eattrs, &ea_gen_preference, 0, 1);
+ ea_set_attr_u32(&a0.eattrs, &ea_gen_source, 0, RTS_BABEL);
rta *a = rta_lookup(&a0);
rte *rte = rte_get_temp(a, p->p.main_source);