IP Library › Granted Patent US 9,762,483
Granted Patent B2
US 9,762,483 · App. 14/640,452 · Granted Sep 12, 2017

BNG / subscriber management integrated, FIB based, per subscriber, opt-in opt-out, multi application service chaining solution via subscriber service chaining nexthop and meta IP lookup

Inventors: Mustafa Arisoylu (San Jose, CA); Ramanathan Lakshmikanthan (Santa Clara, CA); Albert Jining Tian (Cupertino, CA); Himanshu Asnani (San Jose, CA); Prashant Anand (Bangalore, IN)
Assignee: Telefonaktiebolaget LM Ericsson (Publ)
H04L45/74H04L12/28H04L45/54H04L45/64H04L45/44
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 9,762,483
App. No.
14/640,452
Granted
Sep 12, 2017
Kind
B2
Abstract

Exemplary methods for performing service chaining include generating a plurality of service chaining (SC) next hops (NHs) by, for each SC NH hop, generating a plurality of SC maps, each SC map identifying a chain of one or more service modules, wherein each service module is to apply a corresponding service on a packet. The methods further include generating a plurality of hosted NHs, each hosted NH including forwarding information that causes the packet to be forwarded to a corresponding service module. The methods further include in response to receiving a first packet, identifying a SC NH of the plurality of SC NHs based on an Internet Protocol (IP) address of the first packet, and forwarding the first packet to a service module based on the identified SC NH.

Claims (70)

1. A method in a network device for performing service chaining, the method comprising:

generating a plurality of service chaining (SC) next hops (NHs) by, for each SC NH hop:

generating a plurality of SC maps, each SC map identifying a chain of one or more service modules, wherein each service module is to apply a corresponding service on a packet, and

generating a plurality of hosted NHs, each hosted NH including forwarding information that causes the packet to be forwarded to a corresponding service module;

in response to receiving the packet, identifying a SC NH of the plurality of SC NHs based on an Internet Protocol (IP) address of the packet, comprising:

in response to determining the packet is an upstream packet transmitted by a subscriber end station, using a source IP address of the packet to identify the SC NH: or

in response to determining the packet is a downstream packet transmitted to a subscriber end station, using a destination IP address of the packet to identify die SC NH: and

forwarding the packet to the corresponding service module based on the identified SC NH, comprising:

in response to determining the packet is the upstream packet transmitted by the subscriber end station, identifying an upstream SC map of the SC NH; determining an interface from which the packet is received; identifying a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the upstream SC map; and using the forwarding information included in the hosted NH to forward the packet to the corresponding service module, causing the corresponding service module to apply the corresponding service on the jacket; or

in response to determining the packet is the downstream packet transmitted to the subscriber end station, identifying a downstream SC map of the SC NH; determining an interface from which the packet is received; identifying a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the downstream SC map; and Using the forwarding information included in the hosted NH to forward the packet to the corresponding service module, causing the corresponding service module to apply the corresponding service on the packet.

2. The method of claim 1 , further comprising:

determining a subscriber application to which the packet belongs; and

identifying the upstream SC map based on the determined subscriber application.

3. The method of claim 1 , further comprising:

identifying a subscriber profile associated with the packet;

identifying a service module based on the subscriber profile; and

forwarding the packet to the service module, causing the service module to apply a service on the packet.

4. A network device for performing service chaining, the network device comprising:

a set of one or more processors; and

a non-transitory machine-readable storage medium containing code, which when executed by the set of one or more processors, causes the network device to:

generate a plurality of service chaining (SC) next hops (NHs) by, for each SC NH hop:

generating a plurality of SC maps, each SC map identifying a chain of one or more service modules, wherein each service module is to apply a corresponding service on a packet, and

generating a plurality of hosted NHs, each hosted NH including forwarding information that causes the packet to be forwarded to a corresponding service module;

in response to receiving the packet, identify a SC NH of the plurality of SC NHs based on an Internet Protocol (IP) address of the packet, wherein the identification includes to:

in response to a determination that the packet is an upstream packet transmitted by a subscriber end station, use a source IP address of the packet to identify the SC NH: or

in response to a determination that the packet is a downstream packet transmitted to a subscriber end station, use a destination IP address of the packet to identify the SC NH: and

forward the packet to the corresponding service module based on the identified SC NH, comprising:

in response to determining the packet is the upstream packet transmitted by the subscriber end station, identify an upstream SC map of the SC NH; determine an interface from which the packet is received; identify a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the upstream SC map; and use the forwarding information included in the hosted NH to forward the packet corresponding to the service module, causing the corresponding service module to apply the corresponding service on the packet; or

in response to determining the packet is the downstream packet transmitted to the subscriber end station, identify a downstream SC map of the SC NH; determine an interface from which the packet is received; identify a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the downstream SC map; and use the forwarding information included in the hosted NH to forward the packet to the corresponding service module, causing the corresponding service module to apply the corresponding service on the packet.

5. The network device of claim 4 , wherein the non-transitory machine-readable storage medium further contains code, which when executed by the set of one or more processors, causes the network devices to: —

determine a subscriber application to which the packet belongs; and

identify the upstream SC map based on the determined subscriber application.

6. The network device of claim 4 , wherein the non-transitory machine-readable storage medium further contains code, which when executed by the set of one or more processors, causes the network device to:

identify a subscriber profile associated with the packet;

identifying a service module based on the subscriber profile; and

forward the packet to the service module, causing the service module to apply a service on the packet.

7. A non-transitory machine-readable storage medium having computer code store therein, which when executed by a set of one or more processors of a network device for performing service chaining, causes the network device to perform operations comprising:

generating a plurality of service chaining (SC) next hops (NHs) by, for each SC NH hop:

generating a plurality of SC maps, each SC map identifying a chain of one or more service modules, wherein each service module is to apply a corresponding service on a packet, and

generating a plurality of hosted NHs, each hosted NH including forwarding information that causes the packet to be forwarded to a corresponding service module;

in response to receiving the packet, identifying a SC NH of the plurality of SC NHs based on an Internet Protocol (IP) address of the packet, comprising:

in response to determining the packet is an upstream packet transmitted by a subscriber end station, using a source IP address of the packet to identify the SC NH: or

in response to determining the packet is a downstream packet transmitted to a subscriber end station, using a destination IP address of the packet to identify die SC NH: and

forwarding the packet to the corresponding service module based on the identified SC NH, comprising:

in response to determining the packet is the upstream packet transmitted by the subscriber end station, identifying an upstream SC map of the SC NH; determining an interface from which the packet is received; identifying a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the upstream SC map; and using the forwarding information included in the hosted NH to forward the packet to the corresponding service module, causing the corresponding service module to apply the corresponding service on the packet; or

in response to determining the packet is the downstream packet transmitted to the subscriber end station, identifying a downstream SC map of the SC NH; determining an interface from which the packet is received; identifying a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the downstream SC map; and using the forwarding information included in the hosted NH to forward the packet to the corresponding service module, causing the corresponding service module to apply the corresponding service on the packet.

8. The non-transitory machine readable medium of claim 7 , further comprising:

determining a subscriber application to which the packet belongs; and

identifying; the upstream SC map based on the determined subscriber application.

9. The non-transitory machine-readable storage medium of claim 7 , further comprising:

identifying a subscriber profile associated with the packet;

identifying a service module based on the subscriber profile; and

forwarding the packet to the service module, causing the service module to apply a service on the packet.

10. A method in a virtual machine for performing service chaining, the method comprising:

generating a plurality of service chaining (SC) next hops (NHs) by, for each SC NH hop:

generating a plurality of SC maps, each SC map identifying a chain of one or more service modules, wherein each service module is to apply a corresponding service on a packet, and

generating a plurality of hosted NHs, each hosted NH including forwarding information that causes the packet to be forwarded to a corresponding service module;

in response to receiving the packet, identifying a SC NH of the plurality of SC NHs based on an Internet Protocol (IP) address of the packet, comprising:

in response to determining the packet is an upstream packet transmitted by a subscriber end station, using a source IP address of the packet to identify the SC NH: or

in response to determining the packet is a downstream packet transmitted to a subscriber end station, using a destination IP address of the packet to identify die SC NH: and

forwarding the packet to the corresponding service module based on the identified SC NH, comprising:

in response to determining the packet is the upstream packet transmitted by the subscriber end station, identifying an upstream SC map of the SC NH; determining an interface from which the packet is received; identifying a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the upstream SC map; and using the forwarding information included in the hosted NH to forward the packet to the corresponding service module, causing the corresponding service module to apply the corresponding service on the packet, or

in response to determining the packet is the downstream packet transmitted to the subscriber end station, identifying a downstream SC map of the SC NH; determining an interface from which the packet is received; identifying a hosted NH of the plurality of hosted NHs of the SC NH based on the determined interface and the downstream SC map; and using the forwarding information included in the hosted NH to forward the packet to the corresponding service module, causing the corresponding service module to apply the corresponding service on the packet.

11. The method of claim 10 , further comprising:

determining a subscriber application to which the packet belongs; and

identifying; the upstream SC map based on the determined subscriber application.

12. The method of claim 10 , further comprising:

identifying a subscriber profile associated with the packet;

identifying a service module based on the subscriber profile; and

forwarding the packet to the service module, causing the service module to apply a service on the packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2015
From: ARISOYLU, MUSTAFA; LAKSHMIKANTHAN, RAMANATHAN; TIAN, ALBERT JINING; ASNANI, HIMANSHU; ANAND, PRASHANT
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 036147/0184 →
Continuity (1)
Related Publication 20160261497A1 · Sep 8, 2016