diff options
| author | Christian Franke <chris@opensourcerouting.org> | 2018-07-22 15:49:02 -0400 | 
|---|---|---|
| committer | Christian Franke <chris@opensourcerouting.org> | 2018-08-03 13:25:39 +0200 | 
| commit | d43d2df5f3b63a4d364bd1136a246dd74647913c (patch) | |
| tree | 99a128870f0ccd0e65d6981430fc061a2da1fa57 /isisd/isis_mt.c | |
| parent | c9b0e434bc640ca7fe3700d4c3e26d1a295a9546 (diff) | |
isisd: learn and advertise IPv6 dst-src routes
Receive IPv6 dst-src routes from zebra and advertise them in our LSPs
if so configured.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Diffstat (limited to 'isisd/isis_mt.c')
| -rw-r--r-- | isisd/isis_mt.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/isisd/isis_mt.c b/isisd/isis_mt.c index d13f2a13f3..2155bf584e 100644 --- a/isisd/isis_mt.c +++ b/isisd/isis_mt.c @@ -33,6 +33,14 @@ DEFINE_MTYPE_STATIC(ISISD, MT_AREA_SETTING, "ISIS MT Area Setting")  DEFINE_MTYPE_STATIC(ISISD, MT_CIRCUIT_SETTING, "ISIS MT Circuit Setting")  DEFINE_MTYPE_STATIC(ISISD, MT_ADJ_INFO, "ISIS MT Adjacency Info") +bool isis_area_ipv6_dstsrc_enabled(struct isis_area *area) +{ +	struct isis_area_mt_setting *area_mt_setting; +	area_mt_setting = area_lookup_mt_setting(area, ISIS_MT_IPV6_DSTSRC); + +	return (area_mt_setting && area_mt_setting->enabled); +} +  uint16_t isis_area_ipv6_topology(struct isis_area *area)  {  	struct isis_area_mt_setting *area_mt_setting; @@ -61,6 +69,8 @@ const char *isis_mtid2str(uint16_t mtid)  		return "ipv6-multicast";  	case ISIS_MT_IPV6_MGMT:  		return "ipv6-mgmt"; +	case ISIS_MT_IPV6_DSTSRC: +		return "ipv6-dstsrc";  	default:  		snprintf(buf, sizeof(buf), "%" PRIu16, mtid);  		return buf; @@ -81,6 +91,8 @@ uint16_t isis_str2mtid(const char *name)  		return ISIS_MT_IPV6_MULTICAST;  	if (!strcmp(name, "ipv6-mgmt"))  		return ISIS_MT_IPV6_MGMT; +	if (!strcmp(name, "ipv6-dstsrc")) +		return ISIS_MT_IPV6_DSTSRC;  	return -1;  }  | 
