Changes between Version 15 and Version 16 of Internal/OpenFlow/VendorTutorial


Ignore:
Timestamp:
Jun 7, 2013, 5:18:34 PM (11 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/VendorTutorial

    v15 v16  
    305305
    306306=== 3.3 Troubleshooting messages ===
    307 When things go wrong, messages will either be thrown away and never reach your handlers, or will exceptions that may or may not reach logging. One way to minimize this is to check that the messages can be built and read/written from/to !ChannelBuffers within your controller. !BasicFactory has a !dumpBuffer() function that returns a hexdump of a message as a string that you can check more thoroughly to see if what you think you have implemented is actually what you have. 
     307When things go wrong, messages will either be thrown away and never reach your handlers, or will throw exceptions that may or may not reach logging. One way to minimize this is to check that the messages can be built and read/written from/to !ChannelBuffers within your controller. Note, a local check won't prevent everything. In general, providing the correct getLength() value helps to prevent many common errors, so it is important to check that this function is returning the right value. !BasicFactory has a dumpBuffer() function that returns a hexdump of a message as a string that you can check more thoroughly to see if what you think you have implemented is actually what you have. 
    308308
    309309{{{
     
    327327 00000000 00000000
    328328}}}
    329 
    330 Note, a local check won't prevent everything. In general, providing the correct getLength() value helps to prevent many common errors, so it is important to check that this function is returning the right value.   
    331329
    332330== 4. Conclusion == #theend