A method for processing a data packet by a switching device in a software defined network, SDN, comprising: establishing, by the switching device, a first control channel with a first control device, and establishing, by the switching device, a second control channel with a second control device; receiving, by the switching device, a first flow entry and a second flow entry, wherein each of the first flow entry and the second flow entry reflects a classification rule for a new flow, wherein the first flow entry comprises a first match field and an identifier of the first control channel, and the first flow entry is used to instruct the switching device to send, to the first control device by using the first control channel represented by the identifier of the first control channel, a data packet that matches the first match field; the second flow entry comprises a second match field and an identifier of the second control channel, and the second flow entry is used to instruct the switching device to send, to the second control device by using the second control channel represented by the identifier of the second control channel, a data packet that matches the second match field; and the identifier of the first control channel is different from the identifier of the second control channel, and the first match field is different from the second match field; receiving, by the switching device, a first data packet; if the switching device determines that the first data packet matches the first match field, sending, by the switching device, the first data packet to the first control device by using the first control channel represented by the identifier of the first control channel; receiving, by the switching device, a second data packet; and if the switching device determines that the second data packet matches the second match field, sending, by the switching device, the second data packet to the second control device by using the second control channel represented by the identifier of the second control channel. establishing, by the switching device, a first control channel with a first control device, and establishing, by the switching device, a second control channel with a second control device; receiving, by the switching device, a first flow entry and a second flow entry, wherein each of the first flow entry and the second flow entry reflects a classification rule for a new flow, wherein the first flow entry comprises a first match field and an identifier of the first control channel, and the first flow entry is used to instruct the switching device to send, to the first control device by using the first control channel represented by the identifier of the first control channel, a data packet that matches the first match field; the second flow entry comprises a second match field and an identifier of the second control channel, and the second flow entry is used to instruct the switching device to send, to the second control device by using the second control channel represented by the identifier of the second control channel, a data packet that matches the second match field; and the identifier of the first control channel is different from the identifier of the second control channel, and the first match field is different from the second match field; receiving, by the switching device, a first data packet; if the switching device determines that the first data packet matches the first match field, sending, by the switching device, the first data packet to the first control device by using the first control channel represented by the identifier of the first control channel; receiving, by the switching device, a second data packet; and if the switching device determines that the second data packet matches the second match field, sending, by the switching device, the second data packet to the second control device by using the second control channel represented by the identifier of the second control channel.