diff options
| author | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2019-01-03 09:45:35 -0800 |
|---|---|---|
| committer | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2019-04-20 08:33:21 -0700 |
| commit | ee31c9fd1a0e58bfe42909817c3140a564bb9b74 (patch) | |
| tree | 3259f7311ec8c9668113edfc40b1780f754e5e09 /pimd/pim_cmd.c | |
| parent | b07d897ec1b8782a904eaf6931c964dd70f81ec1 (diff) | |
pimd: add new OIF type in prep for vxlan support
In an anycast VTEP setup the peerlink-rif (ISL) is added as a OIF to the
tunnel origination mroute. A new OIF protocol, VxLAN, has been added to
allow that functionalty.
Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_cmd.c')
| -rw-r--r-- | pimd/pim_cmd.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 2d5acb87a9..5f944e10c8 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -1956,7 +1956,7 @@ static void pim_show_state(struct pim_instance *pim, struct vty *vty, json = json_object_new_object(); } else { vty_out(vty, - "Codes: J -> Pim Join, I -> IGMP Report, S -> Source, * -> Inherited from (*,G)"); + "Codes: J -> Pim Join, I -> IGMP Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN"); vty_out(vty, "\nInstalled Source Group IIF OIL\n"); } @@ -2085,7 +2085,7 @@ static void pim_show_state(struct pim_instance *pim, struct vty *vty, } else { if (first_oif) { first_oif = 0; - vty_out(vty, "%s(%c%c%c%c)", out_ifname, + vty_out(vty, "%s(%c%c%c%c%c)", out_ifname, (c_oil->oif_flags[oif_vif_index] & PIM_OIF_FLAG_PROTO_IGMP) ? 'I' @@ -2095,6 +2095,10 @@ static void pim_show_state(struct pim_instance *pim, struct vty *vty, ? 'J' : ' ', (c_oil->oif_flags[oif_vif_index] + & PIM_OIF_FLAG_PROTO_VXLAN) + ? 'V' + : ' ', + (c_oil->oif_flags[oif_vif_index] & PIM_OIF_FLAG_PROTO_SOURCE) ? 'S' : ' ', @@ -2103,7 +2107,7 @@ static void pim_show_state(struct pim_instance *pim, struct vty *vty, ? '*' : ' '); } else - vty_out(vty, ", %s(%c%c%c%c)", + vty_out(vty, ", %s(%c%c%c%c%c)", out_ifname, (c_oil->oif_flags[oif_vif_index] & PIM_OIF_FLAG_PROTO_IGMP) @@ -2114,6 +2118,10 @@ static void pim_show_state(struct pim_instance *pim, struct vty *vty, ? 'J' : ' ', (c_oil->oif_flags[oif_vif_index] + & PIM_OIF_FLAG_PROTO_VXLAN) + ? 'V' + : ' ', + (c_oil->oif_flags[oif_vif_index] & PIM_OIF_FLAG_PROTO_SOURCE) ? 'S' : ' ', @@ -4617,6 +4625,11 @@ static void show_mroute(struct pim_instance *pim, struct vty *vty, bool fill, json_ifp_out, "protocolIgmp"); if (c_oil->oif_flags[oif_vif_index] + & PIM_OIF_FLAG_PROTO_VXLAN) + json_object_boolean_true_add( + json_ifp_out, "protocolVxlan"); + + if (c_oil->oif_flags[oif_vif_index] & PIM_OIF_FLAG_PROTO_SOURCE) json_object_boolean_true_add( json_ifp_out, "protocolSource"); @@ -4659,6 +4672,11 @@ static void show_mroute(struct pim_instance *pim, struct vty *vty, bool fill, } if (c_oil->oif_flags[oif_vif_index] + & PIM_OIF_FLAG_PROTO_VXLAN) { + strcpy(proto, "VxLAN"); + } + + if (c_oil->oif_flags[oif_vif_index] & PIM_OIF_FLAG_PROTO_SOURCE) { strcpy(proto, "SRC"); } |
