diff options
Diffstat (limited to 'ospf6d/ospf6_flood.c')
| -rw-r--r-- | ospf6d/ospf6_flood.c | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c index 738c2218fa..0a384a98e6 100644 --- a/ospf6d/ospf6_flood.c +++ b/ospf6d/ospf6_flood.c @@ -89,6 +89,16 @@ void ospf6_lsa_originate(struct ospf6_lsa *lsa)  	struct ospf6_lsa *old;  	struct ospf6_lsdb *lsdb_self; +	if (lsa->header->adv_router == INADDR_ANY) { +		if (IS_OSPF6_DEBUG_ORIGINATE_TYPE(lsa->header->type)) +			zlog_debug( +				"Refusing to originate LSA (zero router ID): %s", +				lsa->name); + +		ospf6_lsa_delete(lsa); +		return; +	} +  	/* find previous LSA */  	old = ospf6_lsdb_lookup(lsa->header->type, lsa->header->id,  				lsa->header->adv_router, lsa->lsdb);  | 
