Packet event tracking
View Patent ↗Example methods and systems are provided for packet event tracking. One example method may comprise: in response to a logical forwarding element detecting a packet event for a first packet, determining a first packet signature of the first packet; and tracking the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event. The method may also comprise: in response to receiving a query as to whether the packet event has been detected and tracked for a second packet, determining a second packet signature of the second packet. Based on the second packet signature, the set membership filter may be applied to determine whether the second packet is a possible member of the set associated with the packet event.
1. A method for a computer system to perform packet event tracking, wherein the method comprises:
in response to detecting, by a logical forwarding element supported by the computer system, a packet event for a first packet travelling between a source and a destination via the logical forwarding element,
determining a first packet signature of the first packet; and
tracking the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event; and
in response to receiving a query as to whether the packet event has been detected and tracked by the logical forwarding element for a second packet,
determining a second packet signature of the second packet; and
based on the second packet signature, applying the set membership filter to determine whether the second packet is a possible member of the set associated with the packet event.
2. The method of claim 1 , wherein updating the set membership filter comprises:
applying k hash functions on the first packet signature to map the first packet signature onto k elements of an array with m elements of the set membership filter.
3. The method of claim 2 , wherein applying the set membership filter comprises:
applying the k hash functions on the second packet signature to map the second packet signature onto k elements of the array with m elements; and
based on the k elements, determining whether the second packet is a possible member of the set of associated with the packet event.
4. The method of claim 1 , wherein the method further comprises:
in response to determination that the second packet is a possible member of the set associated with the packet event, generating and sending a positive response to a management entity from which the query is received.
5. The method of claim 1 , wherein detecting the packet event comprises:
detecting a packet loss event, being the packet event, by dropping the first packet at the logical forwarding element.
6. The method of claim 1 , wherein detecting the packet event comprises:
detecting a performance-related event, being the packet event, by determining that a performance metric is associated with the first packet does not satisfy a predetermined threshold, wherein the performance metric includes one or more of the following: latency, throughput, packet size and jitter.
7. The method of claim 1 , wherein determining the first packet signature comprises at least one of the following:
extracting invariant content from the first packet by applying a mask on the first packet; and
extracting, from the first packet, a set of tuples that includes one or more of the following: source address, source port number, destination address, destination port number and protocol.
8. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a computer system, cause the processor to perform packet event tracking, wherein the method comprises
in response to detecting, by a logical forwarding element supported by the computer system, a packet event for a first packet travelling between a source and a destination via the logical forwarding element,
determining a first packet signature of the first packet; and
tracking the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event; and
in response to receiving a query as to whether the packet event has been detected and tracked by the logical forwarding element for a second packet,
determining a second packet signature of the second packet; and
based on the second packet signature, applying the set membership filter to determine whether the second packet is a possible member of the set associated with the packet event.
9. The non-transitory computer-readable storage medium of claim 8 , wherein updating the set membership filter comprises:
applying k hash functions on the first packet signature to map the first packet signature onto k elements of an array with m elements of the set membership filter.
10. The non-transitory computer-readable storage medium of claim 9 , wherein applying the set membership filter comprises:
applying the k hash functions on the second packet signature to map the second packet signature onto k elements of the array with m elements; and
based on the k elements, determining whether the second packet is a possible member of the set of associated with the packet event.
11. The non-transitory computer-readable storage medium of claim 8 , wherein the method further comprises:
in response to determination that the second packet is a possible member of the set associated with the packet event, generating and sending a positive response to a management entity from which the query is received.
12. The non-transitory computer-readable storage medium of claim 8 , wherein detecting the packet event comprises:
detecting a packet loss event, being the packet event, by dropping the first packet at the logical forwarding element.
13. The non-transitory computer-readable storage medium of claim 8 , wherein detecting the packet event comprises:
detecting a performance-related event, being the packet event, by determining that a performance metric is associated with the first packet does not satisfy a predetermined threshold, wherein the performance metric includes one or more of the following: latency, throughput, packet size and jitter.
14. The non-transitory computer-readable storage medium of claim 8 , wherein determining the first packet signature comprises at least one of the following:
extracting invariant content from the first packet by applying a mask on the first packet; and
extracting, from the first packet, a set of tuples that includes one or more of the following: source address, source port number, destination address, destination port number and protocol.
15. A computer system configured to perform packet event tracking, wherein the computer system comprises:
a processor; and
a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to perform the following:
in response to detecting, by a logical forwarding element supported by the computer system, a packet event for a first packet travelling between a source and a destination via the logical forwarding element,
determine a first packet signature of the first packet; and
track the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event; and
in response to receiving a query as to whether the packet event has been detected and tracked by the logical forwarding element for a second packet,
determine a second packet signature of the second packet; and
based on the second packet signature, apply the set membership filter to determine whether the second packet is a possible member of the set associated with the packet event.
16. The computer system of claim 15 , wherein the instructions for updating the set membership filter cause the processor to:
apply k hash functions on the first packet signature to map the first packet signature onto k elements of an array with m elements of the set membership filter.
17. The computer system of claim 16 , wherein the instructions for applying the set membership filter cause the processor to:
apply the k hash functions on the second packet signature to map the second packet signature onto k elements of the array with m elements; and
based on the k elements, determine whether the second packet is a possible member of the set of associated with the packet event.
18. The computer system of claim 15 , wherein the instructions further cause the processor to:
in response to determination that the second packet is a possible member of the set associated with the packet event, generate and send a positive response to a management entity from which the query is received.
19. The computer system of claim 15 , wherein the instructions for detecting the packet event cause the processor to:
detect a packet loss event, being the packet event, by dropping the first packet at the logical forwarding element.
20. The computer system of claim 15 , wherein the instructions for detecting the packet event cause the processor to:
detect a performance-related event, being the packet event, by determining that a performance metric is associated with the first packet does not satisfy a predetermined threshold, wherein the performance metric includes one or more of the following: latency, throughput, packet size and jitter.
21. The computer system of claim 15 , wherein the instructions for determining the first packet signature cause the processor to perform at least one of the following:
extract invariant content from the first packet by applying a mask on the first packet; and
extract, from the first packet, a set of tuples that includes one or more of the following: source address, source port number, destination address, destination port number and protocol.