OFパケットをデコードして遊んでみた

table features をデコードしてみると、こんな感じになっていました。 requestのクセに結構複雑ですね。しかもこれまだ途中なんですよね。 propertiesのあたりが後9倍くらいは複雑になるかもしれませんです。

未だOF1.3の仕様書の読み込みが足りていない模様。 これは本当にrequestメッセージなのか…??

do_decode table_features
{:ok,
 [version: 4, type: :multipart_request, xid: 0,
  body: [flags: [:more],
   body: [[table_id: 0, name: "Flow Table 0x00",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil, nil, nil,
      nil]],
    [table_id: 1, name: "Flow Table 0x01",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 2, name: "Flow Table 0x02",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 3, name: "Flow Table 0x03",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 4, name: "Flow Table 0x04",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 5, name: "Flow Table 0x05",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 6, name: "Flow Table 0x06",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 7, name: "Flow Table 0x07",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 8, name: "Flow Table 0x08",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]],
    [table_id: 9, name: "Flow Table 0x09",
     matadata_match: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     metadata_write: <<255, 255, 255, 255, 255, 255, 255, 255>>,
     max_entries: 16777216,
     properties: [[instruction_ids: [goto_table: 131076, write_actions: 262148,
        clear_actions: 393220]], nil, nil, nil, nil, nil, nil, nil]]]]], ""}
````