Abstract:
A disclosed method may include (1) identifying a memory buffer that is allocated to a packet on a computing device, (2) identifying one or more characteristics of the memory buffer allocated to the packet on the computing device, (3) determining, based at least in part on the characteristics of the memory buffer, that the memory buffer allocated to the packet has leaked, and then in response to determining that the memory buffer has leaked, (4) performing at least one action to remedy the leak of the memory buffer. Various other apparatuses, systems, and methods are also disclosed.
Abstract:
The disclosed system may include (1) a cache module, stored in memory, that stores a neighbor cache entry that specifies whether a neighbor of a network node is reachable according to a detection mechanism, (2) a timeout module, stored in memory, that specifies a timing interval in which to select a reachable time threshold, (3) a reception module, stored in memory, that receives event information about whether the neighbor is active, (4) a biasing module, stored in memory, that biases, based on the received event information about whether the neighbor is active, a selection of the reachable time threshold within the timing interval, and (5) a determination module, stored in memory, that determines whether the neighbor is reachable based at least in part on a determination of whether the selected reachable time threshold has been satisfied. Various other systems and methods are also disclosed.
Abstract:
The problem of processing an egress packet by a data forwarding device having (1) a first routing stack associated with a first namespace and a first interface, (2) a second routing stack associated with a second namespace and a second interface, wherein at least some forwarding information included in the second namespace is incompatible with the first routing stack, (3) a virtual routing and forwarding instance (VRF), and (4) a shared session layer socket associated with both the first and second routing stack, and bound to the VRF, where the VRF is associated with the second interface via the second routing stack, is solved by: adding the first interface to the VRF whereby the VRF is associated with both the first and second interfaces; and responsive to the adding of the first interface to the VRF, (1) adding routes from the second namespace to the first namespace such that network address prefixes of the second namespace are associated with a “special” next hop, and (2) flagging the shared session layer socket bound to the VRF. When an egress packet on the flagged shared session layer socket is received, the data forwarding device (1) sends the egress packet to the first routing stack for processing, (2) looks up next hop information using the first namespace of the first routing stack, and (3) determines whether or not the next hop information is a “special” next hop. Responsive to a determination that the next hop information is a “special” next hop, the data forwarding device injects the egress packet into the second routing stack for processing.
Abstract:
The disclosed apparatus may include (1) at least one communication port that facilitates communication between a source computing device and a destination computing device via a path within a network and (2) a processing unit communicatively coupled to the communication port, wherein the processing unit (A) monitors the network for any changes to the path that potentially affect a maximum transmission unit of the path, (B) detects, while monitoring the network, a change to at least one hop included in the path, and then in response to detecting the change to the hop, (C) identifies a packet size that corresponds to the maximum transmission unit of the path, and (D) tests the path for an increase in the maximum transmission unit by transmitting a packet whose size is larger than the packet size that corresponds to the maximum transmission unit. Various other apparatuses, systems, and methods are also disclosed.
Abstract:
A disclosed method may include (1) providing a network stack that includes both a native stack and a proprietary stack, (2) implementing at least one socket that represents an endpoint of a communication channel between a network device and a computing device, (3) identifying at least one packet to be forwarded from the network device to the computing device via the socket, (4) configuring the network stack such that (A) the native stack discovers a maximum transmission unit of a network path between the network device and the computing device in connection with the socket and (B) the proprietary stack fragments the packet into a plurality of segments that each comply with the maximum transmission unit of the network path, and then (5) forwarding, along the network path, the segments to the computing device. Various other systems and methods are also disclosed.
Abstract:
The disclosed system may include (1) a cache module, stored in memory, that stores a neighbor cache entry that specifies whether a neighbor of a network node is reachable according to a detection mechanism, (2) a timeout module, stored in memory, that specifies a timing interval in which to select a reachable time threshold, (3) a reception module, stored in memory, that receives event information about whether the neighbor is active, (4) a biasing module, stored in memory, that biases, based on the received event information about whether the neighbor is active, a selection of the reachable time threshold within the timing interval, and (5) a determination module, stored in memory, that determines whether the neighbor is reachable based at least in part on a determination of whether the selected reachable time threshold has been satisfied. Various other systems and methods are also disclosed.
Abstract:
The disclosed apparatus may include (1) at least one communication port that facilitates communication between a source computing device and a destination computing device via a path within a network and (2) a processing unit communicatively coupled to the communication port, wherein the processing unit (A) monitors the network for any changes to the path that potentially affect a maximum transmission unit of the path, (B) detects, while monitoring the network, a change to at least one hop included in the path, and then in response to detecting the change to the hop, (C) identifies a packet size that corresponds to the maximum transmission unit of the path, and (D) tests the path for an increase in the maximum transmission unit by transmitting a packet whose size is larger than the packet size that corresponds to the maximum transmission unit. Various other apparatuses, systems, and methods are also disclosed.