IP Library › Granted Patent US 10,419,550
Granted Patent B2
US 10,419,550 · App. 15/203,759 · Granted Sep 17, 2019

Automatic service function validation in a virtual network environment

Inventors: Nagendra Kumar Nainar (San Jose, CA); Rajiv Asati (San Jose, CA); Carlos M. Pignataro (Raleigh, NC)
Assignee: CISCO TECHNOLOGY, INC.
H04L67/16H04L41/0866H04L43/0817H04L43/10H04L45/72H04L67/10
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 10,419,550
App. No.
15/203,759
Granted
Sep 17, 2019
Kind
B2
Abstract

Systems, methods, and computer-readable media for improving the reliability of service function (SF) application in a service function chain (SFC) are provided. In some aspects, the subject technology facilitates automatic service function type validation by a service function forwarder (SFF), for example, by using a probe configured to query a function type of a SF module associated with the validating SFF.

Claims (70)

1. A method for validating a service function type on a service function (SF) module, the method comprising:

initiating a probe, at a service function forwarder (SFF), to query a function type of a corresponding SF module;

receiving a reply from the corresponding SF module, in response to the probe, with an indication of an actual function being implemented by the corresponding SF module;

validating, at the SFF, the function type of the corresponding SF module by determining whether the actual function corresponds with an expected service function type using a forwarding database, the forwarding database maintaining the expected service function type, having a plurality of updatable function type values with each of the updatable function type values indicating a type, and including multiple entries for the SF module if the SF module has multiple ones of the expected service function type; and

determining, at the SFF, whether to permit packet forwarding, based on the function type of the corresponding SF module,

wherein,

if the function type is validated, the SFF permits a packet to be transmitted to a next hop, and

if the function type is not validated, the SFF drops the packet.

2. The method of claim 1 , wherein initiating the probe further comprises:

detecting, at the SFF, a change in service function instantiation at the corresponding SF module; and

automatically initiating the probe in response to the change in service function instantiation.

3. The method of claim 1 , wherein initiating the probe further comprises:

detecting, at the SFF, a change relative to the SFF; and

automatically initiating the probe in response to the change relative to the SFF.

4. The method of claim 1 , wherein initiating the probe further comprises:

generating a request for the corresponding SF module;

setting a service path identifier (SPI) of the request to a service index limit (SIL) value; and

forwarding the request to a forwarding address associated with the corresponding SF module.

5. The method of claim 1 , wherein receiving the reply from the corresponding SF module further comprises:

determining if the reply comprises correct SPI and SIL values; and

reading the function type from the reply.

6. The method of claim 1 , wherein the forwarding database includes a service index path, a service index, and a next hop.

7. The method of claim 1 , wherein the probe comprises a modified service function chain (SF) traceroute configured for a single-hop transmission to the corresponding SF module.

8. A service function type validation system comprising:

at least one processor; and

a memory device storing instructions that, when executed by the at least one processor, cause the validation system to:

initiate a probe, at a service function forwarder (SFF), wherein the probe is configured to query a function type of a corresponding SF module;

receive a reply from the corresponding SF module, in response to the probe, with an indication of an actual function being implemented by the corresponding SF module;

validate, at the SFF, the function type of the corresponding SF module by determining whether the actual function corresponds with an expected service function type using a forwarding database, the forwarding database maintaining the expected service function type, having a plurality of updatable function type values with each of the updatable function type values indicating a type, and including multiple entries for the SF module if the SF module has multiple ones of the expected service function type; and

determine, at the SFF, whether to permit packet forwarding, based on the function type of the corresponding SF module,

wherein,

the SFF is configured to permit a packet to be transmitted to a next hop if the function type is validated, and

the SFF is configured to drop the packet if the function type is not validated.

9. The service function type validation system of claim 8 , wherein initiating the probe further comprises:

detecting, at the SFF, a change in service function instantiation at the corresponding SF module; and

automatically initiating the probe in response to the change in service function instantiation.

10. The service function type validation system of claim 8 , wherein initiating the probe further comprises:

detecting, at the SFF, a change relative to the SFF; and

automatically initiating the probe in response to the change relative to the SFF.

11. The service function type validation system of claim 8 , wherein initiating the probe comprises:

generating a service function chain request for the corresponding SF module;

setting a service path identifier (SPI) of the request to a service index limit (SIL) value; and

forwarding the request to an address associated with the corresponding SF module.

12. The service function type validation system of claim 8 , wherein receiving the reply from the corresponding SF module further comprises:

determining if the reply comprises correct SPI and SIL values; and

reading the function type from the reply.

13. The service function type validation system of claim 8 , wherein the forwarding database includes a service index path, a service index, and a next hop.

14. The service function type validation system of claim 8 , wherein the probe comprises a modified service function chain (SF) traceroute configured for a single-hop transmission to the corresponding SF module.

15. A non-transitory computer-readable storage medium comprising instructions stored therein, which when executed by one or more processors, cause the processors to perform operations comprising:

initiating a probe, at a service function forwarder (SFF), wherein the probe is configured to query a function type of a corresponding SF module;

receiving a reply from the corresponding SF module, in response to the probe, with an indication of an actual function being implemented by the SF module;

validating, at the SFF, the function type of the corresponding SF module by determining whether the actual function corresponds with an expected service function type using a forwarding database, the forwarding database maintaining the expected service function type, having a plurality of updatable function type values with each of the updatable function type values indicating a type, and including multiple entries for the SF module if the SF module has multiple ones of the expected service function type; and

determining, at the SFF, whether to permit packet forwarding, based on the function type of the corresponding SF module,

wherein,

the SFF is configured to permit a packet to be transmitted to a next hop if the function type is validated, and

the SFF is configured to drop the packet if the function type is not validated.

16. The non-transitory computer-readable storage medium of claim 15 , wherein initiating the probe further comprises:

detecting, at the SFF, a change in service function instantiation at the corresponding SF module; and

automatically initiating the probe in response to the change in service function instantiation.

17. The non-transitory computer-readable storage medium of claim 15 , wherein initiating the probe further comprises:

detecting, at the SFF, a change relative to the SFF; and

automatically initiating the probe in response to the change relative to the SFF.

18. The non-transitory computer-readable storage medium of claim 15 , wherein initiating the probe comprises:

generating a request for the corresponding SF module;

setting a service function index of the request to a service index limit (SIL) value; and

forwarding the request to an address associated with the corresponding SF module.

19. The non-transitory computer-readable storage medium of claim 15 , wherein receiving the reply from the corresponding SF module further comprises:

determining if the reply comprises correct SPI and SIL values; and

reading the function type from the reply.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the forwarding database includes a service index path, a service index, and a next hop.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: NAINAR, NAGENDRA KUMAR; ASATI, RAJIV; PIGNATARO, CARLOS M.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 039090/0486 →
Continuity (1)
Related Publication 20180013841A1 · Jan 11, 2018
Cited By (14)
US 12,213,014 US 12,236,248 US 12,255,951 US 12,260,271 US 12,301,673 US 12,307,283 US 12,373,546 US 12,375,554 US 12,407,610 US 12,408,036 US 12,495,301 US 12,498,987 US 12,627,565 US 12,684,357