<div dir="ltr">Hi Srinivas,<div><br></div><div>My apologies for the delayed response.</div><div><br></div><div>I haven't looked closely at how the FPM interface is in the latest upstream tree, so please examine that and seek input from others too. My general comment is that the approach should closely mirror what is done for routes. IIRC, zebra directly talks to FPM, FPM being just one of the forwarding plane interfaces, similar to netlink and route sockets. If so, for (VTEP) flood list and MAC database, you need to modify the zebra code to invoke the appropriate FPM interface. For ARP suppression, you need to add interactions with the appropriate entity if it is the CPU looking at ARP to end hosts and performing the suppression and the entity doing it is not the kernel.</div><div><br></div><div>Vivek</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 14, 2019 at 5:49 PM Srinivasulu P <<a href="mailto:srinivas.pichika@gmail.com">srinivas.pichika@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Vivek,<div><br></div><div>Thanks for response. Could you please suggest the best way from Zebra to FPM interface for these BGP EVPN(type-2 or type-5) routes :</div><div><br></div><div>1. Have a callback in FPM, when zebra installed type-2 or type-5 routes into linux kernel and update the FPM through callback. Less changes are required in FRR side.</div><div><br></div><div>Or</div><div><br></div><div>2. From Zebra to ZFPM pass these routes to FPM via the tcp socket. For this we need to modify the FRR code. </div><div><br></div><div>Please provide your inputs.</div><div><br></div><div>Thanks and Regards,</div><div>Srinivas</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 13, 2019 at 11:30 PM Vivek Venkatraman <<a href="mailto:vivek@cumulusnetworks.com" target="_blank">vivek@cumulusnetworks.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">If the point here is that the EVPN-VxLAN "L2" information (flooding information, MACs and neighbors) is only installed into the kernel (specifically, via the netlink interface) and does not have an interface into FPM, that is correct. Whoever has an immediate use case (need) for it can take it up. I would definitely recommend not to try to merge data structures etc. as part of the effort to add an FPM interface for the L2 information; that should be taken up separately, if warranted.<div><br></div><div>As far as routes go, irrespective of whether they originated in BGP from an EVPN (type-2 or type-5) route or otherwise, the zebra installation towards the kernel and FPM should be the same. There is some special "sideband" handling for an EVPN-sourced route currently, but it is not for the route itself, and this code will be reduced/eliminated soon.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 12, 2019 at 8:05 AM Jia Chen <<a href="mailto:jchen1@paloaltonetworks.com" target="_blank">jchen1@paloaltonetworks.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">







<div bgcolor="white" lang="EN-US">
<div class="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113WordSection1">
<p class="MsoNormal">When considering to add VxLAN to Zfpm, I suggest to review the Zfpm design to avoid sending routes information to Zfpm from many different places in the Zebra update code. Is it possible to send/queue a copy to Zfpm right where a route
 or routes are “send” to kernel via netlink? <u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Jay<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12pt;color:black">From: </span></b><span style="font-size:12pt;color:black">dev <<a href="mailto:dev-bounces@lists.frrouting.org" target="_blank">dev-bounces@lists.frrouting.org</a>> on behalf of Donald Sharp <<a href="mailto:sharpd@cumulusnetworks.com" target="_blank">sharpd@cumulusnetworks.com</a>><br>
<b>Date: </b>Monday, February 11, 2019 at 5:26 PM<br>
<b>To: </b>Srinivasulu P <<a href="mailto:srinivas.pichika@gmail.com" target="_blank">srinivas.pichika@gmail.com</a>><br>
<b>Cc: </b>FRRouting-Dev <<a href="mailto:dev@lists.frrouting.org" target="_blank">dev@lists.frrouting.org</a>><br>
<b>Subject: </b>Re: [dev] Vxlan route updates not going zfpm<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Srinivas - <u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Vxlan updates are typically a mac address and a ip address, which are placed into the linux neighbor table.  This is l2 information.  At this point in time the zebra rib is meant for l3 routes.  At this point in time zebra is used for pass
 through to the data plane.  If you need this information stored in the zebra rib, it would be a different table and more work to consolidate all this information.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">donald<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Feb 6, 2019 at 12:34 AM Srinivasulu P <<a href="mailto:srinivas.pichika@gmail.com" target="_blank">srinivas.pichika@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-js-repo-pjax-container">
<div>
<div>
<div>
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-show_issue">
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-discussion_bucket">
<div>
<div>
<div>
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-issue-407066091">
<div>
<div>
<table class="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113MsoNormalTable" border="0" cellpadding="0">
<tbody>
<tr>
<td style="padding:0.75pt">
<p>Hi,<u></u><u></u></p>
<p>When I checked latest FRR code all Vxlan updates[type2, type5] are going to Linux kernel. It means VTEP information is not giving to Zfpm from zebra-rib, like zebra_vxlan_remote_vtep_add, zebra_vxlan_remote_vtep_del, zebra_vxlan_remote_macip_add, zebra_vxlan_remote_macip_del.<u></u><u></u></p>
<h1>The code flow<u></u><u></u></h1>
<p>zebra_vxlan_remote_vtep_add<br>
 |zvni_vtep_install<br>
   |kernel_add_vtep<u></u><u></u></p>
<p>Could you please let me know whether my understanding is correct.<u></u><u></u></p>
<div>
<div>
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-js-repo-pjax-container">
<div>
<div>
<div>
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-show_issue">
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-discussion_bucket">
<div>
<div>
<div>
<div>
<div id="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113gmail-m_4047988881368706510gmail-issuecomment-460904039">
<div>
<div>
<table class="gmail-m_7101872061973240490gmail-m_-3164260752060585444gmail-m_-9023169642834048113MsoNormalTable" border="0" cellpadding="0">
<tbody>
<tr>
<td style="padding:0.75pt">
<p>For this to work whether I can add "route_node" to rib_queue. Will it solve the issue. Could you please provide your inputs.<u></u><u></u></p>
<p>Thanks,<u></u><u></u></p>
<p>Srinivas<u></u><u></u></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><br>
<br>
<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@lists.frrouting.org" target="_blank">dev@lists.frrouting.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.frrouting.org_listinfo_dev&d=DwMFaQ&c=V9IgWpI5PvzTw83UyHGVSoW3Uc1MFWe5J8PTfkrzVSo&r=yetdj-aXQpuqTCJGs-93hOpK3740MIRXowfUNLByeos&m=WFEc2yCNjgymSPtaWgHv93-39sLEXnE2zh-1IwycCl8&s=W2TAHxF32GfX-ingXKk1Tq4wW_IU1HseMDRP7DXbjTo&e=" target="_blank">https://lists.frrouting.org/listinfo/dev</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>

_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@lists.frrouting.org" target="_blank">dev@lists.frrouting.org</a><br>
<a href="https://lists.frrouting.org/listinfo/dev" rel="noreferrer" target="_blank">https://lists.frrouting.org/listinfo/dev</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>