Hey Everyone, As I'm trying to implement a COntroller that does ProxyARP within a topology with different VLANs I wonder how to correctly generate a ARP_Reply Frame with VLAN Header, as the "next" and "payload" variables in the corresponding POX modules confuse me a bit tbh.
This is my code so far: packet = packetData log.debug("HANDLING ARP") log.debug("INCOMING PACKET: " + str(packet)) if packet.type == packet.VLAN_TYPE: packet = packetData.next.next srcMAC = self.ipToMac[str(packet.protodst)] arp_reply = arp() arp_reply.hwsrc = srcMAC arp_reply.hwdst = packet.hwsrc arp_reply.opcode = arp.REPLY arp_reply.protosrc = self.macToIp[str(srcMAC)] arp_reply.protodst = packet.protosrc vlan_pkt = vlan() vlan.payload = arp_reply ether = ethernet() ether.type = ethernet.VLAN_TYPE ether.dst = packet.hwsrc ether.src = srcMAC ether.payload = arp_reply ether.next = vlan_pkt But it does not work due to ERROR:openflow.of_01:[00-00-00-00-00-05 1] OpenFlow Error: [...] [00-00-00-00-00-05 1] Error: type: OFPET_BAD_ACTION (2) [00-00-00-00-00-05 1] Error: code: OFPBAC_BAD_LEN (1) Anyone any idea or suggestion? Would be much appreciated! Regards, Julius [00-00-00-00-00-05 1] Error: datalen: 64