diff options
author | Mitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com> | 2018-02-06 23:28:22 +0100 |
---|---|---|
committer | mitesh <mitesh@cumulusnetworks.com> | 2018-02-10 09:41:28 +0100 |
commit | c48d9f5f8545c4af3e4a2a4a58999cf62b705486 (patch) | |
tree | db3bf4399ce3d43fd80f7e498d74073502803235 /zebra/zebra_vxlan.h | |
parent | Merge pull request #1737 from mkanjari/build-failure (diff) | |
download | frr-c48d9f5f8545c4af3e4a2a4a58999cf62b705486.tar.xz frr-c48d9f5f8545c4af3e4a2a4a58999cf62b705486.zip |
zebra, bgp: Support type-5 routes with asymmetric routing
Asymmetric routing is an ideal choice when all VLANs are cfged on all leafs.
It simplifies the routing configuration and
eliminates potential need for advertising subnet routes.
However, we need to reach the Internet or global destinations
or to do subnet-based routing between PODs or DCs.
This requires EVPN type-5 routes but those routes require L3 VNI configuration.
This task is to support EVPN type-5 routes for prefix-based routing in
conjunction with asymmetric routing within the POD/DC.
It is done by providing an option to use the L3 VNI only for prefix routes,
so that type-2 routes (host routes) will only use the L2 VNI.
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_vxlan.h')
-rw-r--r-- | zebra/zebra_vxlan.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/zebra_vxlan.h b/zebra/zebra_vxlan.h index d9801a8b6..df9b07db6 100644 --- a/zebra/zebra_vxlan.h +++ b/zebra/zebra_vxlan.h @@ -52,6 +52,7 @@ is_evpn_enabled() #define VNI_STR_LEN 32 +extern int is_l3vni_for_prefix_routes_only(vni_t vni); extern ifindex_t get_l3vni_svi_ifindex(vrf_id_t vrf_id); extern int zebra_vxlan_vrf_delete(struct zebra_vrf *zvrf); extern int zebra_vxlan_vrf_enable(struct zebra_vrf *zvrf); @@ -154,7 +155,7 @@ extern int zebra_vxlan_advertise_all_vni(struct zserv *client, struct zebra_vrf *zvrf); extern int zebra_vxlan_process_vrf_vni_cmd(struct zebra_vrf *zvrf, vni_t vni, char *err, - int err_str_sz, int add); + int err_str_sz, int filter, int add); extern void zebra_vxlan_init_tables(struct zebra_vrf *zvrf); extern void zebra_vxlan_close_tables(struct zebra_vrf *); extern void zebra_vxlan_cleanup_tables(struct zebra_vrf *); |