diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-03-09 09:50:18 -0400 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-04-22 10:57:29 -0400 | 
| commit | 5e0311982af37f1fa98883a629c4c17324455d0b (patch) | |
| tree | 7bd02617d94f8f6bb02310a53a8e54c6324d1b74 /zebra/zebra_errors.c | |
| parent | 9d866c07c87a1452939feb7bd8bb91a3460cbccc (diff) | |
zebra: Prevent awful misconfiguration in vrf's
Currently the linux kernel allows you to specify the same
table id -> multiple vrf's.  While I am arguing with
the kernel people about proper behavior here let's
just remove this as a possiblity from happening and
mark it a zebra stopable misconfiguration.
(Effectively we are preventing a crash down the line
as that all over FRR we assume it's a unique
mapping not a many to one).
Why fail hard?  Because we hope to get the person
who misconfigured it to actually notice immediately
not hours or days down the line when shit hits the fan.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_errors.c')
| -rw-r--r-- | zebra/zebra_errors.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/zebra/zebra_errors.c b/zebra/zebra_errors.c index ef792d14c2..b75708031e 100644 --- a/zebra/zebra_errors.c +++ b/zebra/zebra_errors.c @@ -786,6 +786,12 @@ static struct log_ref ferr_zebra_err[] = {  			"See if the nexthop you are trying to add is already present in the fib."  	},  	{ +		.code = EC_ZEBRA_VRF_MISCONFIGURED, +		.title = "Duplicate VRF table id detected", +		.description = "Zebra has detected a situation where there are two vrf devices with the exact same tableid.  This is considered a complete misconfiguration of VRF devices and breaks a fundamental assumption in FRR about how VRF's work", +		.suggestion = "Use different table id's for the VRF's in question" +	}, +	{  		.code = END_FERR,  	}  };  | 
