Zero-out invalid fields when extracting a "match" and transforming it into a "flow".
authorJustin Pettit <jpettit@nicira.com>
Fri, 9 May 2008 18:22:45 +0000 (11:22 -0700)
committerJustin Pettit <jpettit@nicira.com>
Fri, 9 May 2008 18:24:04 +0000 (11:24 -0700)
commit3cf996b4cd967386960fbde9ad50e43a71a37cd9
treec6f5e5f38b0ae5a7df0469da7016d6d0a9606d9c
parent5f4a12ce38bb5fd39aa381532336ed455a51588d
Zero-out invalid fields when extracting a "match" and transforming it into a "flow".

When the controller wishes to add a flow entry to the switch, it sends a request with a description of matching flows in a "match".  The switch was adding these exactly as described into the flow tables.  However, when packets arrived, all invalid fields (e.g., the TCP/UDP ports in a non-TCP/UDP packet) are set to zero.  If the rule being added by the controller had not set these invalid fields to zero, the packets would never match.  We now zero out these fields when extracing a "match".

-- Reported by Brandon H. --
datapath/flow.c
switch/switch-flow.c