A method for facilitation communication in a distributed computing system having a host supporting a virtual switch and one or more virtual machines, comprising: receiving, at the virtual switch, a packet having a header with multiple header fields and a payload; processing, at the virtual switch, the received packet based on multiple layer, group, and rule objects arranged in a hierarchy in which the multiple layer objects are independently arranged in a sequence at the same level in the hierarchy and individually contain a first group object and a second group object that individually contain one or more rule objects, each of the rule objects containing one or more conditions and a corresponding action performable by the virtual switch on the packet, wherein processing the received packet includes, for each of the layer objects in the independently arranged sequence, determining (214, 216) whether a value in one or more of the header fields of the packet matches the one or more conditions of one of the rule objects in the first group object; in response to determining that the value in one or more of the header fields of the packet matches the one or more conditions of one of the rule objects in the first group object, determining whether the first group object is marked as terminating; and in response to determining that the first group object is marked as terminating, applying the action of the matching rule object to the packet without processing the received packet according to the rule objects in the second group object; in response to determining that the first group object is not marked as terminating, processing the packet according to the rule objects in the second group object without applying the action of the matching rule object in the first group object; and passing (218, 212) the packet with the applied action of the matching rule object of the first group object or with an applied action of a matching rule object of the second group object to a next one of the layer objects and repeating the determining and applying operations according to rule objects in the next one of the layer objects. receiving, at the virtual switch, a packet having a header with multiple header fields and a payload; processing, at the virtual switch, the received packet based on multiple layer, group, and rule objects arranged in a hierarchy in which the multiple layer objects are independently arranged in a sequence at the same level in the hierarchy and individually contain a first group object and a second group object that individually contain one or more rule objects, each of the rule objects containing one or more conditions and a corresponding action performable by the virtual switch on the packet, wherein processing the received packet includes, for each of the layer objects in the independently arranged sequence, determining (214, 216) whether a value in one or more of the header fields of the packet matches the one or more conditions of one of the rule objects in the first group object; in response to determining that the value in one or more of the header fields of the packet matches the one or more conditions of one of the rule objects in the first group object, determining whether the first group object is marked as terminating; and in response to determining that the first group object is marked as terminating, applying the action of the matching rule object to the packet without processing the received packet according to the rule objects in the second group object; in response to determining that the first group object is not marked as terminating, processing the packet according to the rule objects in the second group object without applying the action of the matching rule object in the first group object; and passing (218, 212) the packet with the applied action of the matching rule object of the first group object or with an applied action of a matching rule object of the second group object to a next one of the layer objects and repeating the determining and applying operations according to rule objects in the next one of the layer objects.