Dear Mr. Iwase ,
I hope you're fine and well , 

Thank you very much for your reply.

1-  I changed the "miss_send_len" from 256 to " ofproto.OFPCML_NO_BUFFER " 
2-  when I tested the code I got the error :  " AttributeError: 'dhcp' object 
has no attribute '_MIN_LEN' " , full error log in attached file .
3-  after doing some search in Google I found this URL have same problem :
        https://sourceforge.net/p/ryu/mailman/message/34418103/
4-  I went to lib/dhcp.py  and I added the below command :
        _MIN_LIB = 256 
5-  I did the test again , and everything goes fine , the application is work 
and mininet host get IP address .

 I have some misunderstanding for some point , I hope if you have time you can 
explain it  :
A- why the switch do not send all the packet the controller , why switch  
truncated the packet ?
     If the answer for fragmentation process ok , so why the controller do not 
reassembly the packet before process it?
B-  how you know the packet is truncated ? I am just send to you the capture 
from controller side via Wireshark and the print for packet_in from controller .
      Did you compare between them ?
C- in the last email you send to me one capture "pcap file" , when I open it I 
found red color on OpenFlow 1.3 , and when I open OpenFlow 1.3 I found red 
color on data , I added it in attached file. 
      I see the total length of IPv4 is 328 and In error say " total length 
exceed packet length (242 bytes ) that mean all the packet length is 242 ?

Finally , I would like to say thank you very much for your support and your 
time. 
Merry Christmas and Happy New Year.


Best Regards
Munther Numan
Master Student
Faculty of Engineering
University Putra Malaysia

-----Original Message-----
From: Iwase Yusuke [mailto:iwase.yusu...@gmail.com] 
Sent: Thursday, December 22, 2016 4:25 PM
To: munpro...@gmail.com
Cc: olivier.des...@gmail.com; ryu-devel@lists.sourceforge.net
Subject: Re: [Ryu-devel] bug in parsing dhcp packet

Hi,

Thank you for sending captured packets and your snip.

I exported a single Packet-In message with the packet you pointed.
The sent packet was truncated.

Also, I found that the max packet size sent to controller is set to 256 bytes 
at the following:
---
req = parser.OFPSetConfig(datapath, ofproto_v1_3.OFPC_FRAG_REASM, 256)
---
http://ryu.readthedocs.io/en/latest/ofproto_v1_3_ref.html#ryu.ofproto.ofproto_v1_3_parser.OFPSetConfig

Could you try with "miss_send_len=ofproto.OFPCML_NO_BUFFER"?
---
req = parser.OFPSetConfig(datapath, ofproto_v1_3.OFPC_FRAG_REASM,
                          ofproto.OFPCML_NO_BUFFER)
---
This means that the switch should send all packet data to controller without 
truncating when no flow matched.

Thanks,
Iwase


On 2016年12月22日 14:28, Munther Numan wrote:
> Dear Mr. Iwase,
> I hope you're fine and well ,
> 
> Thank you very much for your replay .
> 
> 1- I am using Open Vswitch.
> 2-Thank you very much for your explain about the flags ,  Actually I am not 
> know that before , I am just work with SDN and Ryu from some months ago , I 
> Just follow the below URL have some my problem : 
> https://sourceforge.net/p/ryu/mailman/message/32984827/
> 3- I used " OFPC_FRAG_REASM" in OpenFlow set config and not anything happen .
> 4- I capture the traffic from controller side and I attached the capture in 
> the attached file.
> 5- from the capture I see the control received whole the packet with 
> [OFPC_FRAG_NORMAL and OFPC_FRAG_REASM ]
> 6- I am also print the packet received in controller.
> 7- In attached file you can find the capture packet from controller side , 
> packet in function , switch feature function .
> 
> 
> Thank you .
> Best Regards.
> 
> Munther Numan
> Master Student
> Faculty of Engineering
> University Putra Malaysia
> 
> -----Original Message-----
> From: Iwase Yusuke [mailto:iwase.yusu...@gmail.com]
> Sent: Wednesday, December 21, 2016 4:01 PM
> To: munpro...@gmail.com
> Cc: olivier.des...@gmail.com; ryu-devel@lists.sourceforge.net
> Subject: Re: [Ryu-devel] bug in parsing dhcp packet
> 
> Hi,
> 
> 
> On 2016年12月20日 19:56, Munther Numan wrote:
>> Dear Mr. Iwase
>> I hope you're fine and well ,
>>
>> Thank you very much for your replay .
>>
>> 1- I capture these DHCP packet from switch , Actually I run Wireshark  in a 
>> switch and I select switch-eth1 the source of my captures.
>> 2- I am not sure if the data send by output function or not , I am using the 
>> below codes for Event OFP Switch Features :
>>      
>>      @set_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER(
>>      def switch_features_handler(self, ev):
>>      datapath = ev.msg.datapath
>>      ofproto = datapath.ofproto
>>      parser = datapath.ofproto_parser
>>      match = parser.OFPMatch()
>>      actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER, 
>> ofproto.OFPCML_NO_BUFFER)]
>>      self.add_flow(datapath, 0, match, actions)
>>      req = parser.OFPSetConfig(datapath, ofproto_v1_3.OFPC_FRAG_NORMAL, 256)
>>      datapath.send_msg(req)
>>
>> and when I search in Google I see same issue happened with someone and 
>> others people told to him to add below line in the end of E Event OFP Switch 
>> Features :
>>      req = parser.OFPSetConfig(datapath, ofproto_v1_3.OFPC_FRAG_NORMAL, 256(
>>      datapath.send_msg(req)
>>
>> and these two lines not allow to truncated the request .
> 
> Hummm...
> Fist, which switch are you using? Open vSwitch? Or else?
> IIRC, OVS will handle fragmented frames automatically and you don't need to 
> send OFPSetConfig message explicitly, I guess.
> 
> And, OFPC_FRAG_NORMAL does not mean "Not allow to be truncated", but just "Do 
> not special handling for fragments".
> 
> OpenFlow Spec 1.3.5 "7.3.2 Switch Configuration" says:
> ---
> enum ofp_config_flags {
>   /* Handling of IP fragments. */
>   OFPC_FRAG_NORMAL = 0, /* No special handling for fragments. */
>   OFPC_FRAG_DROP = 1 << 0, /* Drop fragments. */
>   OFPC_FRAG_REASM = 1 << 1, /* Reassemble (only if OFPC_IP_REASM set). */
>   OFPC_FRAG_MASK = 3, /* Bitmask of flags dealing with frag. */ };
> ---
> 
> If you want your switch to handle fragmented frames, I guess you should send 
> OFPSetConfig message with "OFPC_FRAG_REASM" flag.
> 
> Another approach:
> Could you capture packets on your controller side?
> Wireshark can analyze the packet data contained in Packet-In messages, and 
> you can check whether the sent packet date is truncated or not.
> 
> Thanks,
> Iwase
> 
> 
>>
>>
>> Best Regards
>> Munther Numan
>> Master Student
>> Faculty of Engineering
>> University Putra Malaysia
>>
>> -----Original Message-----
>> From: Iwase Yusuke [mailto:iwase.yusu...@gmail.com]
>> Sent: Tuesday, December 20, 2016 10:38 AM
>> To: munpro...@gmail.com
>> Cc: ryu-devel@lists.sourceforge.net; olivier.des...@gmail.com
>> Subject: Re: [Ryu-devel] bug in parsing dhcp packet
>>
>> Hi,
>>
>> First, could you confirm on which point you get captures?
>> On your host? Or on your switch?
>>
>> If you get these DHCP packets were captured on your host or switch, please 
>> confirm that the sent packet data to the controller is NOT truncated by 
>> "output" action in your flows.
>> If "max_len" is other than "OFPCML_NO_BUFFER", the packet data sent to the 
>> controller might be truncated by switches.
>>   
>> http://ryu.readthedocs.io/en/latest/ofproto_v1_3_ref.html#ryu.ofproto.
>> ofproto_v1_3_parser.OFPActionOutput
>>
>> FYI, on my environment, DHCP packets in your pcapng file could be decoded.
>>
>> # Note: I converted pcapng file into pcap file for convenience $ 
>> python print_pcap_data.py 1-dhcp_discover_packet.pcap
>> *** 1, 1481953420.361685
>> ethernet(dst='ff:ff:ff:ff:ff:ff',ethertype=2048,src='00:00:00:00:00:0
>> 1
>> '),
>> ipv4(csum=14742,dst='255.255.255.255',flags=0,header_length=5,identif
>> i 
>> cation=0,offset=0,option=None,proto=17,src='0.0.0.0',tos=16,total_len
>> g
>> th=328,ttl=128,version=4),
>> udp(csum=34166,dst_port=67,src_port=68,total_length=308),
>> dhcp(boot_file=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \ 
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',chaddr='00:00:00:00:00:01',c
>> i 
>> addr='0.0.0.0',flags=0,giaddr='0.0.0.0',hlen=6,hops=0,htype=1,op=1,op
>> t 
>> ions=options(magic_cookie='99.130.83.99',option_list=[option(length=1
>> , tag=53,value=b'\x01'), option(length=8,tag=12,value=b'sdnhubvm'),
>> option(length=13,tag=55,value=b'\x01\x1c\x02\x03\x0f\x06w\x0c,/\x1ay*'
>> )],options_len=64),secs=0,siaddr='0.0.0.0',sname='\x00\x00\x00\x00\x0
>> 0 
>> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
>> x
>> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
>> 0 
>> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
>> x
>> 00\x00\x00\x00\x00\x00\x00',xid=559339326,yiaddr='0.0.0.0')
>>
>> *** 2, 1481953470.988880
>> ethernet(dst='ff:ff:ff:ff:ff:ff',ethertype=2048,src='00:00:00:00:00:0
>> 1
>> '),
>> ipv4(csum=14742,dst='255.255.255.255',flags=0,header_length=5,identif
>> i 
>> cation=0,offset=0,option=None,proto=17,src='0.0.0.0',tos=16,total_len
>> g
>> th=328,ttl=128,version=4),
>> udp(csum=52048,dst_port=67,src_port=68,total_length=308),
>> dhcp(boot_file=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \ 
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',chaddr='00:00:00:00:00:01',c
>> i 
>> addr='0.0.0.0',flags=0,giaddr='0.0.0.0',hlen=6,hops=0,htype=1,op=1,op
>> t 
>> ions=options(magic_cookie='99.130.83.99',option_list=[option(length=1
>> , tag=53,value=b'\x01'), option(length=8,tag=12,value=b'sdnhubvm'),
>> option(length=13,tag=55,value=b'\x01\x1c\x02\x03\x0f\x06w\x0c,/\x1ay*'
>> )],options_len=64),secs=0,siaddr='0.0.0.0',sname='\x00\x00\x00\x00\x0
>> 0 
>> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
>> x
>> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
>> 0 
>> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
>> x
>> 00\x00\x00\x00\x00\x00\x00',xid=2491751989,yiaddr='0.0.0.0')
>>
>> *** 3, 1481953473.204261
>> ethernet(dst='ff:ff:ff:ff:ff:ff',ethertype=2048,src='00:00:00:00:00:0
>> 1
>> '),
>> ipv4(csum=14742,dst='255.255.255.255',flags=0,header_length=5,identif
>> i 
>> cation=0,offset=0,option=None,proto=17,src='0.0.0.0',tos=16,total_len
>> g
>> th=328,ttl=128,version=4),
>> udp(csum=52045,dst_port=67,src_port=68,total_length=308),
>> dhcp(boot_file=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>> 0 
>> 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>> \ 
>> x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',chaddr='00:00:00:00:00:01',c
>> i 
>> addr='0.0.0.0',flags=0,giaddr='0.0.0.0',hlen=6,hops=0,htype=1,op=1,op
>> t 
>> ions=options(magic_cookie='99.130.83.99',option_list=[option(length=1
>> , tag=53,value=b'\x01'), option(length=8,tag=12,value=b'sdnhubvm'),
>> option(length=13,tag=55,value=b'\x01\x1c\x02\x03\x0f\x06w\x0c,/\x1ay*'
>> )],options_len=64),secs=3,siaddr='0.0.0.0',sname='\x00\x00\x00\x00\x0
>> 0 
>> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
>> x
>> 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
>> 0 
>> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
>> x
>> 00\x00\x00\x00\x00\x00\x00',xid=2491751989,yiaddr='0.0.0.0')
>>
>>
>> So I guess Ryu got the truncated packets and failed to decode them...
>>
>>
>> Thanks,
>> Iwase
>>
>>
>> On 2016年12月17日 14:59, Munther Numan wrote:
>>> Dear Mr.Olivier Desnoë
>>>
>>> I hope you're fine and well,
>>>
>>>  
>>>
>>> At first thank you very much for your fast response , actually I am just 
>>> start with Ryu .
>>>
>>>  
>>>
>>> The issue :
>>>
>>> 1-      The host send DHCP discover packet , I capture the packet you can 
>>> find it in the attached of this e-mail.
>>>
>>> 2-      The DHCP discover packet content 4 protocols ( Ethernet , IPv4 , 
>>> UDP , DHCP-discover )  
>>>
>>> 3-      The Ryu controller when received the DHCP discover packet see the 
>>> packet content only 3 protocols ( Ethernet , IPv4 ,UDP ), you can see the 
>>> message received by Ryu controller in attached file of this e-mail.
>>>
>>> 4-      Therefor I cannot parsing the DHCP discover packet and 
>>> simple_dhcp_server is not work.
>>>
>>>  
>>>
>>> I hope my explain for the issue is clear , and I do not why this happen , 
>>> is the issue form controller ? or from me ?
>>>
>>>  
>>>
>>> Thank you very much
>>>
>>>  
>>>
>>> Best Regards
>>>
>>> Munther Numan
>>> Master Student
>>> Faculty of Engineering
>>> University Putra Malaysia
>>>
>>> *From:*Olivier Desnoë [mailto:olivier.des...@gmail.com]
>>> *Sent:* Friday, December 16, 2016 9:23 PM
>>> *To:* Munther Numan; Ryu-devel
>>> *Subject:* Re: [Ryu-devel] bug in parsing dhcp packet
>>>
>>>  
>>>
>>> Have you tried to put some debug prints in the parsing function of dhcp.py?
>>>
>>>  
>>>
>>> Le ven. 16 déc. 2016 à 12:28, Munther Numan <munpro...@gmail.com 
>>> <mailto:munpro...@gmail.com>> a écrit :
>>>
>>>     Dear all , Greeting ..
>>>
>>>      
>>>
>>>     I get error when I run simple dhcp server , I capture the packet in 
>>> wireshark and I see the packet is content 4 protocols ( Ethernet , ipv4 , 
>>> udp , dhcp discover ) but in Ryu framework I see only 3 protocols such as 
>>> below :
>>>
>>>      
>>>
>>>             msg =ev.msg
>>>
>>>             pkt =packet.Packet(msg.data)
>>>
>>>             printpkt.protocols
>>>
>>>             """ outputs:
>>>
>>>             
>>> [ethernet(dst='ff:ff:ff:ff:ff:ff',ethertype=2048,src='a0:36:9f:2d:a7:
>>> f
>>> 9'),
>>>
>>>              
>>> ipv4(csum=14742,dst='255.255.255.255',flags=0,header_length=5,identi
>>> f
>>> i
>>> cation=0,offset=0,
>>>
>>>                   
>>> option=None,proto=17,src='0.0.0.0',tos=16,total_length=328,ttl=128,v
>>> e
>>> r
>>> sion=4),
>>>
>>>              
>>> udp(csum=39669,dst_port=67,src_port=68,total_length=308),
>>>
>>>              
>>> '\x01\x01\x06\x00F\x08\x9f\x06\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x
>>> 0
>>> 0
>>> \x00\x00\x00\x00\x00\x00\x00\x00\x00
>>>
>>>               
>>> \x00\xa06\x9f-\xa7\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
>>> 0
>>> 0
>>> \x00\x00\x00\x00\x00\x00\x00\x00\x00
>>>
>>>               
>>> \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>>> \
>>> x
>>> 00\x00\x00\x00\x00\x00\x00\x00\x00
>>>
>>>               \x00\x00\x00\x00\x00\x04\n\x00\xaa\x00\x00\x00\x00']
>>>
>>>             """
>>>
>>>     I know this packet is dhcp discover becoues as you see in udp src_port 
>>> is 68 and dst_port is 67 but how can I parsing this packet when I write the 
>>> code below  I did nt get any thing :
>>>
>>>      
>>>
>>>                     dhcpPacket = pkt.get_protocol(dhcp.dhcp)
>>>
>>>     print dhcppacket
>>>
>>>      
>>>
>>>     ''' output :
>>>
>>>            None
>>>
>>>     '''
>>>
>>>      
>>>
>>>     Please if you can help me to solve this issue .
>>>
>>>      
>>>
>>>      
>>>
>>>     Best Regards
>>>
>>>     Munther Numan
>>>     Master Student
>>>     Faculty of Engineering
>>>     University Putra Malaysia
>>>
>>>      
>>>
>>>      
>>>
>>>      
>>>
>>>     
>>> ------------------------------------------------------------------------------
>>>     Check out the vibrant tech community on one of the world's most
>>>     engaging tech sites, SlashDot.org! 
>>> http://sdm.link/slashdot_______________________________________________
>>>     Ryu-devel mailing list
>>>     Ryu-devel@lists.sourceforge.net <mailto:Ryu-devel@lists.sourceforge.net>
>>>     https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>>
>>>
>>>
>>> --------------------------------------------------------------------
>>> -
>>> -
>>> -------- Check out the vibrant tech community on one of the world's 
>>> most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>>>
>>>
>>>
>>> _______________________________________________
>>> Ryu-devel mailing list
>>> Ryu-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>>
--> new packet in 
[ethernet(dst='ff:ff:ff:ff:ff:ff',ethertype=2048,src='00:00:00:00:00:01'), 
ipv4(csum=14742,dst='255.255.255.255',flags=0,header_length=5,identification=0,offset=0,option=None,proto=17,src='0.0.0.0',tos=16,total_length=328,ttl=128,version=4),
 udp(csum=24523,dst_port=67,src_port=68,total_length=308), 
'\x01\x01\x06\x00\xb8\x1e\xb9,\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00c\x82Sc5\x01\x032\x04\xc0\xa8\x01\xfe\x0c\x08sdnhubvm7\r\x01\x1c\x02\x03\x0f\x06w\x0c,/\x1ay*\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00']
--> received udp & src port 68
--> DHCP Packet is : 
dhcp(boot_file='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',chaddr='00:00:00:00:00:01',ciaddr='0.0.0.0',flags=0,giaddr='0.0.0.0',hlen=6,hops=0,htype=1,op=1,options=options(magic_cookie='99.130.83.99',option_list=[option(length=1,tag=53,value='\x03'),
 option(length=4,tag=50,value='\xc0\xa8\x01\xfe'), 
option(length=8,tag=12,value='sdnhubvm'), 
option(length=13,tag=55,value='\x01\x1c\x02\x03\x0f\x06w\x0c,/\x1ay*')],options_len=64),secs=0,siaddr='0.0.0.0',sname='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',xid=3089021228,yiaddr='0.0.0.0')
hub: uncaught exception: Traceback (most recent call last):
  File "/home/ubuntu/ryu/ryu/lib/hub.py", line 52, in _launch
    func(*args, **kwargs)
  File "/home/ubuntu/ryu/ryu/base/app_manager.py", line 275, in _event_loop
    handler(ev)
  File 
"/home/ubuntu/ryu/ryu/app/unknow_simple_dhcp_server/simple_dhcp_server-4.py", 
line 97, in _packet_in_handler
    if dhcpPacket:
  File "/home/ubuntu/ryu/ryu/lib/packet/packet_base.py", line 46, in __len__
    return self._MIN_LEN
AttributeError: 'dhcp' object has no attribute '_MIN_LEN'

Attachment: Re Ryu-devel bug in parsing dhcp packet_07_atta_1.pcap
Description: Binary data

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/intel
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to