IP Library Granted Patent US 8,527,665
Granted Patent B2
US 8,527,665 · App. 13/088,160 · Granted Sep 3, 2013

Redirecting function calls

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,527,665
App. No.
13/088,160
Granted
Sep 3, 2013
Kind
B2
Abstract

Redirecting a function included in an operating system is disclosed. The redirecting is achieved by identifying an original function call in a kernel and replacing the function call with a replacement function call so that the replacement function is called in place of the original function. In this way the original function call is bypassed and the original call is redirected to the replacement function. This may be done to augment or replace the original function. In one embodiment, when a packet is received, a replacement receiving function is called in place of the network receiving function that was provided with the kernel. In this way, different, less or additional processing of received packets may be performed.

Claims (22)

1. A computing device including a processor, a memory, an operating system kernel and a network communications unit, the computing device coupled with a network, the computing device having instructions stored thereon which when executed cause the computing device to perform operations comprising:

locating in a kernel space in the memory an address of a network receiving function by searching a symbol table and/or a relocation table of the network receiving function in the kernel space in the memory for a text name of the network receiving function;

saving the address of the network receiving function;

finding an address in the kernel space in the memory where a network communications unit driver kernel module is loaded;

identifying a location in the operating system kernel where a network receiving function call is made, including locating in the network communications unit driver kernel module in the kernel space in the memory where the network receiving function call is made by looking for a match of the network receiving function address;

replacing the network receiving function call in the operating system kernel with a replacement receiving function call, including replacing in the network communications unit driver kernel module in the kernel space in the memory the network receiving function call with the replacement receiving function call;

the network communications unit receiving a packet;

the operating system kernel receiving the packet from the network communications unit;

the operating system kernel calling the replacement receiving function instead of a network receiving function that was provided with the operating system kernel.

2. The computing device of claim 1 having further instructions stored thereon which when executed cause the computing device to perform operations further comprising:

the replacement receiving function calling the network receiving function that was provided with the operating system kernel.

3. The computing device of claim 1 wherein

the operating system kernel receiving the packet from the network communications unit is achieved by the network communications unit driver kernel module;

the operating system kernel calling the replacement receiving function is achieved by the network communications unit driver kernel module.

4. The computing device of claim 1 wherein the replacement receiving function executes in the kernel space in the memory.

5. A method comprising:

locating in a kernel space in a memory an address of a network receiving function by searching a symbol table and/or a relocation table of the network receiving function in the kernel space in the memory for a text name of the network receiving function;

saving the address of the network receiving function;

finding an address in the kernel space in the memory where a network communications unit driver kernel module is loaded;

identifying a location in the kernel space in the memory where the network receiving function call is made, including locating in the network communications unit driver kernel module in the kernel space in the memory where the network receiving function call is made by looking for a match of the network receiving function address;

replacing the network receiving function call in the kernel space in the memory with a replacement receiving function call so that the replacement receiving function is called in place of the network receiving function call, including replacing in the network communications unit driver kernel module in the kernel space in the memory the network receiving function call with the replacement receiving function call.

6. The method of claim 5 wherein the replacement receiving function includes a call to the network receiving function.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: IXIA
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2011
From: STANCIU, ADRIAN; ROHAT, COSMIN
To: IXIA
Reel/Frame 026353/0401 →