hi, I am trying to re-write IP header in pyswitch using the following code below
/* obtain ip header and packet for the incoming packet*. if packet.type == ethernet.IP_TYPE: iph = packet.find('ipv4') /* if there is a incoming packet in port 1, rewrite the header to have destination ip address to "X.X.X.X" */ if(inport ==1 ): iph.dstip = convert_to_ipaddr("X.X.X.X") replypkt =ethernet() replypkt.set_payload(iph) replypkt.type = ethernet.IP_TYPE replypkt.src = octstr_to_array("00:00:00:00:00:0b") replypkt.dst = octstr_to_array("00:00:00:00:00:0d") outport=3 inst.send_openflow_packet(dpid,replypkt.tostring(),outport) print "Information in the outgoing packet" ip_packet = replypkt.find('ipv4') print ip_packet print ip_packet.srcip print ip_packet.dstip I extract the ip, change the dstip in ip header to X.X.X.X. A ethernet packet is created which will carry this IP in its payload. I try to perform a simple TCP connection. Using wireshark I am able to see a TCP syn packet arriving at port 3. A host whose IP is X.X.X.X attached to port 3 with ethernet address "00:00:00:00:00:0d" is also able to receive it. I am able to observe this using tcpdump. But the host on port 3 is not generating a syn +ack packet in response to this syn. Am I missing something?
_______________________________________________ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev