The dynamic services parameters are configured under the configure service dynamic-services CLI context. The following output shows two policy examples.
configure service dynamic-services
dynamic-services-policy "dynamic-services-1" create
accounting-1
server-policy "radius-server-policy-1"
update-interval min 5
exit
accounting-2
server-policy "radius-server-policy-2"
stats-type time
update-interval min 5
update-interval-jitter absolute 10
exit
cli-user "dynuser"
description "Dynamic Service Policy #1"
sap-limit 4000
script-policy "script-policy-1"
exit
dynamic-services-policy "dynamic-services-2" create
accounting-1
server-policy "radius-server-policy-2"
stats-type volume-time
update-interval min 30
update-interval-jitter absolute 20
exit
accounting-2
server-policy "radius-server-policy-2"
stats-type time
update-interval min 5
update-interval-jitter absolute 10
exit
cli-user "dynuser"
description "Dynamic Service Policy #2"
sap-limit 100
script-policy "script-policy-2"
exit
service-range 1000 10000
timers
setup-timeout access-accept 3
exit
The setup-timeout value under timers is used to limit the maximum delay allowed for a dynamic data service setup. In addition, it also protects the node during times where there is a high load on the CPU. If a requested dynamic data service cannot be established in the specified time the request will be dropped.
configure aaa
radius-script-policy "script-policy-2”
action-on-fail passthrough
primary
script-url "cf3:/scripts/dyn_services.py"
no shutdown
exit
secondary
script-url ftp://*:*@10.255.137.80/scripts/dyn_services.py"
no shutdown
exit
exit
exit
The use of the VSAs in RADIUS Access-Accept, CoA and Disconnect Messages is detailed in Table 43. An Access-Accept message can only contain dynamic data service setup requests. A CoA can be used to setup, modify or terminate a dynamic data service. A Disconnect Message can only be used to terminate a dynamic data service.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The default policy used when not specified for create.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To summarize, Table 44 shows resulting dynamic service script actions as function of the RADIUS message (Access-Accept, CoA or DM) and the target (Control Channel or Dynamic Service SAP).
When called, the dyn.action will take the “function-key” string specified in the Alc-Dyn-Serv-Script-Params attribute, and perform a lookup in the specified dictionary d to find the corresponding Python function to execute. The format of the dictionary is d = {key-1 : (Setup-1, Modify-1, Revert-1, Teardown-1), …, key-n : (Setup-n, Modify-n, Revert-n, Teardown-n) }. If the function-key matches, for example, key-1 and the corresponding Alc-Dyn-Script-Action is “setup”, then the function specified as “Setup-1” will be executed. Setup and teardown functions are mandatory. Modify and revert functions are optional. If a modify function is defined, a corresponding revert function must also be defined. If no modify/revert function is required, the keyword “None” should be used instead.
|
|
|
|
rd: radius dictionary in the parameter list in Alc-Dyn-Serv-Script-Params. VSA Passed to setup function.
|
|
|
rd: radius dictionary in the parameter list in Alc-Dyn-Serv-Script-Params. VSA passed to modify function.
sd: previously stored dictionary of the setup/previous modify functions.
|
|
|
rd: radius dictionary in the parameter list in Alc-Dyn-Serv-Script-Params. VSA passed to revert function.
sd: previously stored dictionary of the setup/previous modify function.
|
|
|
sd: previously stored dictionary by the setup function or a previous modify function are passed to the teardown function.
|
|
|
|
|
|
|
A:BNG-1# show service dynamic-services saps summary
===============================================================================
Dynamic Services SAP's summary
===============================================================================
SAP Acct-Session-ID Acct-Session-ID-Ctrl
-------------------------------------------------------------------------------
3/2/1:4.3 D6E559000000B951668AEB D6E559000000B851668AEB
3/2/2:1.1 D6E559000000C75166CFF4 D6E559000000C45166CFF4
3/2/2:1.2 D6E559000000C85166CFF4 D6E559000000C45166CFF4
3/2/2:1.3 D6E559000000C95166CFF4 D6E559000000C45166CFF4
3/2/2:1.4 D6E559000000CA5166CFF4 D6E559000000C45166CFF4
-------------------------------------------------------------------------------
No. of SAP's: 5
===============================================================================
-snip-
d = {
"vprn": (setup_vprn, None, None, teardown_vprn),
"ies": (setup_ies, None, None, teardown_ies),
"vpls": (setup_vpls, None, None, teardown_vpls),
"epipe": (setup_epipe, None, None, teardown_epipe),
"ethcfm" : (setup_ethcfm_domain, None, None, teardown_ethcfm_domain),
"business_vprn" : (setup_business_vprn, None, None, teardown_business_vprn),
"business_ies" : (setup_business_ies, None, None, teardown_business_ies),
"business_vpls" : (setup_business_vpls, None, None, teardown_business_vpls),
"business_epipe" : (setup_business_epipe, modify_business_epipe,
revert_business_epipe, teardown_business_epipe)}
dyn.action(d)
# copy of the RADIUS attributes from above
-snip-
Alc-Dyn-Serv-SAP-Id:1 = "#:#.1",
Alc-Dyn-Serv-Script-Params:1 = "business_epipe={'t':
('EPipe-CustomerName','CustomerName-Circuit-1','3','3','64496'
,'192.0.2.5','192.0.2.1','3333')}",
Alc-Dyn-Serv-Policy:1 = "dynamic-services-2",
-snip-
# Python-part
d = {
-snip-
"business_epipe" : (setup_business_epipe, modify_business_epipe,
revert_business_epipe, teardown_business_epipe)
dyn.action(d)
-snip-
def setup_business_epipe(d):
keys = ('inst', 'if_name', 'ing_qos', 'egr_qos', 'as', 'remote_ip',
'local_ip', 'glb_svc_id')
d = dict(zip(keys, d['t']))
ref_d = dyn.reference("epipe", d['inst'], d)
d['svc_id'] = ref_d['svc_id']
d['sap_id'] = dyn.get_sap()
dyn.add_cli("""
configure
service
epipe %(svc_id)s
sap %(sap_id)s create
description "%(if_name)s"
ingress
qos %(ing_qos)s
exit
egress
qos %(egr_qos)s
exit
exit
spoke-sdp-fec %(svc_id)s fec 129 aii-type 2 create
pw-template-bind 2
saii-type2 %(as)s:%(local_ip)s:%(glb_svc_id)s
taii-type2 %(as)s:%(remote_ip)s:%(glb_svc_id)s
no shutdown
exit
exit
exit
exit
""" % d)
return d
def setup_epipe(d):
d['svc_id'] = dyn.select_free_id("service-id")
dyn.add_cli("""
configure
service
epipe %(svc_id)s customer 1 create
service-name "%(inst)s"
description "%(inst)s"
no shutdown
exit
exit
exit
""" % d)
return {'svc_id':d['svc_id']}
def teardown_epipe(d):
dyn.add_cli("""
configure
service
epipe %(svc_id)s
shutdown
exit
no epipe %(svc_id)s
exit
exit
""" % d)
def teardown_business_epipe(d):
dyn.add_cli("""
configure
service
epipe %(svc_id)s
sap %(sap_id)s
shutdown
exit
spoke-sdp-fec %(svc_id)s
shutdown
exit
no sap %(sap_id)s
no spoke-sdp-fec %(svc_id)s
exit
exit
exit
""" % d)
-snip-
RADIUS-part from above
-snip-
Alc-Dyn-Serv-SAP-Id:2 += "#:#.2",
Alc-Dyn-Serv-Script-Params:2 += "business_vprn={'t':
('9999','VPRN-CustomerName','64497','100000',
'CustomerName-Circuit-1','172.16.10.1/30','3','1','3','2',
'172.16.100.0/24','172.16.10.2','100')}",
Alc-Dyn-Serv-Acct-Interim-Ivl-1:2 += "600",
Alc-Dyn-Serv-Acct-Interim-Ivl-2:2 += "0",
Alc-Dyn-Serv-Policy:2 += "dynamic-services-2",
-snip-
Python-part
d = {
-snip-
"business_vprn" : (setup_business_vprn, None, None, teardown_business_vprn)
dyn.action(d)
-snip-
def setup_business_vprn(d):
keys = ('svc_id', 'inst', 'as_id', 'comm_id', 'if_name', 'ipv4_address',
'ing_qos', 'ing_ip_filter', 'egr_qos', 'egr_ip_filter', 'lan_pfx',
'nxt_hop', 'metric')
d = dict(zip(keys, d['t']))
ref_d = dyn.reference("vprn", d['inst'], d)
d['sap_id'] = dyn.get_sap()
dyn.add_cli("""
configure
service
vprn %(svc_id)s
interface "%(if_name)s" create
address %(ipv4_address)s
urpf-check mode strict
sap %(sap_id)s create
ingress
qos %(ing_qos)s
filter ip %(ing_ip_filter)s
exit
egress
qos %(egr_qos)s
filter ip %(egr_ip_filter)s
exit
exit
exit
exit
exit
router
static-route %(lan_pfx)s next-hop %(nxt_hop)s metric %(metric)s
exit
exit
""" % d)
return d
def setup_vprn(d):
dyn.add_cli("""
configure
service
vprn %(svc_id)s customer 1 create
service-name "%(inst)s"
description "%(inst)s"
autonomous-system %(as_id)s
route-distinguisher %(as_id)s:%(comm_id)s
auto-bind mpls
vrf-target target:%(as_id)s:%(comm_id)s
no shutdown
exit
exit
exit
""" % d)
return {'svc_id':d['svc_id']}
def teardown_vprn(d):
dyn.add_cli("""
configure
service
vprn %(svc_id)s
shutdown
exit
no vprn %(svc_id)s
exit
exit
""" % d)
def teardown_business_vprn(d):
dyn.add_cli("""
configure
router
no static-route %(lan_pfx)s next-hop %(nxt_hop)s
exit
service
vprn %(svc_id)s
interface "%(if_name)s"
sap %(sap_id)s
shutdown
exit
no sap %(sap_id)s
shutdown
exit
no interface "%(if_name)s"
exit
exit
exit
""" % d)
-snip-
RADIUS-part from above
-snip-
Alc-Dyn-Serv-SAP-Id:3 += "#:#.3",
Alc-Dyn-Serv-Script-Params:3 += "business_vpls={'inst':
'VPLS-CustomerName','if_name':'CustomerName-Circuit-1','ing_qos':'3',
'egr_qos':'3','imp_comm_val':'10000','exp_comm_val':'10000',
'rt':'64498','rd':'64498'}",
Alc-Dyn-Serv-Policy:3 += "dynamic-services-2",
Alc-Dyn-Serv-Acct-Interim-Ivl-1:3 += "0",
Alc-Dyn-Serv-Acct-Interim-Ivl-2:3 += "0",
Alc-Dyn-Serv-Acct-Stats-Type-1:3 += off,
Alc-Dyn-Serv-Acct-Stats-Type-2:3 += off,
-snip-
Python-part
d = {
-snip-
"business_vpls" : (setup_business_vpls, None, None, teardown_business_vpls)
-snip-
def setup_business_vpls(d):
ref_d = dyn.reference("vpls", d['inst'], d)
d['svc_id'] = ref_d['svc_id']
d['sap_id'] = dyn.get_sap()
dyn.add_cli("""
configure
service
vpls %(svc_id)s
sap %(sap_id)s create
description "%(if_name)s"
ingress
qos %(ing_qos)s
exit
egress
qos %(egr_qos)s
exit
collect-stats
accounting-policy 10
exit
exit
exit
exit
""" % d)
return d
def setup_vpls(d):
d['svc_id'] = dyn.select_free_id("service-id")
dyn.add_cli("""
configure
service
vpls %(svc_id)s customer 1 create
service-name "%(inst)s"
description "%(inst)s"
bgp
route-distinguisher %(rd)s:%(exp_comm_val)s
route-target export target:%(rt)s:%(exp_comm_val)s
import target:%(rt)s:%(imp_comm_val)s
pw-template-binding 1
exit
exit
bgp-ad
vpls-id %(rt)s:%(exp_comm_val)s
no shutdown
exit
no shutdown
exit
exit
exit
""" % d)
return {'svc_id':d['svc_id']}
def teardown_vpls(d):
dyn.add_cli("""
configure
service
vpls %(svc_id)s
shutdown
bgp-ad
shutdown
exit
no bgp-ad
bgp
no pw-template-binding 1
exit
exit
no vpls %(svc_id)s
exit
exit
""" % d)
def teardown_business_vpls(d):
dyn.add_cli("""
configure
service
vpls %(svc_id)s
sap %(sap_id)s
shutdown
exit
no sap %(sap_id)s
exit
exit
exit
""" % d)
-snip-
RADIUS-part from above
-snip-
Alc-Dyn-Serv-SAP-Id:4 += "#:#.4",
Alc-Dyn-Serv-Script-Params:4 += "business_ies={'t':
('IES-CustomerName','CustomerName-Circuit-1','172.16.11.1/30',
'2001:db8:5100:1000::1/64','5','1','1','6','2','2','5','25',
'cfm-Mep-to-CPE','100',",
Alc-Dyn-Serv-Script-Params:4 += "[{'to':'172.16.110.0/24',
'n-h':'172.16.11.2'},{'to':'2001:db8:bbbb::/56',
'n-h':'2001:db8:5100:1000::2'}])}",
Alc-Dyn-Serv-Policy:4 += "dynamic-services-2",
Alc-Dyn-Serv-Acct-Interim-Ivl-1:4 += "600",
Alc-Dyn-Serv-Acct-Interim-Ivl-2:4 += "0",
Alc-Dyn-Serv-Acct-Stats-Type-1:4 += "3",
Alc-Dyn-Serv-Acct-Stats-Type-2:4 += "2",
-snip-
Python-part
d = {
-snip-
"business_ies" : (setup_business_ies, None, None, teardown_business_ies)
-snip-
def setup_business_ies(d):
keys = ('inst', 'if_name', 'ipv4_address', 'ipv6_address', 'ing_qos',
'ing_ip_filter', 'ing_ipv6_filter', 'egr_qos', 'egr_ip_filter',
'egr_ipv6_filter', 'ing_bw', 'egr_bw', 'cfm_assoc_id', 'metric',
'routes')
d = dict(zip(keys, d['t']))
ref_d = dyn.reference("ies", d['inst'], d)
d['svc_id'] = ref_d['svc_id']
d['sap_id'] = dyn.get_sap()
d['cfm_domain'] = 1
ref_d_cfm = dyn.reference("ethcfm", str(d['cfm_domain']), d)
dyn.add_cli("""
configure
eth-cfm
domain %(cfm_domain)s
association %(svc_id)s format string name "%(cfm_assoc_id)s"
bridge-identifier %(svc_id)s
exit
ccm-interval 1
remote-mepid 2
exit
exit
exit
service
ies %(svc_id)s
interface "%(if_name)s" create
address %(ipv4_address)s
urpf-check mode strict
cflowd interface both
ipv6
address %(ipv6_address)s
urpf-check mode strict
exit
sap %(sap_id)s create
description "%(if_name)s"
ingress
scheduler-policy "Business Services"
scheduler-override
scheduler "root-t1" create
rate %(ing_bw)s000
exit
exit
qos %(ing_qos)s
filter ip %(ing_ip_filter)s
filter ipv6 %(ing_ipv6_filter)s
exit
egress
qos %(egr_qos)s
filter ip %(egr_ip_filter)s
filter ipv6 %(egr_ip_filter)s
agg-rate-limit %(egr_bw)s000 queue-frame-based-accounting
exit
collect-stats
accounting-policy 10
eth-cfm
mep 1 domain %(cfm_domain)s association %(svc_id)s direction down
ccm-enable
no shutdown
exit
exit
exit
urpf-check
exit
exit
exit
exit
router
""" % d)
for route in d['routes']:
dyn.add_cli("""
static-route %s next-hop %s metric %s tag 80
"""% (route["to"], route["n-h"], d['metric']))
dyn.add_cli("""
exit
exit
""" % d)
return d
def setup_ies(d):
d['svc_id'] = dyn.select_free_id("service-id")
dyn.add_cli("""
configure
service
ies %(svc_id)s customer 1 create
service-name "%(inst)s"
description "%(inst)s"
no shutdown
exit
exit
exit
""" % d)
return {'svc_id':d['svc_id']}
def setup_ethcfm_domain(d):
dyn.add_cli("""
configure
eth-cfm
domain %(cfm_domain)s format none level 1
exit
exit
exit
""" % d)
return {'cfm_domain':d['cfm_domain']}
def teardown_ethcfm_domain(d):
dyn.add_cli("""
configure
eth-cfm
no domain %(cfm_domain)s
exit
exit
""" % d)
def teardown_ies(d):
dyn.add_cli("""
configure
service
ies %(svc_id)s
shutdown
exit
no ies %(svc_id)s
exit
exit
""" % d)
def teardown_business_ies(d):
dyn.add_cli("""
configure
router
""")
for route in d['routes']:
dyn.add_cli("""
no static-route %s next-hop %s
"""% (route["to"], route["n-h"]))
dyn.add_cli("""
exit
exit
""")
dyn.add_cli("""
configure
service
ies %(svc_id)s
interface "%(if_name)s"
sap %(sap_id)s
shutdown
eth-cfm
mep 1 domain %(cfm_domain)s association %(svc_id)s
shutdown
exit
no mep 1 domain %(cfm_domain)s association %(svc_id)s
exit
exit
no sap %(sap_id)s
shutdown
exit
no interface "%(if_name)s"
exit
exit
eth-cfm
domain %(cfm_domain)s
association %(svc_id)s
no bridge-identifier %(svc_id)s
exit
no association %(svc_id)s
exit
exit
exit
""" % d)
-snip-
RADIUS attributes in the COA message
Acct-Session-Id = D6E559000000BD5166BF34 #
Alc-Dyn-Serv-SAP-Id:1 = "#:#.1",
Alc-Dyn-Serv-Script-Params:1 = "business_epipe={'ing_qos':'4','egr_qos':'4'}",
Alc-Dyn-Serv-Script-Action:1 = modify,
Alc-Dyn-Serv-Policy:1 = "dynamic-services-2",
Python-part
d = {
-snip-
"business_epipe" : (setup_business_epipe, modify_business_epipe, revert_business_epipe, teardown_business_epipe)}
dyn.action(d)
-snip-
def modify_business_epipe(d, sd):
sd['ing_qos'] = d['ing_qos']
sd['egr_qos'] = d['egr_qos']
dyn.add_cli("""
configure
service
epipe %(svc_id)s
sap %(sap_id)s
ingress
qos %(ing_qos)s
exit
egress
qos %(egr_qos)s
exit
exit
exit
exit
exit
"""% sd)
return sd
def revert_business_epipe(d, sd):
dyn.add_cli("""
configure
service
epipe %(svc_id)s
sap %(sap_id)s
ingress
qos %(ing_qos)s
exit
egress
qos %(egr_qos)s
exit
exit
exit
exit
exit
""" % sd)
-snip-
configure aaa radius-script-policy <script-policy-name> <primary/secondary> shutdown
configure aaa radius-script-policy <script-policy-name> <primary/secondary> no shutdown
Dynamic data services cannot be edited in normal CLI mode as it may potentially make a later removal of that service through the script impossible. For troubleshooting there is a procedure to manipulate those services during the testing phase, thus avoiding the need to reboot the box to clear the state. The enable-dynamic-services-config command allows for the editing dynamic services just like normal services. As this is an action that should only be executed by authorized personnel, the activation of this command is protected by the use of a password, defined under
configure system security password dynsvc-password.
The show users command has been extended to visualize the respective mode ('D' indicates a user is in dynamic service edit mode). A user in dynamic services edit mode cannot modify regular services.
no enable-dynamic-services-config returns the user to normal mode.
debug dynamic-services
debug dynamic-services scripts
debug dynamic-services scripts event
debug dynamic-services scripts event cli
debug dynamic-services scripts event errors
debug dynamic-services scripts event executed-cmd
debug dynamic-services scripts event state-change
debug dynamic-services scripts event warnings
debug dynamic-services scripts instance
debug dynamic-services scripts instance event
debug dynamic-services scripts instance event cli
debug dynamic-services scripts instance event errors
debug dynamic-services scripts instance event executed-cmd
debug dynamic-services scripts instance event state-change
debug dynamic-services scripts instance event warnings
debug dynamic-services scripts script
debug dynamic-services scripts script event
debug dynamic-services scripts script event cli
debug dynamic-services scripts script event errors
debug dynamic-services scripts script event executed-cmd
debug dynamic-services scripts script event state-change
debug dynamic-services scripts script event warnings
show service dynamic-services script statistics provides general statistics about script execution.
show service dynamic-services script snippets displays the individual service configuration parts and allows to check if all “snippets” are actually referenced (the counter will increment/decrement with every function call).
An orphaned object no longer has any references, which can be seen using show service dynamic-services root-objects where the snippet name and snippet instance is set to “N/A”.
*A:BNG-1# show debug
debug
router "Base"
radius
packet-type authentication accounting coa
detail-level medium
exit
exit
router "management"
radius
packet-type authentication accounting coa
detail-level medium
exit
exit
dynamic-services
scripts
event
cli
exit
instance "dynamic-services-1"
event
cli
exit
exit
exit
exit
exit
9 2013/04/12 20:47:23.73 UTC MINOR: DEBUG #2001 Base RADIUS
"RADIUS: Transmit
Access-Request(1) 172.31.1.2:1812 id 70 len 206 vrid 1 pol authentication-2
USER NAME [1] 24 subscriber12@domain2.com
NAS IP ADDRESS [4] 4 192.0.2.1
SERVICE TYPE [6] 4 Framed(2)
FRAMED PROTOCOL [7] 4 PPP(1)
CHAP PASSWORD [3] 17 1 0xd4b73e0a17c0ad7f03c19bc1db5c291d
CHAP CHALLENGE [60] 41 0x620fa5f8be193d2066f6abad96c7de2df03986e3421f9733220d9520137b0bf40b30edc9c92bea30a2
VSA [26] 29 DSL(3561)
AGENT CIRCUIT ID [1] 13 circuit-id-12
AGENT REMOTE ID [2] 12 remote-id-12
NAS PORT ID [87] 11 3/2/2:1.100
CALLING STATION ID [31] 17 00:00:64:01:02:03
NAS IDENTIFIER [32] 5 BNG-1
NAS PORT TYPE [61] 4 PPPoEoQinQ(34)
10 2013/04/12 20:47:23.73 UTC MINOR: DEBUG #2001 Base RADIUS
"RADIUS: Receive
Access-Accept(2) id 70 len 211 from 172.31.1.2:1812 vrid 1 pol authentication-2
VSA [26] 14 Alcatel(6527)
SUBSC ID STR [11] 12 pppoe-user12
FRAMED IP ADDRESS [8] 4 10.2.1.200
VSA [26] 8 Alcatel(6527)
DYN SERV SAP ID [164] 6 1 #:#.1
VSA [26] 118 Alcatel(6527)
DYN SERV SCRIPT PARAMS [165] 116 1 business_epipe={'t':('EPipe-CustomerName','CustomerName-Circuit-1','3','3','64496','192.0.2.5','192.0.2.1','3333')}
VSA [26] 21 Alcatel(6527)
DYN SERV POLICY [167] 19 1 dynamic-services-2
11 2013/04/12 20:47:23.75 UTC MINOR: DEBUG #2001 Base RADIUS
"RADIUS: Transmit
Accounting-Request(4) 172.31.1.2:1813 id 108 len 191 vrid 1 pol accounting-2
STATUS TYPE [40] 4 Start(1)
NAS IP ADDRESS [4] 4 192.0.2.1
SERVICE TYPE [6] 4 Framed(2)
FRAMED PROTOCOL [7] 4 PPP(1)
FRAMED IP ADDRESS [8] 4 10.2.1.200
FRAMED IP NETMASK [9] 4 255.255.255.255
NAS IDENTIFIER [32] 5 BNG-1
SESSION ID [44] 22 D6E559000000D2516872DB
MULTI SESSION ID [50] 22 D6E559000000D3516872DB
EVENT TIMESTAMP [55] 4 1365799643
NAS PORT TYPE [61] 4 PPPoEoQinQ(34)
NAS PORT ID [87] 11 3/2/2:1.100
VSA [26] 29 DSL(3561)
AGENT CIRCUIT ID [1] 13 circuit-id-12
AGENT REMOTE ID [2] 12 remote-id-12
VSA [26] 14 Alcatel(6527)
SUBSC ID STR [11] 12 pppoe-user12
"
12 2013/04/12 20:47:23.74 UTC MINOR: DEBUG #2001 Base dyn-script cli 1/1
"dyn-script cli 1/1: epipe:EPipe-CustomerName(cli 172 dict 0->31)
configure
service
epipe 1000 customer 1 create
service-name "EPipe-CustomerName"
description "EPipe-CustomerName"
no shutdown
exit
exit
exit
"
14 2013/04/12 20:47:23.74 UTC MINOR: DEBUG #2001 Base dyn-script cli 1/1
"dyn-script cli 1/1: business_epipe:3/2/2:1.1(cli 418 dict 0->308)
configure
service
epipe 1000
sap 3/2/2:1.1 create
description "CustomerName-Circuit-1"
ingress
qos 3
exit
egress
qos 3
exit
exit
spoke-sdp-fec 1000 fec 129 aii-type 2 create
pw-template-bind 2
saii-type2 64496:192.0.2.1:3333
taii-type2 64496:192.0.2.5:3333
no shutdown
exit
exit
exit
exit
"
16 2013/04/12 20:47:23.76 UTC MINOR: DEBUG #2001 Base RADIUS
"RADIUS: Transmit
Accounting-Request(4) 172.31.1.2:1813 id 252 len 294 vrid 1 pol radius-server-policy-2
STATUS TYPE [40] 4 Start(1)
NAS IP ADDRESS [4] 4 192.0.2.1
SESSION ID [44] 22 D6E559000000D4516872DB
NAS PORT ID [87] 9 3/2/2:1.1
DELAY TIME [41] 4 0
NAS IDENTIFIER [32] 5 BNG-1
EVENT TIMESTAMP [55] 4 1365799643
MULTI SESSION ID [50] 22 D6E559000000D1516872DB
USER NAME [1] 24 subscriber12@domain2.com
VSA [26] 29 DSL(3561)
AGENT CIRCUIT ID [1] 13 circuit-id-12
AGENT REMOTE ID [2] 12 remote-id-12
VSA [26] 117 Alcatel(6527)
DYN SERV SCRIPT PARAMS [165] 115 business_epipe={'t':('EPipe-CustomerName','CustomerName-Circuit-1','3','3','64496','192.0.2.5','192.0.2.1','3333')}
"
15 2013/04/12 20:47:23.76 UTC MINOR: DEBUG #2001 Base RADIUS
"RADIUS: Transmit
Accounting-Request(4) 172.31.1.2:1813 id 251 len 294 vrid 1 pol radius-server-policy-2
STATUS TYPE [40] 4 Start(1)
NAS IP ADDRESS [4] 4 192.0.2.1
SESSION ID [44] 22 D6E559000000D4516872DB
NAS PORT ID [87] 9 3/2/2:1.1
DELAY TIME [41] 4 0
NAS IDENTIFIER [32] 5 BNG-1
EVENT TIMESTAMP [55] 4 1365799643
MULTI SESSION ID [50] 22 D6E559000000D1516872DB
USER NAME [1] 24 subscriber12@domain2.com
VSA [26] 29 DSL(3561)
AGENT CIRCUIT ID [1] 13 circuit-id-12
AGENT REMOTE ID [2] 12 remote-id-12
VSA [26] 117 Alcatel(6527)
DYN SERV SCRIPT PARAMS [165] 115 business_epipe={'t':('EPipe-CustomerName','CustomerName-Circuit-1','3','3','64496','192.0.2.5','192.0.2.1','3333')}
"
21 2013/04/12 20:51:46.69 UTC MINOR: DEBUG #2001 Base RADIUS
"RADIUS: Transmit
Accounting-Request(4) 172.31.1.2:1813 id 173 len 511 vrid 1 pol radius-server-policy-1
STATUS TYPE [40] 4 Interim-Update(3)
NAS IP ADDRESS [4] 4 192.0.2.1
SESSION ID [44] 22 D6E559000000D4516872DB
NAS PORT ID [87] 9 3/2/2:1.1
DELAY TIME [41] 4 0
NAS IDENTIFIER [32] 5 BNG-1
EVENT TIMESTAMP [55] 4 1365799906
SESSION TIME [46] 4 125174
MULTI SESSION ID [50] 22 D6E559000000D1516872DB
USER NAME [1] 23 subscriber12@domain2.com
VSA [26] 27 DSL(3561)
AGENT CIRCUIT ID [1] 12 circuit-id-12
AGENT REMOTE ID [2] 11 remote-id-12
VSA [26] 241 Alcatel(6527)
DYN SERV SCRIPT PARAMS [165] 115 business_epipe={'t':('EPipe-CustomerName','CustomerName-Circuit-1','3','3','64496','192.0.2.5','192.0.2.1','3333')}
INPUT_INPROF_OCTETS_64 [19] 10 0x00010000000000000000
INPUT_OUTPROF_OCTETS_64 [20] 10 0x00010000000000000000
INPUT_INPROF_PACKETS_64 [23] 10 0x00010000000000000000
INPUT_OUTPROF_PACKETS_64 [24] 10 0x00010000000000000000
INPUT_HIGH_OCTETS_OFFER_64 [73] 10 0x00010000000000000000
INPUT_LOW_PACK_OFFER_64 [76] 10 0x00010000000000000000
INPUT_HIGH_PACK_OFFER_64 [75] 10 0x00010000000000000000
INPUT_LOW_OCTETS_OFFER_64 [74] 10 0x00010000000000000000
INPUT_UNC_PACK_OFFER_64 [78] 10 0x00010000000000000000
INPUT_UNC_OCTETS_OFFER_64 [77] 10 0x00010000000000000000
INPUT_HIGH_PACK_DROP_64 [71] 10 0x00010000000000000000
INPUT_LOW_PACK_DROP_64 [72] 10 0x00010000000000000000
INPUT_HIGH_OCTETS_DROP_64 [69] 10 0x00010000000000000000
INPUT_LOW_OCTETS_DROP_64 [70] 10 0x00010000000000000000
OUTPUT_INPROF_OCTETS_64 [21] 10 0x0001000000000000033c
VSA [26] 84 Alcatel(6527)
OUTPUT_OUTPROF_OCTETS_64 [22] 10 0x00010000000000000000
OUTPUT_INPROF_PACKETS_64 [25] 10 0x0001000000000000000b
OUTPUT_OUTPROF_PACKETS_64 [26] 10 0x00010000000000000000
OUTPUT_INPROF_PACK_DROP_64 [81] 10 0x00010000000000000000
OUTPUT_OUTPROF_PACK_DROP_64 [82] 10 0x00010000000000000000
OUTPUT_INPROF_OCTS_DROP_64 [83] 10 0x00010000000000000000
OUTPUT_OUTPROF_OCTS_DROP_64 [84] 10 0x00010000000000000000
"
19 2013/04/12 20:48:56.69 UTC MINOR: DEBUG #2001 Base RADIUS
"RADIUS: Transmit
Accounting-Request(4) 172.31.1.2:1813 id 253 len 241 vrid 1 pol radius-server-policy-2
STATUS TYPE [40] 4 Interim-Update(3)
NAS IP ADDRESS [4] 4 192.0.2.1
SESSION ID [44] 22 D6E559000000D4516872DB
NAS PORT ID [87] 9 3/2/2:1.1
DELAY TIME [41] 4 0
NAS IDENTIFIER [32] 5 BNG-1
EVENT TIMESTAMP [55] 4 1365799736
SESSION TIME [46] 4 125004
MULTI SESSION ID [50] 22 D6E559000000D1516872DB
USER NAME [1] 23 subscriber12@domain2.com
VSA [26] 27 DSL(3561)
AGENT CIRCUIT ID [1] 12 circuit-id-12
AGENT REMOTE ID [2] 11 remote-id-12
VSA [26] 61 Alcatel(6527)
DYN SERV SCRIPT PARAMS [165] 115 business_epipe={'t':('EPipe-CustomerName','CustomerName-Circuit-1','3','3','64496','192.0.2.5','192.0.2.1','3333')}
"
A:BNG-1# show service service-using
===============================================================================
Services
===============================================================================
ServiceId Type Adm Opr CustomerId Service Name
-------------------------------------------------------------------------------
1 VPLS Up Up 1 VPLS_For_Capture_SAPs
2 VPRN Up Up 1 VPRN_Control_Channel
3 VPRN Up Up 1 VPRN_REsidential_Subs
4 IES Up Up 1
10 VPRN Up Up 1
99 Mirror Up Up 1
500 Mirror Up Up 1
[1000] Epipe Up Up 1 EPipe-CustomerName
[1001] VPLS Up Up 1 VPLS-CustomerName
[1002] IES Up Up 1 IES-CustomerName
[5000] IES Up Up 1 IES-5000
[9999] VPRN Up Up 1 VPRN-CustomerName
10001 VPLS Up Up 1
10002 Epipe Up Up 1
-snip-
-------------------------------------------------------------------------------
Matching Services : 20
-------------------------------------------------------------------------------
Dynamic Services : 5, indicated by [<svc-id>]
-------------------------------------------------------------------------------
===============================================================================
A:BNG-1# show service service-using origin dyn-script
===============================================================================
Services
===============================================================================
ServiceId Type Adm Opr CustomerId Service Name
-------------------------------------------------------------------------------
[1000] Epipe Up Up 1 EPipe-CustomerName
[1001] VPLS Up Up 1 VPLS-CustomerName
[1002] IES Up Up 1 IES-CustomerName
[5000] IES Up Up 1 IES-5000
[9999] VPRN Up Up 1 VPRN-CustomerName
-------------------------------------------------------------------------------
Matching Services : 5
-------------------------------------------------------------------------------
Dynamic Services : 5, indicated by [<svc-id>]
-------------------------------------------------------------------------------
===============================================================================
A:BNG-1# show service sap-using
===============================================================================
Service Access Points
===============================================================================
PortId SvcId Ing. Ing. Egr. Egr. Adm Opr
QoS Fltr QoS Fltr
-------------------------------------------------------------------------------
3/2/1:*.100 1 1 none 1 none Up Up
3/2/1:*.200 1 1 none 1 none Up Up
3/2/2:*.100 1 1 none 1 none Up Up
[3/2/1:4.100] 2 1 none 1 none Up Up
[3/2/2:1.100] 2 1 none 1 none Up Up
3/2/2:1000.1000 2 1 none 1 none Up Up
[3/2/1:2.200] 3 1 none 1 none Up Up
[3/2/1:3.200] 3 1 none 1 none Up Up
3/2/1:1001.1001 3 1 none 1 none Up Up
3/2/2:500.500 3 1 none 1 none Up Up
3/2/2:100.100 4 1 none 1 none Up Up
3/2/2:99.99 99 1 none 1 none Up Up
[3/2/2:1.1] [1000] 3 none 3 none Up Up
[3/2/2:1.3] [1001] 3 none 3 none Up Up
[3/2/2:1.4] [1002] 5 ip4+ip6 6 ip4+i* Up Up
[3/2/1:4.3] [5000] 1 none 1 none Up Up
[3/2/2:1.2] [9999] 3 ip4 3 ip4 Up Up
3/2/1:99.99 10001 1 none 1 none Up Up
3/2/19:100 10001 1 none 1 none Up Up
3/2/20:100 10001 1 none 1 none Up Up
-snip-
-------------------------------------------------------------------------------
Number of SAPs : 31
-------------------------------------------------------------------------------
Number of Managed SAPs : 4, indicated by [<sap-id>]
-------------------------------------------------------------------------------
Number of Dynamic Service SAPs : 5, indicated by [<sap-id>] [<svc-id>]
-------------------------------------------------------------------------------
===============================================================================
* indicates that the corresponding row element may have been truncated.
A:BNG-1# show service sap-using dyn-script
===============================================================================
Service Access Points
===============================================================================
PortId SvcId Ing. Ing. Egr. Egr. Adm Opr
QoS Fltr QoS Fltr
-------------------------------------------------------------------------------
[3/2/2:1.1] [1000] 3 none 3 none Up Up
[3/2/2:1.3] [1001] 3 none 3 none Up Up
[3/2/2:1.4] [1002] 5 ip4+ip6 6 ip4+i* Up Up
[3/2/1:4.3] [5000] 1 none 1 none Up Up
[3/2/2:1.2] [9999] 3 ip4 3 ip4 Up Up
-------------------------------------------------------------------------------
Number of SAPs : 5
-------------------------------------------------------------------------------
Number of Dynamic Service SAPs : 5, indicated by [<sap-id>] [<svc-id>]
-------------------------------------------------------------------------------
===============================================================================
* indicates that the corresponding row element may have been truncated.