I am currently using nox and openvswitch in order to write a simple dhcp plugin for nox. I am trying to generate dhcp packets on the controller and push them out throught the openvswitch to the network. the packet I send is (using -V option on tshark):
Frame 1 (372 bytes on wire, 372 bytes captured) Frame Number: 1 Frame Length: 372 bytes Capture Length: 372 bytes [Frame is marked: False] [Protocols in frame: eth:ip:tcp:of:eth:ip:udp:bootp] Ethernet II, Src: 00:00:00_00:00:00 (00:00:00:00:00:00), Dst: 00:00:00_00:00:00 (00:00:00:00:00:00) Destination: 00:00:00_00:00:00 (00:00:00:00:00:00) Address: 00:00:00_00:00:00 (00:00:00:00:00:00) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Source: 00:00:00_00:00:00 (00:00:00:00:00:00) Address: 00:00:00_00:00:00 (00:00:00:00:00:00) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol, Src: 127.0.0.1 (127.0.0.1), Dst: 127.0.0.1 (127.0.0.1) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 358 Identification: 0x4c06 (19462) Flags: 0x02 (Don't Fragment) 0.. = Reserved bit: Not Set .1. = Don't fragment: Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 64 Protocol: TCP (0x06) Header checksum: 0xef89 [correct] [Good: True] [Bad : False] Source: 127.0.0.1 (127.0.0.1) Destination: 127.0.0.1 (127.0.0.1) Transmission Control Protocol, Src Port: 6633 (6633), Dst Port: 35686 (35686), Seq: 1, Ack: 1, Len: 306 Source port: 6633 (6633) Destination port: 35686 (35686) [Stream index: 0] Sequence number: 1 (relative sequence number) [Next sequence number: 307 (relative sequence number)] Acknowledgement number: 1 (relative ack number) Header length: 32 bytes Flags: 0x18 (PSH, ACK) 0... .... = Congestion Window Reduced (CWR): Not set .0.. .... = ECN-Echo: Not set ..0. .... = Urgent: Not set ...1 .... = Acknowledgement: Set .... 1... = Push: Set .... .0.. = Reset: Not set .... ..0. = Syn: Not set .... ...0 = Fin: Not set Window size: 1540 Checksum: 0xff5a [validation disabled] [Good Checksum: False] [Bad Checksum: False] Options: (12 bytes) NOP NOP Timestamps: TSval 9608020, TSecr 9608020 [SEQ/ACK analysis] [Number of bytes in flight: 306] [PDU Size: 306] OpenFlow Protocol Header Version: 0x01 Type: Packet Out (CSM) (13) Length: 306 Transaction ID: 0 Packet Out Buffer ID: None Frame Recv Port: 1 Size of action array in bytes: 8 Output Action(s) Action Type: Output to switch port (0) Len: 8 Output port: 1 Max Bytes to Send: 0 # of Actions: 1 Frame Data: 080027D6A219080027EE1D9F08004500010C000000008011... Ethernet II, Src: CadmusCo_ee:1d:9f (08:00:27:ee:1d:9f), Dst: CadmusCo_d6:a2:19 (08:00:27:d6:a2:19) Destination: CadmusCo_d6:a2:19 (08:00:27:d6:a2:19) Address: CadmusCo_d6:a2:19 (08:00:27:d6:a2:19) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Source: CadmusCo_ee:1d:9f (08:00:27:ee:1d:9f) Address: CadmusCo_ee:1d:9f (08:00:27:ee:1d:9f) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) Internet Protocol, Src: 10.2.0.1 (10.2.0.1), Dst: 255.255.255.255 (255.255.255.255) Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 268 Identification: 0x0000 (0) Flags: 0x00 0.. = Reserved bit: Not Set .0. = Don't fragment: Not Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 128 Protocol: UDP (0x11) Header checksum: 0x2fdf [correct] [Good: True] [Bad : False] Source: 10.2.0.1 (10.2.0.1) Destination: 255.255.255.255 (255.255.255.255) User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68) Source port: bootps (67) Destination port: bootpc (68) Length: 248 Checksum: 0x0000 (none) Good Checksum: False Bad Checksum: False Bootstrap Protocol Message type: Boot Reply (2) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0xdeb10011 Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 10.2.0.2 (10.2.0.2) Next server IP address: 10.2.0.1 (10.2.0.1) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: CadmusCo_d6:a2:19 (08:00:27:d6:a2:19) Client hardware address padding: 00000000000000000000 Server host name not given Boot file name not given Bootp vendor specific options The packet thought contained in the openflow packet_out packet, is never seen going out in any of the interfaces (I use tcpdump to monitor the relevant interfaces). My questions are the following: 1) Is packet_out supported by openvswitch? 2) Where would I see a message in case the packet I send is malformed? 3) Is there maybe something wrong with the packet I send? thanks in advance for any help provided. -- Charalampos Rotsos PhD student The University of Cambridge Computer Laboratory William Gates Building JJ Thomson Avenue Cambridge CB3 0FD Phone: +44-(0) 1223 767032 Email: cr...@cl.cam.ac.uk _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org