<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hy…<div><br></div><div>The links were useful but still I am getting this same buffer error.. I tried to change buffer id to 0XFFF…</div><div><br></div><div>but no luck </div><div><br></div><div>in my controller I am creating separate object for every switch … I know this error might have some reason for this.. but now I cannot change my initial logic</div><div><br></div><div>so any ideas to resolve this error… ??</div><div><br></div><div>Thanks</div><div><br></div><div>MuhammAd</div><div><br></div><div><div><div>On Nov 13, 2013, at 3:15 PM, Amer <<a href="mailto:amer7777@hotmail.com">amer7777@hotmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div dir="auto"><div>Hello,</div><div><br></div><div>You can use:</div><div>1. Broadcast something as following</div><div> If match.dl_type = packet.ARP :</div><div> match.src=Packet.src</div><div> match.dst=packet.dst</div><div> action = FLOOD</div><div><br></div><div>2. Set the ARP in each for each hosts using new version of mininet</div><div>check this post in mininet archive</div><div><span style="font-family: '.HelveticaNeueUI'; font-size: 15px; line-height: 19px; white-space: nowrap; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); -webkit-text-size-adjust: none; "><a href="https://mailman.stanford.edu/pipermail/mininet-discuss/2013-October/003258.html">https://mailman.stanford.edu/pipermail/mininet-discuss/2013-October/003258.html</a></span></div><div><span style="font-family: '.HelveticaNeueUI'; font-size: 15px; line-height: 19px; white-space: nowrap; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); -webkit-text-size-adjust: none; "><br></span></div><div><br></div><div>3. Read MAC addresses from a file</div><div><br></div><div><span style="font-family: '.HelveticaNeueUI'; font-size: 15px; line-height: 19px; white-space: nowrap; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); -webkit-text-size-adjust: none; "><a href="http://pieknywidok.blogspot.com/2012/08/arp-and-ping-in-pox-building-pox-based.html?m=1">http://pieknywidok.blogspot.com/2012/08/arp-and-ping-in-pox-building-pox-based.html?m=1</a></span></div><div><br></div><div>4. Learn ARP/MAC address</div><div>this how to learn MAC and can be used to respond to ARP if coupled with previous code </div><div><br></div><div><span style="font-family: '.HelveticaNeueUI'; font-size: 15px; line-height: 19px; white-space: nowrap; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); -webkit-text-size-adjust: none; "><a href="http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/2013-November/001190.html">http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/2013-November/001190.html</a></span><br><br>I hope this is helpful</div><div><br></div><div>Thanks regards,</div><div>Amer<br>Sent from my iPhone</div><div><br>On ١٣/١١/٢٠١٣, at ١١:١٣ م, Muhammad Furqan Gagan <<a href="mailto:furqan.gagan@gmail.com">furqan.gagan@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252">After implementing my this ARP code in my controller I am recieving this error:<div><br></div><div><span style="background-color: rgb(255, 255, 255);"><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap;">ERROR:openflow.of_01:[00-00-00-00-00-03 4] OpenFlow Error:
[00-00-00-00-00-03 4] Error: header:
[00-00-00-00-00-03 4] Error: version: 1
[00-00-00-00-00-03 4] Error: type: 1 (OFPT_ERROR)
[00-00-00-00-00-03 4] Error: length: 76
[00-00-00-00-00-03 4] Error: xid: 117
[00-00-00-00-00-03 4] Error: type: OFPET_BAD_REQUEST (1)
[00-00-00-00-00-03 4] Error: code: OFPBRC_BUFFER_EMPTY (7)
[00-00-00-00-00-03 4] Error: datalen: 64
[00-00-00-00-00-03 4] Error: 0000: 01 0e 00 58 00 00 00 75 00 00 00 00 00 03 00 00 ...X...u........
[00-00-00-00-00-03 4] Error: 0010: 00 00 00 02 00 00 00 00 00 01 ff ff 00 00 08 06 ................
[00-00-00-00-00-03 4] Error: 0020: 00 01 00 00 0a 00 00 02 0a 00 00 01 00 00 00 00 ................
[00-00-00-00-00-03 4] Error: 0030: 00 00 00 00 00 00 00 00 00 00 00 0a 00 1e 80 00 …………….</span></font></span></div><div><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap; background-color: rgb(255, 255, 255);"><br></span></font></div><div><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap; background-color: rgb(255, 255, 255);">Any ideas how to overcome?</span></font></div><div><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap; background-color: rgb(255, 255, 255);"><br></span></font></div><div><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap; background-color: rgb(255, 255, 255);">Thanks</span></font></div><div><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap; background-color: rgb(255, 255, 255);"><br></span></font></div><div><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap; background-color: rgb(255, 255, 255);">Muhammad</span></font></div><div><font color="#333333" face="lucida grande, tahoma, verdana, arial, sans-serif" size="2"><span style="line-height: 17px; white-space: pre-wrap; background-color: rgb(255, 255, 255);"><br></span></font><div><div>On Nov 13, 2013, at 1:03 PM, Muhammad Furqan Gagan <<a href="mailto:furqan.gagan@gmail.com">furqan.gagan@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I have implemented this code to handle ARP.. is it ok ? I am not sure about that.. need your comments please<div><br></div><div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> a= packet.find('arp')</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a.prototype == arp.PROTO_TYPE_IP:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a.hwtype == arp.HW_TYPE_ETHERNET:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a.protosrc != 0:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a.protosrc in arp_tale:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a.hwsrc == True:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> Mac = EthAddr(a.hwsrc)</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> arp_table[a.protosrc] = Mac:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"><br></div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> </div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a.opcode == arp.REQUEST:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> # Maybe we can answer</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"><br></div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> if a.protodst in arp_table:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r = arp()</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.hwtype = a.hwtype</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.prototype = a.prototype</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.hwlen = a.hwlen</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.protolen = a.protolen</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.opcode = arp.REPLY</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.hwdst = a.hwsrc</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.protodst = a.protosrc</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.protosrc = a.protodst</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> Mac = arp_table[a.protodst]</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> </div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> Mac = _dpid_to_mac(dpid)</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> r.hwsrc = Mac</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> e = ethernet(type=packet.type, src=_dpid_to_mac(dpid),</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> dst=a.hwsrc)</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> e.payload = r</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> log.info("%s answering ARP for %s" % (dpid_to_str(dpid),</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> str(r.protosrc)))</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> msg = of.ofp_packet_out()</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> msg.data = e.pack()</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> msg.actions.append(of.ofp_action_output(port =</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> of.OFPP_IN_PORT))</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> msg.in_port = inport</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> event.connection.send(msg)</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> </div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> else:</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> msg = of.ofp_packet_out()</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> msg.actions.append(of.ofp_action_output(port = of.OFPP_FLOOD))</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> msg.data = event.ofp</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"></div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"> event.connection.send(msg.pack())</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"><br></div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;">Thanks</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"><br></div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;">Muhammad</div><div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;"><br></div><div><div><div>On Nov 13, 2013, at 12:56 PM, Murphy McCauley <<a href="mailto:murphy.mccauley@gmail.com">murphy.mccauley@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Durga is spot on, but I'll throw in another couple things you might look at:<div>forwarding.l3_learning handles ARP</div><div>proto.arp_helper attempts to make it easier to work with ARP</div><div><br></div><div>(Oh, and misc.arp_responder has moved to proto.arp_responder in newer versions.)</div><div><br></div><div>-- Murphy</div><div><br><div><div>On Nov 13, 2013, at 2:06 AM, durga <<a href="mailto:c.vijaya.durga@gmail.com">c.vijaya.durga@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small;color:rgb(153,51,0)"><br></div><div class="gmail_default"><font face="courier new, monospace" color="#990000">hello,</font></div>
<div class="gmail_default"><font face="courier new, monospace" color="#990000">Seems pox supports packet type as arp, can be found here (<span class="" style="font-weight:bold;line-height:25px"><span><a href="https://github.com/brownbytes/pox" style="text-decoration:none"><span>pox</span></a></span></span><span class="" style="line-height:25px"> / </span><span style="line-height:25px"><a href="https://github.com/brownbytes/pox/tree/betta/pox" style="text-decoration:none"><span>pox</span></a></span><span class="" style="line-height:25px"> / </span><span style="line-height:25px"><a href="https://github.com/brownbytes/pox/tree/betta/pox/lib" style="text-decoration:none"><span>lib</span></a></span><span class="" style="line-height:25px"> / </span><span style="line-height:25px"><a href="https://github.com/brownbytes/pox/tree/betta/pox/lib/packet" style="text-decoration:none"><span>packet</span></a></span><span class="" style="line-height:25px"> / </span><strong class="" style="line-height:25px">arp.py</strong><span style="line-height:25px"> ), as well as may be you can get some help by refering to the below example.</span></font></div>
<div class="gmail_default"><font face="courier new, monospace" color="#990000"><span style="line-height:18px"> </span><span style="line-height:18px"></span><div class="" style="margin:0px;display:inline-block"><span class="" style="font-weight:bold"><span><a href="https://github.com/brownbytes/pox" style="text-decoration:none">pox</a></span></span><span class=""> / </span><span><a href="https://github.com/brownbytes/pox/tree/betta/pox" style="text-decoration:none">pox</a></span><span class=""> / </span><span><a href="https://github.com/brownbytes/pox/tree/betta/pox/misc" style="text-decoration:none">misc</a></span><span class=""> / </span><strong class="">arp_responder.py</strong></div>
</font><br></div></div><div class="gmail_extra"><br clear="all"><div>Cheers!<br>Durga<br><br></div>
<br><br><div class="gmail_quote">On Wed, Nov 13, 2013 at 8:35 PM, Muhammad Furqan Gagan <span dir="ltr"><<a href="mailto:furqan.gagan@gmail.com" target="_blank">furqan.gagan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
Any one know how to handle ARP request in controller?<br>
<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888"><br>
Muhammad<br>
</font></span></blockquote></div><br></div>
</blockquote></div><br></div></div></blockquote></div><br></div></div></div></blockquote></div><br></div></blockquote></div></blockquote></div><br></div></body></html>