14.6. Service Chaining for ESM Hosts with L2-Aware NAT

14.6.1. Command Hierarchies

14.6.1.1.  ISA Service Chaining Commands

configure
— router
nat-group nat-group-id [create]
— no nat-group nat-group-id
vxlan-vtep-range start [ip-address | ipv6-address] end [ip-address | ipv6-address]
— subscriber-mgmt
evpn service-id [import-mode import-mode] [create]
— no evpn service-id
[no] bgp
route-target export ext-community import ext-community
description description-string
[no] export
gw-address-range start start end end
pool pool-name router router-instance [create]
— no pool pool-name router router-instance
[no] shutdown
vxlan vni vni
— no vxlan
[no] shutdown
mac-prefix mac-prefix
— no mac-prefix
vas-filter name [create]
— no vas-filter name
description description-string
entry id [create]
— no entry id
action direction [create]
— no action direction
fail-action fail-action
forward sf-ip ip-address | ipv6-address svc service-id [esi esi]
— no forward
[no] insert-nsh
opaque-data hex-string
svc-path path-id svc-index service-index
— no svc-path
description description-string
match
foreign-ip ip-address[/mask]
— no foreign-ip
foreign-port port
protocol protocol-id
— no protocol
[no] shutdown

14.6.1.2. Show Commands

show
— subscriber-mgmt
— isa-service-chaining
mappings svc service-id [sf-ip ip-address | ipv6-address] [esi esi] [state map-state]
vas-filter name [entry [entry]]
— router

14.6.2. Command Descriptions

14.6.2.1. Generic Commands

description

Syntax 
description description-string
no description
Context 
config>subscr-mgmt>isa-svc-chain>evpn
config>subscr-mgmt>isa-svc-chain>vas-filter
Description 

This command creates a text description stored in the configuration file for a configuration context. This associates a text string with a configuration context to help identify the context in the configuration file.

The no form of this command removes the description string from the context.

Parameters 
description-string—
Specifies a text string describing the entity. Allowed values are any string up to 80 characters long composed of printable, 7-bit ASCII characters excluding double quotes. If the string contains special characters (#, $, spaces, and so on), the entire string must be enclosed within double quotes.

shutdown

Syntax 
[no] shutdown
Context 
config>subscr-mgmt>isa-svc-chain>evpn
config>subscr-mgmt>isa-svc-chain>vas-filter
Description 

This command administratively disables the entity. When disabled, an entity does not change, reset, or remove any configuration settings or statistics. Many entities must be explicitly enabled using the no shutdown command.

The operational state of the entity is disabled as well as the operational state of any entities contained within. Many objects must be shut down before they can be deleted.

Unlike other commands and parameters where the default state is not indicated in the configuration file, shutdown and no shutdown are always indicated in system-generated configuration files.

The no form of this command puts an entity into the administratively enabled state.

14.6.2.2. Service Chaining Commands

isa-service-chaining

Syntax 
[no] isa-service-chaining
Context 
config>router
Description 

This command enables the context to configure ISA service chaining parameters.

The no form of the command disables ISA service chaining parameters.

nat-group

Syntax 
nat-group nat-group-id [create]
no nat-group nat-group-id
Context 
config>router>isa-svc-chain
Description 

This command allows service chaining to be enabled for subscribers whose NAT flows are established on the set of ISAs in the specified NAT group.

The no form of this command removes the NAT group from the configuration.

Parameters 
nat-group-id—
Specifies the NAT group identifier.
Values—
1 to 4

 

create—
Keyword used to create the NAT group instance. The create keyword requirement can be enabled or disabled in the environment>create context.

vxlan-vtep-range

Syntax 
vxlan-vtep-range start [ip-address | ipv6-address] end [ip-address | ipv6-address]
no vxlan-vtep-range
Context 
config>router>isa-svc-chain
Description 

This command specifies the address range to be used as the local VXLAN VTEP on the ISA for service chaining. The system allocates one address for each ISA in the NAT group out of the specified range. The allocated address appears as /32 or /128 routes in the global routing table with the route type nat.

The no form of this command removes the IP or IPv6 addresses from the configuration.

Parameters 
start—
Specifies the start address of the VXLAN VTEP range.
end—
Specifies the end address of the VXLAN VTEP range.
ip-address—
Specifies an IPv4 address start and end range.
Values—
ipv4-address - a.b.c.d

 

ipv6-address—
Specifies an IPv6 address start and end range

ipv6-address:

x:x:x:x:x:x:x:x (eight 16-bit pieces)

x:x:x:x:x:x:d.d.d.d

x - [0..FFFF]H

d - [0..255]D

isa-service-chaining

Syntax 
isa-service-chaining
Context 
config>subscr-mgmt
Description 

This command enables the context to configure ISA-based service chaining for subscribers with L2-Aware NAT.

evpn

Syntax 
evpn service-id [import-mode import-mode] [create]
no evpn service-id
Context 
config>subscr-mgmt>isa-svc-chain
Description 

This command configures the import mode for the service chaining EVPN service. The import-mode controls the EPVN route types that are imported by the EVPN system.

The no form of this command removes the configuration parameters.

Parameters 
service-id—
Specifies the service ID of the EVPN.
Values—
1 to 2147483647

 

import-mode—
Specifies the import mode of the EVPN.
Values—
bridged — The specified EVPN instance imports EVPN route type-2 and type-1 from the peer.
routed — The specified EVPN instance imports EVPN type-1, type-2 and type-5 routes from the peer. Also, the EVPN instance can be configured to export EVPN type-5 routes for NAT pools to the peer.
none — The specified EVPN instance does not import any EVPN routes from the peer but can be configured with NAT pools that are exported to the peer in EVPN type-5 routes.

 

create—
Keyword used to create the EVPN service instance. The create keyword requirement can be enabled or disabled in the environment>create context.

bgp

Syntax 
[no] bgp
Context 
config>subscr-mgmt>isa-svc-chain>evpn
Description 

This command enables the context to configure EVPN BGP-specific information.

The no form of this command reverts to the default.

route-distinguisher

Syntax 
route-distinguisher auto-rd
route-distinguisher rd
no route-distinguisher
Context 
config>subscr-mgmt>isa-svc-chain>evpn>bgp
Description 

This command configures the Route Distinguisher (RD) field that is signaled in NLRI in EVPN routes.

The no form of this command reverts to the default.

Parameters 
auto-rd—
Specifies that the system automatically generates an RD.
rd—
Specifies the RD.
Values—
rd: ip-addr:comm-val | 2byte-asnumber:ext-comm-val | 4byte-asnumber:comm-val
ip-addr: a.b.c.d
comm-val: [0 to 65535]
2byte-asnumber: [1 to 65535]
ext-comm-val: [0 to 4294967295]
4byte-asnumber: [1 to 4294967295]

 

route-target

Syntax 
route-target export ext-community import ext-community
no route-target
Context 
config>subscr-mgmt>isa-svc-chain>evpn>bgp
Description 

This command configures route target attributes to be signaled in EVPN routes used for service chaining.

The no form of this command removes the parameters from the configuration.

Parameters 
export —
Specifies the route target to be used by BGP in this EVPN service when exporting EVPN routes.
import —
Specifies the route target to be used by BGP in this EVPN service when importing EVPN routes.
ext-community—
Values—
rd: ip-addr:comm-val | 2byte-asnumber:ext-comm-val | 4byte-asnumber:comm-val
ip-addr: a.b.c.d
comm-val: [0 to 65535]
2byte-asnumber: [1 to 65535]
ext-comm-val: [0 to 4294967295]
4byte-asnumber: [1 to 4294967295]

 

export

Syntax 
[no] export
Context 
config>subscr-mgmt>isa-svc-chain>evpn
Description 

This command enables the context to configure information related to the export of EVPN BGP routes related to service chaining.

The no form of this command disables exporting EVPN BGP routes related to service chaining

gw-address-range

Syntax 
gw-address-range start start end end
no gw-address-range
Context 
config>subscr-mgmt>isa-svc-chain>evpn>export
Description 

This command specifies the address range to be used for the gateway IP address field in EVPN type-5 routes that are advertised for configured NAT pools, to the peer for service-chaining. The system allocates one address for each ISA in the NAT group out of the specified range.

The no form of this command removes the values from the configuration..

Parameters 
start—
Specifies the starting gateway address range (V4) for this EVPN service.
Values—
ipv4-address: a.b.c.d

 

end—
Specifies the ending gateway address range (V4) for this EVPN service.
Values—
ipv4-address: a.b.c.d

 

ip-advertise-routes

Syntax 
ip-advertise-routes
Context 
config>subscr-mgmt>isa-svc-chain>evpn>export
Description 

This command enables the context to configure EVPN routes to be advertised to a BGP EVPN peer participating in service chaining.

pool

Syntax 
pool pool-name router router-instance [create]
no pool pool-name router router-instance
Context 
config>subscr-mgmt>isa-svc-chain>evpn>ip-routes
Description 

This command configures NAT pools that are advertised in EVPN type 5 routes to the peer participating in service chaining.

The no form of this command removes the parameters from the configuration.

Parameters 
pool-name—
Specifies the name of the NAT pool up, to 32 characters.
router-instance—
Specifies the router instance belonging to the pool.
Values—
router-name | vprn-svc-id
router-name: B ase, management, cpm-vr-name, vpls-management Default - Base
vprn-svc-id: [1 to 2147483647]
cpm-vr-name: [up to 32 characters]
service-name: [up to 64 characters]

 

create—
Keyword used to create a pool instance. The create keyword requirement can be enabled or disabled in the environment>create context.

vxlan

Syntax 
vxlan vni vni
no vxlan
Context 
config>subscr-mgmt>isa-svc-chain>evpn>export
Description 

This command configures a VxLAN VNI that is sent in EVPN routes advertised to the service chaining.

The no form of this command removes the VNI from the configuration.

Parameters 
vni—
Specifies the VNI of the VXLAN created by the EVPN service.
Values—
1 to 16777215

 

mac-prefix

Syntax 
mac-prefix mac-prefix
no mac-prefix
Context 
config>subscr-mgmt>isa-svc-chain
Description 

This command configures the unique MAC prefix per ISA and per outside service for all NAT group configured for service-chaining.

The no form of this command removes the MAC prefix from the configuration.

Parameters 
mac-prefix—
Specifies the MAC prefix, up to eight characters, including separators.
Values—
format AA:BB:CC

 

vas-filter

Syntax 
vas-filter name [create]
no vas-filter name
Context 
config>subscr-mgmt>isa-svc-chain
Description 

This command configures a Value Added Service filter.

The no form of this command removes the VAS filter name from the configuration.

Default 

This command configures a value added service (VAS) filter that can be associated to an L2-aware NAT host, and is matched on the NAT ISA to select flows for a host that needs to be steered to remote value-added services.

Parameters 
name—
Specifies a VAS filter name, up to 32 characters.
create—
Keyword used to create the VAS filter instance. The create keyword requirement can be enabled or disabled in the environment>create context.

entry

Syntax 
entry id [create]
no entry id
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter
Description 

This command configures an entry in the VAS filter.

The no form of this command removes the entry ID from the configuration.

Parameters 
id—
Specified an entry in the VAS filter.
Values—
0 to 4294967295

 

create—
Keyword used to create the entry ID instance. The create keyword requirement can be enabled or disabled in the environment>create context.

action

Syntax 
action direction [create]
no action direction
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry
Description 

This command enables the context to configure an action to be performed for traffic that matches a configured match criteria in the filter entry. The action can be configured as being applicable to upstream traffic, downstream traffic, or both.

The no form of this command removes the direction from the configuration.

Parameters 
direction—
Specifies the direction for the action in a VAS filter entry.
Values—
upstream, downstream

 

create—
Keyword used to create the action’s direction. The create keyword requirement can be enabled or disabled in the environment>create context.

fail-action

Syntax 
fail-action fail-action
no fail-action
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry>action
Description 

This command configures the fail action when a packet matches with a VAS filter entry in a specific direction, but no mapping exists for the specified SF-IP or ESI in the specified EVPN service.

The no form of this command removes the fail action from the configuration.

Parameters 
fail-action—
Specifies the fail action.
Values—
drop, forward

 

forward

Syntax 
forward
forward sf-ip ip-address | ipv6-address svc service-id [esi esi]
no forward
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry>action
Description 

This command configures the forward action.

The no form of this command removes the parameters from the configuration..

Parameters 
ip-address—
Specifies forwarding the SF IPv4 address for the action in a VAS filter entry.
ipv6-address—
Specifies forwarding the SF IPv6 address for the action in a VAS filter entry.
service-id—
Specifies the service ID.
Values—
1 to 2147483647

 

esi—
Specifies the ESI for the action in a VAS filter entry.
Values—
10-byte Ethernet Segment Identifier:
00-11-22-33-44-55-66-77-88-99 with any of these separators ('-',':',' ')

 

insert-nsh

Syntax 
[no] insert-nsh
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry>action
Description 

This command enables the context to configure NSH parameters in the steered traffic.

The no form of this command removes insert NSA parameters from the configuration.

meta-data

Syntax 
meta-data
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry>action>insert-nsh
Description 

This command enables the context to configure opaque metadata to be inserted in NSH in the steered traffic if the forward action indicates NSH insertion.

insert-subscriber-id

Syntax 
[no] insert-subscriber-id
Context 
config>isa-svc-chain>vas-filter>entry>action>insert-nsh>meta-data
Description 

This command specifies that the metadata to be inserted in NSH (with MD-Type set to 1) must contain a subscriber identifier that is derived from the subscriber string that comes from the AAA server (in Alc-Subsc-Id-Str VSA). The subscriber string is truncated after the first 16 bytes, and therefore, the first 16 bytes should be unique. The insert-subscriber-id and insert-subscriber-id commands are mutually exclusive.

The no form of this command reverts to the default.

opaque-data

Syntax 
opaque-data hex-string
no opaque-data
Context 
config>isa-svc-chain>vas-filter>entry>action>insert-nsh>meta-data
Description 

This command specifies 16-byte opaque data HEX string to be inserted in NSH meta-data (with MD-Type set to 1). The opaque data can also be provided (overridden) by AAA server. AAA server has precedence over static configuration. The opaque-data and insert-subscriber-id commands are mutually exclusive

The no form of this command removes the HEX string from the configuration.

Parameters 
hex-string—
Specifies the HEX string up to 32 characters.

svc-path

Syntax 
svc-path path-id svc-index service-index
no svc-path
Context 
config>isa-svc-chain>vas-filter>entry>action>insert-nsh
Description 

This command configures the service path identifier and service index to be inserted in NSH in the steered traffic if the forward action indicates NSH insertion.

The no form of this command removes the parameters from the configuration.

Parameters 
path-id—
Specifies the 24-bit path ID in the base part of NSH.
Values—
0 to 16777215

 

service-index—
Specifies the 8-bit service index inserted in the base part of NSH.
Values—
0 to 255

 

match

Syntax 
match
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry
Description 

This command enables the context to configure the match criterion for a VAS filter entry.

foreign-ip

Syntax 
foreign-ip ip-address[/mask]
no foreign-ip
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry>match
Description 

This command configures the foreign IP address or subnet in the match criterium for this entry. The foreign IP or subnet implies a matching destination IP for upstream traffic and a source IP for downstream traffic.

The no form of this command removes the IP address or subnet from the match criterium in the entry

Parameters 
ip-address/mask—
Specifies the IPv4 address and mask.
Values—
ip-address a.b.c.d
mask 0 to 32

 

foreign-port

Syntax 
foreign-port port
no foreign-port
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry>match
Description 

This command configures the foreign TCP/UDP port to match in this entry of the VAS filter.

The no form of this command

Parameters 
port—
Specifies the foreign IP port to match.
Values—
1 to 65535

 

protocol

Syntax 
protocol protocol-id
no protocol
Context 
config>subscr-mgmt>isa-svc-chain>vas-filter>entry>match
Description 

This command configures the protocol ID to be matched in this entry of the VAS filter.

The no form of this command removes the protocol ID from the match criterium in the entry.

Parameters 
protocol-id—
Specifies the protocol to match.
Values—
protocol-id: protocol-number | protocol-name
protocol-number: 1, 6, 17]D
[0x1,0x6,0x11]H [0b1,0b110,0b10001]B
protocol-name: none, icmp, tcp, udp
* udp/tcp wildcard

 

14.6.2.3. Show Commands

mappings

Syntax 
mappings svc service-id [sf-ip ip-address | ipv6-address] [esi esi] [state map-state]
Context 
show>subscr-mgmt>isa-svc-chain
Description 

This command shows reachability details for the SF in the specified EVPN instance. This information is gathered from the EVPN routes learned from the peer.

Parameters 
service-id—
Displays information about the specified service ID.
Values—
1 to 2147483647

 

ip-address—
Displays information about the specified IPv4 address up to 64 characters.
ipv6-address—
Displays information about the specified IPv6 address up to 64 characters.
esi—
Displays information about the specified the ESI value.
Values—
10-byte Ethernet Segment Identifier
00-11-22-33-44-55-66-77-88-99 with
any of these separators ('-',':',' ')

 

map-state—
Displays map state status.
Values—
resolved, unresolved

 

Output 

The following is an example of service chaining mapping information.

Sample Output
show subscriber-mgmt isa-service-chaining mappings svc 111
=====================================================================
ISA Service Chaining - Mappings for EVPN 111
=====================================================================
IP-mappings
           MAC                Vni       Vtep
-------------------------------------------------------------------------------
160.0.0.7
           00:00:01:00:00:01  1         5.20.1.12
170.0.0.7
           00:00:02:00:00:01  1         5.20.1.12
-------------------------------------------------------------------------------
ESI-mappings
                              Vni       Vtep
-------------------------------------------------------------------------------
24:23:2c:2e:2f:36:2e:4d:1b:4c
                              1         5.20.1.12
-------------------------------------------------------------------------------
No. of mappings: 3
Table 167:  Service Chaining Mappings Field Descriptions   

Label

Description

IP-mappings

The IP address

MAC

The MAC address of the IP mappings

Vni

The VxLAN network identifier

Vtep

The VxLAN tunnel endpoint

ESI-mappings

The Ethernet Segment Identifier MAC address

No. of mappings

The total number of mappings for the EVPN ID.

vas-filter

Syntax 
vas-filter name [entry [entry]]
vas-filter
Context 
show>subscr-mgmt>isa-svc-chain
Description 

This command displays VAS filter information.

Parameters 
name—
Displays information about the specified name of the VAS filter.
entry—
Displays information about the specified VAS filter entry
Values—
0 to 4294967295

 

Output 

The following is an example of VAS filter information.

Sample Output
show subscriber-mgmt isa-service-chaining vas-filter "foo"
====================================================================
ISA Service Chaining - VAS Filter "vas-filter"
====================================================================
Description            : (Not Specified)
-------------------------------------------------------------------------------
Entry                       : 1
Admin State            : in-service
Description            : (Not Specified)
Match
    Protocol             :   udp
    Foreign IP          :  12.1.1.1/24
    Foreign Port       :  2000
Action upstream
    Fail Action        : forward
    Forwarding
        Forward IP     : 40.1.0.1
        Service           : 11
        ESI                 : N/A
     Network Service Header
        Service Path   : 32          
        Service Index  : 2
        Insert Sub-Id  : disabled
        Meta Data      : 0xaabbccdd
      Action downstream
          Fail Action        : forward
          Forwarding
              Forward IP     : 30.1.0.1
             Service           : 11
              ESI                 : N/A
         Network Service Header
             Service Path   : 32          
             Service Index  : 2
             Insert Sub-Id  : disabled
             Meta Data      : 0xaabbccdd
Table 168:  Service Chaining VAS Filter Field Descriptions  

Label

Description

Description

The text string describing the VAS filter

Entry

The ID of the entry in the VAS filter

Admin State

The administrative state of the entry in the VAS filter

Match

Protocol — The IP protocol to match in this entry of the VAS filter

Foreign IP — The foreign IP address to match in this entry of the VAS filter

Foreign Port — The foreign port to match in this entry of the VAS filter

Action

upstream — Indicates the upstream direction for the action in the VAS filter entry

downstream — Indicates the downstream direction for the action in the VAS filter entry

Fail Action

Forwarding IP — The forwarding Service Function IP address for the action in a VAS filter entry

Service — The forwarding service for the action in a VAS filter entry

ESA — The ESI for the action in a VAS filter entry

Network Service Header

Service Path — The path ID used to construct an NSH (Network Service Header) for the action in a VAS filter entry

Service Index — The service ID used to construct an NSH for the action in a VAS filter entry

Insert Sub-ID

disabled — The subscriber ID is not inserted with meta data to construct an NSH for the action in a VAS filter entry

enabled — The subscriber ID is inserted with meta data to construct an NSH for the action in a VAS filter entry

Meta Data — The opaque metadata used to construct an NSH (Network Service Header) for the action in a VAS filter entry

isa-service-chaining

Syntax 
isa-service-chaining
Context 
show>router
Description 

This command displays information related to service chaining (for ESM hosts with L2-aware NAT) at the router level.

Output 

The following is an example of ISA service chaining information.

Sample Output
show router isa-service-chaining 
===============================================================
ISA Service Chaining - Router "Base"
===============================================================
VXLAN Tep range        : 1.2.3.4 - 1.2.3.8
NAT Groups                  : 2
===============================================================
Table 169:    

Label

Description

VXLAN Tep range

The VXLAN Tep Information (VTEP) range

NAT Groups

The NAT ISA group used in a virtual router for Service Chaining.