<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic create ARP reply  (OpenFlow   version 1.3 ) in Software Defined Networking</title>
    <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6430896#M1397</link>
    <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to create an ARP reply for OpenFlow 1.3 based on&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://h30499.www3.hp.com/t5/SDN-Development/replying-ARP-message/m-p/6404080#M199" target="_blank"&gt;http://h30499.www3.hp.com/t5/SDN-Development/replying-ARP-message/m-p/6404080#M199&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but does not work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my code is&lt;/P&gt;&lt;P&gt;//------------------------------&lt;/P&gt;&lt;P&gt;cs.addPacketListener(pl2, DIRECTOR, ALTITUDE2, EnumSet.of(ARP));&lt;/P&gt;&lt;P&gt;//----------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;STRONG&gt;private&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; PacketListener2 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;extends&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; SequencedPacketAdapter {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#646464" size="2"&gt;&lt;FONT color="#646464" size="2"&gt;@Override&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;boolean&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; event(MessageContext context) {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;Arp arpPkt = context.decodedPacket().get(&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;ARP&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; (arpPkt.opCode().equals(OpCode.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;REQ&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;)) {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; (is_a_rule(arpPkt.senderIpAddr(), arpPkt.senderMacAddr(), &lt;/FONT&gt;arpPkt.targetIpAddr(), context.getPacketIn()&lt;/P&gt;&lt;P align="left"&gt;.getInPort(), context.srcEvent().dpid())) {&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;true&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;}&lt;/P&gt;&lt;P align="left"&gt;}&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;false&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;STRONG&gt;private&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;boolean&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; is_a_rule(IpAddress senderIpAddr,&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;MacAddress senderMacAddr, IpAddress targetIpAddr,&lt;/P&gt;&lt;P&gt;BigPortNumber inPort, DataPathId dpid) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;Arp arpgen = build_arp(key);&lt;/P&gt;&lt;P align="left"&gt;OfmMutablePacketOut packetout = (OfmMutablePacketOut) MessageFactory&lt;FONT size="2"&gt;.&lt;EM&gt;create&lt;/EM&gt;(ProtocolVersion.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;V_1_3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;, &lt;/FONT&gt;&lt;FONT size="2"&gt;MessageType.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;PACKET_OUT&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;packetout.inPort(inPort);&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;packetout.bufferId(BufferId.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;NO_BUFFER&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;packetout.data(arpgen.toString().getBytes());&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;//packetout.addAction(act)&amp;nbsp; &lt;FONT color="#ff0000"&gt;no ofv1.3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;try&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;cs&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;.send(packetout.toImmutable(), dpid);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;log&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;.info(&lt;/FONT&gt;&lt;FONT color="#2a00ff" size="2"&gt;&lt;FONT color="#2a00ff" size="2"&gt;"arp packet was sent"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;+ dpid.toString() + &lt;/FONT&gt;&lt;FONT color="#2a00ff" size="2"&gt;&lt;FONT color="#2a00ff" size="2"&gt;"de "&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;+ arpgen.targetIpAddr().toString());&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;} &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; (OpenflowException e) {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;// &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f9fbf" size="2"&gt;&lt;FONT color="#7f9fbf" size="2"&gt;TODO&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color="#3f7f5f" size="2"&gt;&lt;FONT color="#3f7f5f" size="2"&gt; Auto-generated catch block&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;e.printStackTrace();&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;true&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the code does not generate any errors and on the log info appears "" arp packet was sent "" ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks for your help&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 31 Mar 2014 05:41:29 GMT</pubDate>
    <dc:creator>armandom</dc:creator>
    <dc:date>2014-03-31T05:41:29Z</dc:date>
    <item>
      <title>create ARP reply  (OpenFlow   version 1.3 )</title>
      <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6430896#M1397</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to create an ARP reply for OpenFlow 1.3 based on&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://h30499.www3.hp.com/t5/SDN-Development/replying-ARP-message/m-p/6404080#M199" target="_blank"&gt;http://h30499.www3.hp.com/t5/SDN-Development/replying-ARP-message/m-p/6404080#M199&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but does not work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my code is&lt;/P&gt;&lt;P&gt;//------------------------------&lt;/P&gt;&lt;P&gt;cs.addPacketListener(pl2, DIRECTOR, ALTITUDE2, EnumSet.of(ARP));&lt;/P&gt;&lt;P&gt;//----------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;STRONG&gt;private&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; PacketListener2 &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;extends&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; SequencedPacketAdapter {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#646464" size="2"&gt;&lt;FONT color="#646464" size="2"&gt;@Override&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;boolean&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; event(MessageContext context) {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;Arp arpPkt = context.decodedPacket().get(&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;ARP&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; (arpPkt.opCode().equals(OpCode.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;REQ&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;)) {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; (is_a_rule(arpPkt.senderIpAddr(), arpPkt.senderMacAddr(), &lt;/FONT&gt;arpPkt.targetIpAddr(), context.getPacketIn()&lt;/P&gt;&lt;P align="left"&gt;.getInPort(), context.srcEvent().dpid())) {&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;true&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;}&lt;/P&gt;&lt;P align="left"&gt;}&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;false&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;STRONG&gt;private&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;boolean&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; is_a_rule(IpAddress senderIpAddr,&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;MacAddress senderMacAddr, IpAddress targetIpAddr,&lt;/P&gt;&lt;P&gt;BigPortNumber inPort, DataPathId dpid) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;Arp arpgen = build_arp(key);&lt;/P&gt;&lt;P align="left"&gt;OfmMutablePacketOut packetout = (OfmMutablePacketOut) MessageFactory&lt;FONT size="2"&gt;.&lt;EM&gt;create&lt;/EM&gt;(ProtocolVersion.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;V_1_3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;, &lt;/FONT&gt;&lt;FONT size="2"&gt;MessageType.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;PACKET_OUT&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;packetout.inPort(inPort);&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;packetout.bufferId(BufferId.&lt;/FONT&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;NO_BUFFER&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;packetout.data(arpgen.toString().getBytes());&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;//packetout.addAction(act)&amp;nbsp; &lt;FONT color="#ff0000"&gt;no ofv1.3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;try&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;cs&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2"&gt;.send(packetout.toImmutable(), dpid);&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;EM&gt;&lt;FONT color="#0000c0" size="2"&gt;&lt;FONT color="#0000c0" size="2"&gt;log&lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;FONT size="2"&gt;.info(&lt;/FONT&gt;&lt;FONT color="#2a00ff" size="2"&gt;&lt;FONT color="#2a00ff" size="2"&gt;"arp packet was sent"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;+ dpid.toString() + &lt;/FONT&gt;&lt;FONT color="#2a00ff" size="2"&gt;&lt;FONT color="#2a00ff" size="2"&gt;"de "&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;+ arpgen.targetIpAddr().toString());&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;} &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt; (OpenflowException e) {&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;&lt;FONT color="#3f7f5f" size="2"&gt;// &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#7f9fbf" size="2"&gt;&lt;FONT color="#7f9fbf" size="2"&gt;TODO&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color="#3f7f5f" size="2"&gt;&lt;FONT color="#3f7f5f" size="2"&gt; Auto-generated catch block&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;e.printStackTrace();&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color="#7f0055" size="2"&gt;&lt;FONT color="#7f0055" size="2"&gt;true&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT size="2"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the code does not generate any errors and on the log info appears "" arp packet was sent "" ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks for your help&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Mar 2014 05:41:29 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6430896#M1397</guid>
      <dc:creator>armandom</dc:creator>
      <dc:date>2014-03-31T05:41:29Z</dc:date>
    </item>
    <item>
      <title>Re: create ARP reply  (OpenFlow   version 1.3 )</title>
      <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6432592#M1398</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://community.hpe.com/t5/user/viewprofilepage/user-id/1482101"&gt;@armandom&lt;/a&gt; wrote:&lt;BR /&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;packetout.data(arpgen.toString().getBytes());&lt;/FONT&gt;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;The above line is calling the getBytes() method from the String class[1], which doesn't structure the packet in the format&lt;BR /&gt;specified by the protocol[2], so I guess the packet goes out but since the contents are not understood by other devices they discard them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[1] &lt;A href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#getBytes%28%29" target="_blank"&gt;http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#getBytes%28%29&lt;/A&gt;&lt;/P&gt;&lt;P&gt;[2] &lt;A href="http://en.wikipedia.org/wiki/Address_Resolution_Protocol#Packet_structure" target="_blank"&gt;http://en.wikipedia.org/wiki/Address_Resolution_Protocol#Packet_structure&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Mar 2014 21:50:46 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6432592#M1398</guid>
      <dc:creator>sepbot</dc:creator>
      <dc:date>2014-03-31T21:50:46Z</dc:date>
    </item>
    <item>
      <title>Re: create ARP reply  (OpenFlow   version 1.3 )</title>
      <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6438262#M1399</link>
      <description>&lt;P&gt;&lt;SPAN class="login-bold"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;sepbot thank you for your help &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I made the changes you recommended me but did not work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;another idea?&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;thanks&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 06 Apr 2014 00:54:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6438262#M1399</guid>
      <dc:creator>armandom</dc:creator>
      <dc:date>2014-04-06T00:54:00Z</dc:date>
    </item>
    <item>
      <title>Re: create ARP reply  (OpenFlow   version 1.3 )</title>
      <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6447660#M1400</link>
      <description>&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is an&amp;nbsp;ArpPacket class which I've created an ARP packet a&lt;SPAN&gt;nd how to create a PACKET_OUT message:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;***** ARPPacket ******&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;package example;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;import java.nio.ByteBuffer;&lt;BR /&gt;import java.nio.ByteOrder;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;public class ArpPacket {&lt;BR /&gt;private static final int ARP_RESPONSE = 2;&lt;BR /&gt;private static final int HW_TYPE = 1;// ethernet&lt;BR /&gt;private static final int PROTOCOL_TYPE = 0x0800;&lt;BR /&gt;private static final int HW_ADDRESS_LENGHT = 6; // mac&lt;BR /&gt;private static final int PROTOCOL_ADDRESS_LENGTH = 4; // ipv4&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;public static byte[] createArpPacket(String srcIp, String srcMac,&lt;BR /&gt;String dstIp, String dstMac) {&lt;BR /&gt;byte[] sIp = new byte[4];&lt;BR /&gt;byte[] sMac = new byte[6];&lt;BR /&gt;byte[] dIp = new byte[4];&lt;BR /&gt;byte[] dMac = new byte[6];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System.out.println("ArpMessage: srcIp" + srcIp);&lt;BR /&gt;for (int i = 0; i &amp;lt; 4; i++) {&lt;BR /&gt;sIp[i] = (byte) Integer.parseInt(srcIp.split("\\.")[i]);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System.out.println("ArpMessage: srcMac" + srcMac);&lt;BR /&gt;for (int i = 0; i &amp;lt; 6; i++) {&lt;BR /&gt;sMac[i] = (byte) Integer.parseInt(srcMac.split(":")[i], 16);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System.out.println("ArpMessage: dstIp" + dstIp);&lt;BR /&gt;for (int i = 0; i &amp;lt; 4; i++) {&lt;BR /&gt;dIp[i] = (byte) Integer.parseInt(dstIp.split("\\.")[i]);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System.out.println("ArpMessage: dstMac" + dstMac);&lt;BR /&gt;for (int i = 0; i &amp;lt; 6; i++) {&lt;BR /&gt;dMac[i] = (byte) Integer.parseInt(dstMac.split(":")[i], 16);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//TODO: calculate exact packet length&lt;BR /&gt;ByteBuffer buf = ByteBuffer.allocate(28+14);&lt;BR /&gt;buf.clear();&lt;BR /&gt;buf.order(ByteOrder.BIG_ENDIAN);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;buf.put(dMac);&lt;BR /&gt;buf.put(sMac);&lt;BR /&gt;buf.putShort((short) 0x0806);&lt;BR /&gt;buf.putShort((short) HW_TYPE);&lt;BR /&gt;buf.putShort((short) PROTOCOL_TYPE);&lt;BR /&gt;buf.put((byte) HW_ADDRESS_LENGHT);&lt;BR /&gt;buf.put((byte) PROTOCOL_ADDRESS_LENGTH);&lt;BR /&gt;buf.putShort((short) ARP_RESPONSE);&lt;BR /&gt;buf.put(sMac);&lt;BR /&gt;buf.put(sIp);&lt;BR /&gt;buf.put(dMac);&lt;BR /&gt;buf.put(dIp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;return buf.array();&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;******** PACKET_OUT***********&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;OfmMutablePacketOut pOut = (OfmMutablePacketOut) MessageFactory.create(PV, MessageType.PACKET_OUT);&lt;/P&gt;&lt;P&gt;byte[] arpResponse = ArpPacket.createArpPacket(IP_SERVER_VIRTUAL, MAC_SERVER_VIRTUAL,senderIp.toString(), senderMac.toString());&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System.out.println("SENDING TO SWITCH PORT: ["&lt;BR /&gt;+ senderIp.toString() + ":"&lt;BR /&gt;+ s.getPortToHost(senderIp.toString()) + "]");&lt;BR /&gt;System.out.println("#################################");&lt;/P&gt;&lt;P&gt;pOut.bufferId(BUFFER_ID)&lt;BR /&gt;.inPort(Port.CONTROLLER)&lt;BR /&gt;.data(arpResponse)&lt;BR /&gt;.addAction(&lt;BR /&gt;ActionFactory.createAction(PV,&lt;BR /&gt;ActionType.OUTPUT, messageContext&lt;BR /&gt;.getPacketIn().getInPort()));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Apr 2014 20:02:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6447660#M1400</guid>
      <dc:creator>RichieKotzen</dc:creator>
      <dc:date>2014-04-14T20:02:34Z</dc:date>
    </item>
    <item>
      <title>Re: create ARP reply  (OpenFlow   version 1.3 )</title>
      <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6451556#M1401</link>
      <description>&lt;P&gt;HI&amp;nbsp;&amp;nbsp;&amp;nbsp;RichieKotzen&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tested your code in my application but it did not work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you use this code for OpenFlow version 1.3?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;because according to the api. addAction &amp;nbsp;is not used since 1.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://community.hpe.com/t5/image/serverpage/image-id/41710i88DD5D8CF6D84E64/image-size/original?v=mpbl-1&amp;amp;px=-1" align="center" title="Captura de pantalla 2014-04-18 10.28.57.png" border="0" alt="Captura de pantalla 2014-04-18 10.28.57.png" /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Apr 2014 15:37:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6451556#M1401</guid>
      <dc:creator>armandom</dc:creator>
      <dc:date>2014-04-18T15:37:19Z</dc:date>
    </item>
    <item>
      <title>Re: create ARP reply  (OpenFlow   version 1.3 )</title>
      <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6469156#M1402</link>
      <description>&lt;P&gt;Hello armandom,&lt;BR /&gt;&lt;BR /&gt;We are looking into the issue and we will come back.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;HP SDN Team&lt;/P&gt;</description>
      <pubDate>Thu, 08 May 2014 07:03:50 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6469156#M1402</guid>
      <dc:creator>sdnindia</dc:creator>
      <dc:date>2014-05-08T07:03:50Z</dc:date>
    </item>
    <item>
      <title>Re: create ARP reply  (OpenFlow   version 1.3 )</title>
      <link>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6515928#M1403</link>
      <description>&lt;P&gt;Hello armandom,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please find the attached file DeviceHealthManager.java for sample ARP-Proxy App to send Arp-Reply.&lt;/P&gt;&lt;P&gt;Currently ‘PROXY_MAC_ADDRESS’ and ‘ALTITUDE’ of the App are hardcoded.&lt;/P&gt;&lt;P&gt;SDN Controller used :&amp;nbsp; 2.2.5.0016&lt;/P&gt;&lt;P&gt;SDN SDK used&amp;nbsp; : 2.2.5&lt;/P&gt;&lt;P&gt;Hybrid mode of the controller : false&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please let us know if you still face the problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;HP SDN Team&lt;/P&gt;</description>
      <pubDate>Fri, 20 Jun 2014 07:38:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/create-arp-reply-openflow-version-1-3/m-p/6515928#M1403</guid>
      <dc:creator>sdnindia</dc:creator>
      <dc:date>2014-06-20T07:38:34Z</dc:date>
    </item>
  </channel>
</rss>

