Nuage VNS 5.3.2 User Guide
Nuage VNS 5.3.2 User Guide
Release 5.3.2
3HE13923AAJA
3 Operations 17
3.1 Getting Started with VNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 User Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
User Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.3 User Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.4 Infrastructure Profiles in VNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
i
3.1.5 VNS Provisioning Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.6 Detailed Provisioning Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1. Infrastructure Provisioning (CSPRoot Workflow) . . . . . . . . . . . . . . . . . . . . . . . 21
2. Infrastructure Provisioning (Enterprise Admin Workflow) . . . . . . . . . . . . . . . . . . 50
3. Infrastructure Provisioning (Installer Workflow) . . . . . . . . . . . . . . . . . . . . . . . 65
4. Basic Service Configuration (Network Designer Workflow) . . . . . . . . . . . . . . . . . 65
5. Advanced Service Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.2 Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2.2 Pre-bootstrap NSG image upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Performing a pre-bootstrap NSG image upgrade . . . . . . . . . . . . . . . . . . . . . . . . . 73
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.2.3 Auto-Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
LED Indicators during Auto-Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Considerations for bootstrapping over LTE uplink . . . . . . . . . . . . . . . . . . . . . . . . 76
3.2.4 One/Two-Factor Bootstrapping (Installer Workflow) . . . . . . . . . . . . . . . . . . . . . . 77
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
WAN/LAN and Installer Ports on NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Installer Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Viewing LTE information via Pre-bootstrap Status Page . . . . . . . . . . . . . . . . . . . . 84
Manual Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2.5 CLI Based Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
CLI Bootstrapping Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.2.6 Pre-Bootstrap: Status Webpage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.2.7 Pre-Bootstrap: Enable SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Enabling SSH Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2.8 Pre-Bootstrap: NSG WAN Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Sample uplink configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.2.9 Pre-Bootstrap: NSG info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.2.10 Pre-Bootstrap and Post-Bootstrap: NSG log collection . . . . . . . . . . . . . . . . . . . . 95
3.2.11 VSC CLI Show Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.3 Gateway Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.3.2 NSG License Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.3.3 NSG System Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.3.4 Configuration Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.3.5 Configuration Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.3.6 Proxy Reachability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.3.7 NSG Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Auto-Deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Controllerless Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Alarms for Gateway Operational States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.3.8 On-Demand Gateway Deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
On-Demand Gateway Deactivation via CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.3.9 CLI-Based NSG Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
NSG image upgrade (pre-bootstrap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Gateway Deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Certificate Renewal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
NSG Patch List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Export core dumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.3.10 Setting up Secure Access to NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.3.11 Trusted Platform Module (TPM) Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.3.12 NSG Upgrade Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
NSG Upgrade Profiles Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
ii
3.3.13 NSG Patching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
NSG Patch Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
NSG Patch Bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Detailed Patch Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
NSG Patch List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
NSG Patch Profiles Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.3.14 Patch Operation Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Unknown Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
NSG Upgrade Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
NSG Patch Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
3.3.15 Datapath CLI commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
nuage-flow-top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
ovs-appctl bridge/dump-conntracks-summary alubr0 . . . . . . . . . . . . . . . . . . . . . . 120
ovs-appctl bridge/dump-conntracks alubr0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
conntrack -L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
3.3.16 CLI Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
iii
BGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Uplink connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Bootstrapping considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4.2.4 Secondary IP workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.2.5 Procedures for secondary IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Configuring a BGP neighbor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Configuring an uplink connection for secondary IP . . . . . . . . . . . . . . . . . . . . . . . 158
4.2.6 BGP routing policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Default BGP export routing policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Sample BGP export routing policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.2.7 Secondary IP CLI samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
ip address show port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
nuage-bgp-show summary-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
nuage-bgp-show neighbor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
nuage-bgp-show routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
nuage-bgp-show bgp-config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
nuage-bgp-show rtm-routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.3 NSG Underlay Border Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
4.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
4.3.2 Configuration Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.3.3 Routing via NSG-UBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Forwarding Behavior Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Advanced ACL Uplink Preference Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Underlay Reachability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Service Chaining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.3.4 NSG-UBR Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Define Underlays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Define Performance Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Instantiate NSG-UBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Add and/or Extend VLANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Define Uplink Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Configure BFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Create NSG-UBR Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Create NSG Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Create NSG Group to UBR Group Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Activate the NSG-UBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.3.5 Border Router Support on NSG-UBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.3.6 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
4.3.7 Sample BFD Peer Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
7750 SR Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Cisco Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
4.3.8 CLI Show Command Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
BFD CLI commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
UBR routes CLI command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.4 NSG Border Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.4.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Permission Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
4.4.3 Controller Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.4.4 NSG-BR Redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.4.5 Multi-tenancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
IPsec Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.4.6 BR Backbone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.4.7 Tunnel Shaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
iv
4.4.8 Underlay Reachability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.4.9 NSG-BR Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
CSPRoot Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Instantiate NSG-BR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Bootstrap the NSG-BR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Assign Permission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Create BR Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Configure BFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Enterprise Admin Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Link Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Configure Demarcation Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Define End-to-End ACLs across Linked Domains . . . . . . . . . . . . . . . . . . . . . . . . 192
4.4.10 BR Backbone Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Add Static Route in DC Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Configure Demarcation Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
4.4.11 Tunnel Shaping Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Define Tunnel Shaping Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Define Rate Limiter(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Create Tunnel Shaper QoS Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Assign Policy to Uplink VLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Configuration Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.4.12 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.4.13 Sample CLI output for Tunnel Shapers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4.4.14 Sample CLI Output for BFD Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.5 Network Uplinks (Wired and LTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
4.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
4.5.2 LTE Uplink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
4.5.3 Use Case Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
4.5.4 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Heterogeneous transport network - Tunnel (VxLAN/IPSec) . . . . . . . . . . . . . . . . . . . 203
Heterogeneous transport network - no Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . 203
4.5.5 LTE Staging and Operations Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Verifying port mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Changing SIMs for integrated LTE devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
4.5.6 Provisioning Overview (Wired and LTE Uplinks) . . . . . . . . . . . . . . . . . . . . . . . 206
LTE Specific Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
4.5.7 Uplink Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
4.5.8 Configuring Controller(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
4.5.9 Forwarding Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Uplink Preference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
4.5.10 Network Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Network Acceleration Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Network Acceleration Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
4.5.11 NSG Controller Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
4.5.12 Controller Resiliency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Scenario 1: NSG uplink(s) not behind a NAT device . . . . . . . . . . . . . . . . . . . . . . 215
Scenario 2: NSG uplink is behind NAT device . . . . . . . . . . . . . . . . . . . . . . . . . 216
4.5.13 IPv6 uplinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Feature support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
4.5.14 Uplink Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
NSG Uplink Statistics Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
NSG-UBR Uplink Statistics Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
LTE Uplink Statistics, Status and Dongle Information . . . . . . . . . . . . . . . . . . . . . . 222
4.5.15 CLI Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
v
Network Acceleration CLI Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
vi
Add Static Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Configure a Routing Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
5.4.5 CLI Show Command Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
5.5 Bi-Directional NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
5.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Provider to Customer SPAT/SNAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Provider to Customer DNAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Customer to Provider SPAT/SNAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
5.5.2 Configuration Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Provider Domain Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Customer Domain Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Domain Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
5.5.3 Bi-Directional NAT Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
5.5.4 Provisioning Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Specify SPAT Source Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Create Bi-Directional Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Provider to Customer Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Customer to Provider Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
5.5.5 Sample CLI Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
5.6 Service Chaining in VNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
5.6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
1. RT in DC domain via NSG-BR using BR connection . . . . . . . . . . . . . . . . . . . . . 295
2. RT on Branch vPort in a disjoint underlay via NSG-UBR . . . . . . . . . . . . . . . . . . 296
3. RT on NSG-BR/NSG-UBR vPort in common underlay . . . . . . . . . . . . . . . . . . . 296
5.6.2 Service Chaining Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Define Redirect Target (RT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Associate RT to a vPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Define Forwarding Policy in Branch Domain . . . . . . . . . . . . . . . . . . . . . . . . . . 298
5.6.3 Sample CLI Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Example Output for Use Case 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Example Output for Use Case 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5.7 DNA Subnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
5.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Proxy ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
5.7.2 Sample Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Sample #1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Sample #2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
5.7.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Disable Advertising on a Subnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Configure a Proxy ARP Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
5.7.4 CLI Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
5.8 QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
5.8.1 QoS overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Supported QoS features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
5.8.2 Ingress and egress QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Ingress and egress QoS use cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
QoS algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
QoS statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
NSG-UBR QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
5.8.3 Control traffic QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Control traffic QoS for the VSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
5.8.4 Ingress and egress QoS configuration specifics . . . . . . . . . . . . . . . . . . . . . . . . . 313
QoS policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
DSCP mapping tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
vii
Ingress forwarding policies - DSCP remarking . . . . . . . . . . . . . . . . . . . . . . . . . 313
Egress QoS policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Rate limiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Remarking profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Ingress QoS policers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
QoS statistics configuration specifics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
5.8.5 QoS workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
5.8.6 Procedures for QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Creating rate limiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Creating DSCP remarking profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Creating DSCP remarking profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Creating QoS policers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Creating egress QoS policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Assigning QoS policies to a port/VLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Displaying egress QoS statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
5.8.7 Control traffic QoS procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
5.8.8 QoS CLI samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Configuring remarking for control traffic on the VSC . . . . . . . . . . . . . . . . . . . . . . 322
viii
NSG Routing Policy Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
6.2.3 Provisioning Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Enable Routing and Configure an AS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Create and Instantiate an L3 Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Create Routing Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Create an OSPF Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Create an OSPF Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Create an OSPF Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Create Policy Object Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Create NSG Routing Policy Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
6.2.4 OSPF Routing Policy Blob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
OSPF Routing Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
6.2.5 OSPF CLI Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
7 Encryption 402
7.1 Group-Key IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
7.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
7.1.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
7.1.3 Use Case: VXLANoIPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
7.1.4 IPsec Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
7.1.5 Overview of Cryptographic Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
SEK Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Seed Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
TEK Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Processing of Forced Rekey and Revoke Events . . . . . . . . . . . . . . . . . . . . . . . . . 408
Processing for Multi-tenant NSG-BR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Processing during Controllerless Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
7.1.6 Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
High-Level Feature Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Detailed Provisioning Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
7.1.7 VxLANoIPsec QoS Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
VxLAN QoS Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
7.1.8 Interworking with NAT-T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
7.1.9 CLI Command Sample Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
7.2 IKE IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
7.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
7.2.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
7.2.3 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Feature Interworking Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
7.2.4 Architecture Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Forwarding Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
IKE Protocol Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
7.2.5 HTTP Ping for IKE Tunnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
7.2.6 IKE Security Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
High Level Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Detailed Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
7.2.7 IKE Connection Redundancy in 1:Many Topology . . . . . . . . . . . . . . . . . . . . . . 437
7.2.8 CLI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
ix
Application Policy and Visualization (APV) . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
8.1.2 Configuration Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
APM Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Performance Monitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Performance Monitor Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
NPM Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
8.1.3 SLA-Aware Path Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
8.1.4 AAR for NSG-UBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
8.1.5 Feature Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
8.1.6 Configuration Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Enable Performance Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Enable AD and APV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Define Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Define Performance Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Create APM Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
Create Application Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Associate APM Group with Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Define NPM Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
8.1.7 Provisioning Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
AD and APV Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
NPM Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
8.1.8 CLI Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
8.1.9 Performance Monitoring Debug CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
8.1.10 DPI Debug CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
8.2 AAR Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
8.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
8.2.2 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
8.2.3 Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Access AAR Visualization Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Monitor and analyze application usage at the enterprise level . . . . . . . . . . . . . . . . . . 509
Monitor and analyze application usage at the domain level . . . . . . . . . . . . . . . . . . . 509
8.2.4 Scrolling Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
8.2.5 Enterprise Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
SLA Status - Flow effectiveness score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Top 5 Discovered Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Top 5 Upload Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Top 5 Download Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Newly Discovered Default Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
8.2.6 Enterprise Detail Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Enterprise Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Data Usage on Apps per NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Data Usage per NSG for Selected Application . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Cumulative Data Usage on NSG for Selected Application . . . . . . . . . . . . . . . . . . . 513
NSG Application Traffic Details for Source IP . . . . . . . . . . . . . . . . . . . . . . . . . 513
Enterprise - Top 20 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Application specific Date Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
8.2.7 Enterprise Map View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Map View Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Map View Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
8.2.8 NSG Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
NSG Application Traffic Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
NSG Application Traffic Details for Application . . . . . . . . . . . . . . . . . . . . . . . . 518
NSG Application Traffic Details for Source IP . . . . . . . . . . . . . . . . . . . . . . . . . 518
x
Per Port Traffic Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Top 10 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Top 5 Discovered Application - Usage over Time . . . . . . . . . . . . . . . . . . . . . . . . 519
Top 5 Talkers (Upload) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Top 5 Talkers (Download) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
8.2.9 NSG Detail Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
From NSG Application Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
To NSG Application Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
From NSG SLA Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
To NSG SLA Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
8.2.10 NAT-T Events Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
8.2.11 IKE Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
8.2.12 Alarms Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
8.2.13 Domain - Applications Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Top 20 Talkers in Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Top 5 Applications in Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Top 5 Application Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
8.2.14 Domain - Network Performance Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . 522
From NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
To NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Probe Detail (NSG as Source) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Probe Detail (NSG as Destination) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
8.2.15 Domain - Application Performance Management Dashboard . . . . . . . . . . . . . . . . . 523
From NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
To NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
SLA HeatMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Traffic Uplink Pairs for Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Traffic for Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
SLA Packet Loss for Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
SLA Delay for Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
SLA Jitter for Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
8.2.16 Domain - Details Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Domain Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Data Usage on Apps per NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Data Usage per NSG for Selected Application . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Cumulative Data Usage on NSG for Selected Application . . . . . . . . . . . . . . . . . . . 526
NSG Application Traffic Details for Source IP . . . . . . . . . . . . . . . . . . . . . . . . . 526
8.2.17 Query Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Enterprise Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Enterprise Detail Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
NSG Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
NSG Detail Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Domain - Applications Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Domain - Network Performance Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
8.3 SaaS Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
8.3.1 SaaS routing overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Supported SaaS routing features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
8.3.2 SaaS application discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
8.3.3 SaaS performance and reachability monitoring . . . . . . . . . . . . . . . . . . . . . . . . 562
HTTP ping performance monitoring with CLI . . . . . . . . . . . . . . . . . . . . . . . . . . 563
HTTP Ping Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
8.3.4 SaaS path selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Per uplink NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
xi
Per uplink breakout preference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
8.3.5 SaaS routing configuration specifics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
SaaS application types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
SaaS application groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
HTTP performance monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Forwarding path lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
8.3.6 Procedures for SaaS routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Configuring SaaS application types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Configuring SaaS application groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Creating a Performance Monitor for HTTP Ping . . . . . . . . . . . . . . . . . . . . . . . . 570
Assigning an HTTP performance monitor to an IKE tunnel . . . . . . . . . . . . . . . . . . . 571
Configuring forwarding path lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
8.3.7 Predefined SaaS application type updates . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Predefined SaaS application type update sample . . . . . . . . . . . . . . . . . . . . . . . . . 572
8.3.8 SaaS routing CLI samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
xii
CPU cycle consumption due to ARP broadcast packets . . . . . . . . . . . . . . . . . . . . . 612
Error States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
9.1.9 VNF metadata XML sample blobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Firewall XML blob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
WAN-Optimization XML blob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
9.1.10 CLIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
9.2 WiFi on NSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
9.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
9.2.2 Provisioning Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Create WiFi Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Create Captive Portal Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Edit/Create SSID Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Attach Host/Bridge vPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Define DHCP Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
End User Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
9.2.3 AP Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
9.2.4 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
9.2.5 Sample CLI Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
10 Resources 629
10.1 VSC Tools Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
10.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
10.1.2 Show Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
OF-Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Agent-Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Agent-Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Bridge-Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Service-Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Service-Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Service-MAC-Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
FIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
Port-Stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Service-Subnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Service-Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Datapath-Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Datapath-Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Tunnel-Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
System-Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
Port-Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
System-Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
NTPQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
IP-Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
IP-Table-NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Routing-Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
10.1.3 Debug Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Tcpdump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Ethtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Dig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
10.1.4 Configure Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
xiii
Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Port-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Port-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
xiv
VNS User Guide, Release 5.3.2
Release: 5.3.2
Issue: 1
Issue Date: August 05, 2018
Document Number: 3HE13923AAJA
This document contains proprietary/trade secret information which is the property of Nokia Corporation. Not to be
made available to, or copied or used by anyone who is not an employee of Nokia Corporation except when there is a
valid non-disclosure agreement in place which covers such information and contains appropriate non-disclosure and
limited use obligations.
This document is protected by copyright. Except as specifically permitted herein, no portion of the provided infor-
mation can be reproduced in any form, or by any means, without prior written permission from Nokia Corporation /
Nuage Networks.
Nuage Networks and the Nuage Networks logo are trademarks of the Nokia group of companies. Nokia is a registered
trademark of Nokia Corporation. Other product and company names mentioned herein may be trademarks or trade
names of their respective owners.
The information presented is subject to change without notice.
Nokia Corporation / Nuage Networks assumes no responsibility for inaccuracies contained herein.
Build Number: 31
CONTENTS 1
CHAPTER
ONE
2
VNS User Guide, Release 5.3.2
For a complete list of applicable user documentation, see the Technical Publications section of the Release Notes for
your Nuage Networks software version.
Printed versions of this document may not be up to date. Only the Web version of this document is current.
1.2 Audience
This manual is intended for enterprise system administrators who are responsible for enterprise network configuration
and administrators for the Nuage VSP/VNS software. It is assumed that the reader is familiar with virtualization and
networking technologies. Other assumptions are explicitly called out in the relevant chapters.
If you purchased a service agreement for your Nuage Networks VSP/VNS solution and related products from a dis-
tributor or authorized reseller, contact the technical support staff for that distributor or reseller for assistance. If you
purchased an Alcatel-Lucent or Nokia service agreement, contact your welcome center:
https://networks.nokia.com/support
Nokia Online Services (NOLCS) provides registered customers with access to technical support, software downloads,
training, documentation, literature, and other related assets for our products and solutions. For assistance with NOLCS,
including inability to access, contact us as follows:
• Inside the U.S. and Canada: 1-866-582-3688, prompt 7.
• Outside the U.S.: 1-630-224-9000
• Via email: NOLS.support@nokia.com
TWO
4
VNS User Guide, Release 5.3.2
* Network acceleration for NSG-X200, NSG-E300, NSG-E200, NSG-E, and NSG-C (page 8)
* Network acceleration for NSG-V (page 8)
– New features for SaaS routing (page 8)
This chapter highlights new features for Nuage VNS and provides pointers into the documentation for information
about using the features. Feature lists and highlevel feature descriptions are also available in the VNS Release Notes.
Some releases may not be listed in this chapter, either because no new features are introduced or the features introduced
do not require documentation.
The new hardware model NSG-E202 is a variant on the existing NSG-E200 model. It has the same front and rear
panels as the NSG-E200, but also includes integrated WiFi antennas. This new model has access to the Nuage VNS
WiFi feature set without the use of an added WiFi dongle.
Refer to the NSG Bootstrapping Webpage for more information about the 7850 NSG-E202:
http://bootstrap.nuagenetworks.net/nsg/
The new hardware models NSG-E202 and NSG-306 are variants on the existing NSG-E200 and NSG-E300 models.
They have the same front and rear panels as the NSG-E200/300, but also include integrated WiFi and LTE antennas.
These new models have access to the Nuage VNS WiFi and LTE feature sets without the use of added WiFi or LTE
dongles.
Refer to the NSG Bootstrapping Webpage for more information about the 7850 NSG-E206/306:
http://bootstrap.nuagenetworks.net/nsg/
You can now define NSG PAT pools with overlapping IP address ranges. This allows you to use 1:1 or N:1 address
maps when the PAT pool contains private IP addresses that recur across multiple NSGs.
• Port Address Translation (page 255)
• Overlapping PAT Pools (page 259)
The visualization feature set has been enhanced with the addition of the enterprise map view. The enterprise map view
provides a visualization of the geographic location and administrative status of all NSGs in the enterprise. The map
view uses Google Maps and user-specified NSG locations to map branch locations on an interactive, navigable map.
Using the map view, you can search and navigate to NSGs by region and quickly determine which NSGs are in a
pre-bootstrap state or require a software upgrade.
In addition, the NSG dashboard has been enhanced with the an alarms summary. The alarms summary shows how
many alarms are raised on the NSG, and also allows you to navigate to the alarms dashboard. The alarms dashboard
provides a summary of information for all alarms currently raised on the NSG.
• Enterprise Map View (page 514)
• Alarms Dashboard (page 521)
The application discovery (AD) feature set has been extended to support services in L2 domains. You can use AD to
identify and monitor incoming traffic using L7 application classification with a library of application signatures. You
can also create custom classification rules based on IP address, L4 ports, or L4 protocols.
• AAR (page 446)
The layer 7 access control list (L7 ACL) feature set has been extended to support services in L2 domains. You can
use Advanced Ingress Forwarding ACLs based on L7 application signatures, allowing you to map detected application
traffic to a specific forwarding class.
• “Security Policy: Layer 7 ACLs” chapter in the VSP User Guide
You can now configure DSCP remarking of the inner customer packets using an ingress forwarding policy. Customer
packet DSCP remarking allows you to redefine the forwarding class assigned to the ingress customer payload packet.
• Ingress and egress QoS (page 308)
• Ingress forwarding policies - DSCP remarking (page 313)
Egress QoS functionality has been extended to the NSG-UBR for a single-tenant use case only. This means that the
ability to prioritize traffic between two different customers is not supported. If traffic from multiple customers is routed
through the NSG-UBR, all priority queues are treated equally and all WRR queues are part of the same hierarchy.
• QoS (page 307)
Support for IPv6 has been introduced at beta quality for static and dynamic NSG network uplinks. Full IPv6 support
for VNS features is planned to be introduced over multiple releases.
• IPv6 uplinks (page 217)
• Define Uplink Connections (page 54)
In previous releases, network acceleration has been supported on the NSG-X only. In release 5.3.2, network accel-
eration support has been extended to the NSG-X200, NSG-E300, NSG-E200, NSG-E, and NSG-C. This includes
throughput acceleration for overlay only data paths with DPI.
• Network Acceleration (page 212)
• Network Acceleration CLI Samples (page 228)
In previous releases, network acceleration has been supported on physical NSGs only. In release 5.3.2, network
acceleration support has been extended to the NSG-V. This support is functional only.
• Network Acceleration (page 212)
• Network Acceleration CLI Samples (page 228)
SaaS applications can now be discovered using a database of network macros to identify SaaS IP addresses at the
first packet. This discovery mechanism ensures that the traffic flow does not switch paths after the application is
discovered. The database includes network macros for eight predefined SaaS application types, but you can also
create custom SaaS application types with associated network macros.
• SaaS application discovery (page 562)
• SaaS application types (page 567)
• SaaS application groups (page 568)
• Procedures for SaaS routing (page 570)
You can now use forwarding path lists to assign an uplink preference for different breakout types in a dual uplink
scenario. You can specify that traffic be redirected through an IKE tunnel, or through PAT to underlay and route to
underlay. This mechanism allows the NSG to have one MPLS link and one Internet link.
You can now perform CLI-based image upgrades for pre-bootstrap NSGs.
• Pre-bootstrap NSG image upgrades (page 73)
The nuage user can now run a command to transfer coredumps to a readable location.
• Export core dumps (page 108)
The NSG now copies the logexport.tar.gz file to /home/user/nuage when the NSG undergoes a graceful reboot or
shutdown.
• Pre-Bootstrap and Post-Bootstrap: NSG log collection (page 95)
The following commands are now whitelisted for the nuage user on the NSG:
• iptables -t nat -L
• iptables -t nat -L -n
The API authentication model is now enhanced so that the NSG can only query the API call for its own NSG instance
in the VSD. It cannot query any other NSGs.
Integrated LTE NSG platforms NSG-E206 and NSG-E306 are now supported. The integrated LTE NSG platforms
provide the same feature parity that Nuage supported with LTE dongles in the previous releases, including bootstrap
over LTE and Aux port functionality where LTE can act as a backup uplink for a wired uplink link
• LTE uplink (page 202)
Nuage Networks Virtualized Network Services (VNS) is a new wide area network service construct enabling delivery
of business connectivity services to branch locations regardless of size or geography. The network service is indepen-
dent of the transport utilized, which provides maximum flexibility in terms of service reach and access technology.
VNS provides SDN-enabled networking with support for Layer 2 to Layer 4 services, and allows advanced network
functions such as firewalls to be deployed as part of the core service. VNS supports an intuitive GUI for service creation
and comprehensive self-management, thus reducing the requirement for high-touch complex provisioning/engineering
teams at branch locations.
Nuage VNS may be deployed as:
• Managed Service where by a Service Provider, MSO or Datacenter operator (VNO) offers a managed service
to an enterprise user
• Internal Service where by a Service Provider, MSO or Enterprise uses VNS to better manage connectivity and
services offered to its own internal sites.
• Wholesale/retail model where by a Network Service Provider sells VNS services to the ISP’s, which then
internally sell the services to enterprises. The Service Provider, MSO and Datacenter operator offers a managed
service to the enterprise user.
At a high level, the main components in the Nuage VNS solution are:
The following Nuage VNS features are described in detail in the document:
• Bootstrapping (page 71) is a key installation capability to securely commission NSGs into the VNS network.
• Application-Aware Routing (page 446) enables policy-driven application performance management in a multi-
path network. Specifically, AAR enables capabilities such as application discovery, network performance mea-
surement, and intelligent path selection for application traffic based on path performance.
• QoS (page 307) is the capability to control the rate of traffic egressing the NSG ports.
• Port Address Translation (page 255) enables internal user/application IP addresses to be mapped to a single
external routable address, as well as 1:1 NAT and 1:1PAT mapping of external user/ application IP address to
external routable address.
• PAT to Overlay (page 277) enables the NSG with a distributed destination based PAT function from a branch
domain to a local or remote destination domain.
• DHCP on Bridge Ports (page 237) is NSG’s ability to service requests from multiple unique hosts connected to
the same VPort-type bridge and allocating a unique IP address to all such host requests.
• NAT Traversal (page 130) is the capability that enables Internet connected NSGs that are front-ended by NAT
devices to be part of the VNS network. The NAT-T feature allows VNS data and control plane connections to
traverse the NAT devices.
• Access Resiliency (page 242) enables NSGs to be deployed as a redundant pair enabling HA configurations,
protecting against link and device failures.
• Dual Uplink (page 201) capability enables an NSG to have two network uplinks for data/control path redundancy
as well as to allow traffic to be routed over two transport networks (e.g. IPVPN and Internet)
• IPsec (page 403) is a security capability that allows traffic to/from NSGs to be encrypted. NSG to NSG traffic
is encrypted using group-key based IPsec. NSG to 3rd party IKE Gateways is encrypted using IKE-based IPsec
(page 421).
• NSG Border Router (page 178) enables a secure demarcation point between the WAN and the DC underlay
networks. It provides seamless connectivity between NSG and non IPsec-capable endpoints (e.g. VRS, 7750
SR) by linking domains, while maintaining a unified policy.
• BGPv4 (page 325) control-plane is supported on NSGs to enable learning/advertisement of LAN/WAN subnets
to/from the NSG.
Key requirements for deploying Nuage VNS solution are described in this section. Refer to the latest Release Notes
for most up to date requirements.
VNS deployment requires following infrastructure components in addition to the core elements, namely VSD, VSC,
and NSG:
EJBCA is a public Key Infrastructure consisting of a certificate authority (CA) that both issues and verifies the
digital certificates. The VNS process will rely on such capabilities in support of certificate based NSG authentica-
tion/authorization. Specifically, certificates are needed for Proxy and VSCs for communication related to notification
and bootstrapping. The VSD can use a self-signed certificate, but having a certificate from a certificate authority will
not require the client applications to process security warnings about unrecognised certificates.
Key Server is a component for key management and is required for supporting the IPsec capability. In the current
release, the KS is assumed to be a trusted entity of the VSD. It is referred to as a managed KS whereby the enterprise
administrator manages the security policies for the organization, as well as the encryption policies on the KS. A KS
that is a separate entity from the VSD and is untrusted is referred to as an unmanaged KS and will be supported in a
future release.
Utility Host
A customer provided Utility Host that runs a Proxy, mail server and a notification application. The Proxy is utilized
for the definition, mediation and infrastructure level configuration functions for the NSG bootstrapping process. The
Proxy serves as a certificate-based proxy offering multiple https end-points. The host resides in the DMZ environment
and is the responsibility of the client.
VNS IP Network
The Nuage VNS can be used in any location with a IP network. The Nuage VNS actively participates in the IP routing
infrastructure. VSCs run OSPF or IS-IS for the IGP in addition to BGP. BGP is used to form a federation of VSCs and
to exchange information with external networks. In addition, BGP is also used to exchange routing information with
the data center provider edge router.
NTP Infrastructure
Because the Nuage VNS is a distributed system, it is important that the different elements have a reliable reference
clock to ensure the messages exchanged between the elements have meaningful timestamps. Nuage VNS relies on
each of the elements having clocks synchronized with Network Time Protocol (NTP).
The VSD relies on the NTP facilities provided by the host operating system. The VSC which is based on Alcatel-
Lucent SR OS has an NTP client. The NSG synchronizes to the VSC NTP.
Nuage recommends having at least two NTP reference clocks configured for each system with three reference clocks
preferred.
In scaled Nuage VNS deployments, the VSD functional elements can be distributed across machines into clusters of
machines where the failover and load sharing mechanisms for the clusters rely on being referenced as a single DNS
entity. DNS naming of VSD and XMPP elements is also required for XMPP communication within the VNS. Since
the NSG needs to resolve Proxy Hostname, the DNS naming of Proxy is also required.
The Virtualized Services Directory (VSD) is a programmable policy and analytics engine. It provides a flexible
network policy framework that enables network administrators to define and enforce the business policies being applied
across the network service in a user-friendly manner. The VSD enables:
• Centralized service policy definition and auditing for all endpoints
• Template-based service definition for intelligent endpoints
• Root and organization level permission-based multi-tenant systems
• Time-based automated endpoint configuration update
• Centralized software life cycle management
• Auto-discovery of intelligent endpoints
• Secure automated bootstrap of endpoints
• Centralized logging
Note: Since Nuage VNS extends the capabilities of the Nuage VSP solution, the Nuage Virtualized Services Platform
User Guide is referenced in this section for content that draws on the existing VSP/VSD capabilities.
The VSD plays a crucial role in facilitating auto-instantiation of service networking of NSG end-points in a VNS
deployment. The VSD drives the configuration modeling/mapping of NSG port/ VLAN resources to the Enterprise
defined services (Domain/Zone/Subnet/VPort). Service templates/instances are created independent of the NSG device
presence as described in the Nuage VSP User Guide. The infrastructure configuration necessary to get the NSGs
connected to the Nuage VNS in readiness for service configuration is also created in the VSD and is new to Nuage
VNS. Once the NSGs are activated at a site through a bootstrapping process, they automatically connect to the Nuage
VSD, download their service configuration and connect end-users to their services based on the pre-defined policies
with minimal end-user interaction. The NSGs serve as a policy enforcement end-point responsible for delivery of
networking services.
The VSC acts as the control plane and main user (network administrator) interaction point for the NSG end-points. It is
a virtual machine application running all the control plane tasks. Based on Alcatel-Lucent’s robust and proven Service
Router Operating System, the VSC is able to provide a familiar management interface to the network administrator
and, has an industry-standard CLI as well as a familiar toolset such as SNMP management, syslog facilities and
TACACS+/RADIUS AAA facilities that allows the VSC to be easily integrated into existing data center monitoring,
alarming and logging infrastructure. The VSC is also responsible for running routing protocols like BGP that allow
it federate with other controllers as well as receive topology information of the underlay through Interior Routing
Protocols (IGPs)
The VSC is implemented as a virtual machine appliance. This means it can be hosted almost anywhere, only requiring
IP connectivity to the hypervisor and other Nuage VNS components, such as the VSD. The VSC provides the operator
with a console interface accessible both via an emulated serial port in the hypervisor as well as an SSH connection.
This virtual machine then is then configured to establish connectivity with the rest of the components of the Nuage
VNS solution.
VSC Protocols
OF-TLS
An OpenFlow (OF) session is established from the NSG to a specific VSC (or optionally, a pair of redundant VSCs).
The session is encrypted using Transport LayerSecurity (TLS), and this requires that both the NSG and VSC have
signed certificates for authentication.
A manual process (as explained in the Nuage VNS Install Guide) is used to generate certificates for each VSC via the
VSD. The certificates are signed by the Root CA. The signed certificates are then securely copied to the respective
VSCs, and each VSC is configured to enable Of-TLS. On the NSGs, the signed certificates are installed as part of VNS
installation. Post bootstrapping, the NSG instance initiates an OF session to a specific VSC and the signed certificates
are negotiated for authentication and for establishing a secure channel.
For a bootstrapped NSG, if OpenFlow connection to VSC is down for a configured period, then on regaining con-
nectivity NSG revokes its certificates, reboots and moves to a pre-bootstrapped stage. The configuration period for
auto-deactivation is set via VSD as part of provisioning.
XMPP
XMPP is the protocol used by the VSC to talk to the VSD to obtain the NSG policies and instantiation parameters.
The connection is established from the VSC and directly to the XMPP server component, using the management or
“out-of-band” connection of both these components. VSC will push through the XMPP bus the notification events
received by the VSC on the OF interface. An XMPP message is sent by the VSD in form of a group notification to
which the VSC nodes sub-scribe.
JSON-RPC
The light-weight protocol is used to communicate VSD-initiated configuration change notifications to the NSG on the
OF interface.
BGP/IGP
The VSC interacts with the underlay network, other VSCs in the data center and the PE routers at the edge of the DC by
using the BGP routing protocol. BGP is used to distribute the reachability information for each of the tenant services
and allows multiple VSCs to form a federation, allowing services to span outside of a single VSC. BGP is also used
to allow the direct connection of the VSC to the DC PE, eliminating any gateways or other equipment to do the PE
handoff. By participating directly in the BGP-VPNv4 address family, the VSC can exchange reachability information
between the different networking devices and allow the customer’s virtual network to be directly connected to wide
area VPN services offered by the DC operators. IGPs are also supported, both OSPF and IS-IS, where their main
purpose is to allow the VSC to receive routing and topology information of the underlay and properly establish the
BGP sessions to the DC PE router that normally uses its loopback interface for this purpose. It also allows the VSC to
track the status of the underlay network and reflect the tunnel status accordingly.
MP-BGP
TLS-encrypted MP-BGP sessions are used to communicate with the VSC when an NSG is configured with an access-
side BGP peer. There can be a maximum of two MP-BGP sessions for NSG-VSC communication — two on a single
uplink, or one on each uplink in a dual uplink scenario. The NSG uses the MP-BGP session to advertise BGP routes
learned from the downstream CPE to the VSC. The VSC then advertises these routes to remote NSGs. The NSG
programs the data path locally after learning BGP routes, and the VSC programs the data path for remote NSGs. BGP
IPv4 routes are translated to BGP EVPN routes before being advertised to the VSC.
THREE
OPERATIONS
17
VNS User Guide, Release 5.3.2
3.1.1 Overview
Nuage Networks Virtualized Network Services (VNS) enables delivery of business connectivity services to branch
locations regardless of size or geography. This chapter describes the infrastructure provisioning and service creation
workflows for deploying VNS and getting it started.
It is assumed that the Nuage VNS software components have been installed and configured for connectivity per the
procedure described in the latest version of the Nuage VNS Install Guide.
– Installer is a user responsible for receiving and commissioning an NSG at a branch location via bootstrap-
ping.
– Network Designer designs service templates that cover a set of specific service use cases. So whenever a
new service instance is needed, the associated service template can be instantiated. It is not uncommon for
the Enterprise Administrator to also be the Network Designer.
User Authentication
The VSD supports an LDAP interface for each enterprise for user authentication. Users for the enterprise are authen-
ticated against the given LDAP server. The User and Group hierarchy must be configured in VSD, with user names
matching the user name returned by LDAP.
User groups are predefined user profiles that specify permissions given to users assigned to the group. There are user
groups created by default:
• BootstrapCA Group: Permits users to send pre-bootstrapping API requests to the VSD.
• CMS Group: Permits users to perform Cloud Management System operations.
• Everybody: Includes all users in the enterprise. This group permits users to perform user management tasks
only. This group is the default group for all newly created users.
• Operator Group: Permits users read-only access to all system data, including data within all organizations.
• Root Group: Permits users full read/write access to any function in the system.
• VSPCA Group: Permits users to perform NSG activation tasks and to send post-bootstrapping API requests to
the VSD.
The concept of infrastructure profiles in VNS is used to reference a collection of infrastructure configuration parame-
ters that must be applied to a group of NSGs sharing a common set of attributes. For example, an operator may require
configurations to be created for:
• All NSGs connected via the Internet
• All NSGs deployed along US East Coast
• All NSGs connected via single DOCSIS uplink
• All NSGs that are part of a redundancy configuration
The infrastructure profiles are created at the CSP level and assigned to enterprise profiles. CSPRoot owns these
infrastructure profiles, and enterprise inherits the infrastructure profiles once they are instantiated. Enterprise are able
to override some infrastructure profile attributes on instance level only.
1. The CSPRoot creates the enterprise, users, and provisions infrastructure artifacts that an Enterprise Administra-
tor can consume for defining the enterprise network. Specifically the CSPRoot is responsible for creating:
• Enterprise(s)
• Enterprise users, user groups and managing permissions. An enterprise user with root privileges is referred to
as an Enterprise administrator
• Infrastructure gateway profiles, VSC profiles, Rate Limiters, etc.
• Templates for gateways and ports which are reusable constructs for consumption by Enterprise Administrators.
Gateways are instantiated from templates, and profiles are associated with templates.
• Infrastructure configuration, such as Key Server if an enterprise is enabled for encryption etc..
2. An Enterprise administrator is responsible for:
• Infrastructure provisioning for the enterprise, such as instantiating gateway(s) using the template(s) created by
the CSPRoot, facilitating gateway bootstrapping at branch locations, and provisioning connectivity, security and
resiliency constructs.
3. An Enterprise installer is responsible for:
• Receiving and bootstrapping a gateway at the branch location.
For auto-bootstrapping an installer does not need to be specifically identified or defined in the VSD.
4. An Enterprise network designer is responsible for:
• Configuration of services and advanced features such as L2/L3 VPNs, PAT/NAP services, service chaining,
security policies, WAN service connections, etc.. Networking abstractions domain, zone and subnet are used
to build the network service topology, and additional attributes further define how the VSD Policy Engine
will respond to service requests. All of the network building blocks are assembled within the context of an
“Enterprise”.
Create Enterprise
When the CSPRoot logs in, the screen shown in CSProot Login Screen (page 21) is presented. If the CSProot has
already created any Enterprises, they will be listed on the top left. In this view, there are no enterprises and the
CSProot must click on towards the bottom of the screen to create a new Enterprise using the popup shown in
New Organization Popup (page 22).
Create Users
When a new enterprise is created, the CSP administrator (CSPRoot) defines a user account and adds to the adminis-
trator group. Refer to Creating an Organization Admin User section in the Nuage VSP User Guide.
Administrators are able to create additional user accounts, and assign appropriate groups based on required access.
For more information refer to the section on Onboarding an Organization in the Using VSD Architect section of the
Nuage VSP Install Guide.
Users must also be created to generate the TLS certificates for the proxy and notification applications. The username
that is used is required to match – for example, if the certMgmt.sh script is executed with username of “proxy” then
a user named “proxy” must be created and added to the Root user group as part of the VSD configuration. This is
required as part of the certificate generation process for the VNS Proxy. Refer to the Nuage VNS Install Guide for
certificate generation details.
There are VNS specific parameters that must be specified at the CSPRoot level in Settings -> System Configuration
. The common platform parameters are described in the Nuage VSP User Guide.
The VNS system configuration parameters are described in the context of the workflow where they are applied, specif-
ically:
• Branding (page 25)
• Two-Factor authentication (page 30)
• Auto-Bootstrapping (page 75)
• Group-Key IPsec (page 403) for defining global encryption attributes for configuration of the Key Server (KS).
- Map View Configuration (page 514)
The CSPRoot can customize the organization logo that is used in the NSG’s activation portal during bootstrapping.
3. For the Default Activation Portal Logo, drag and drop a logo image in the Drop a Picture box. The image
will be used as the logo in NSG’s captive portal during bootstrapping, as well as in the email notification to the
installer. If not set, then the default Nuage Networks logo is used.
4. Select the Allow organizations to override portal logo checkbox to allow the organization’s avatar (if set) to
override the portal logo specfied in the previous step. Thus, the CSProot can allow an enterprise administrator to
select an avatar (page 60) to be used as an enterprise brand artifact in the NSG’s captive portal. If the checkbox
is selected but avatar is not set, then the default activation portal logo will apply.
Note: To allow the enterprise avatar to override the default portal, the Avatar Base URL in the System Configuration
screen must be updated from the default localhost address to the VSD address.
Define Underlays
Underlays are used to identify the different WAN networks that provide uplink connectivity to gateways in a VNS
deployment. The underlay objects are assigned when uplink connections are defined.
3. Click on towards the bottom of the screen to create a new underlay object which appears as a popup.
4. Enter a Name and Description for the underlay and click Create.
Each object that is defined generates an internal underlay ID to distinguish the various underlays. By default Underlay
0 is always created which identifies any network. Underlays must only be defined if there is a need for disjoint underlay
connectivity.
Infrastructure Access Profile (IAP) contains the settings and authentication attributes that can be configured for con-
troling remote SSH connection to the NSG WAN port, as well as console access to the NSG. Specifically, SSH service
may be enabled/disabled on the WAN port, and password credentials may be customized for authenticating non-root
user nuage.
Note: SSH is enabled when an NSG is bootstrapped. In addition, Root login is disabled and user nuage is enabled
with a default password for SSH and console access. The IAP allows the behavior to be modified.
Refer to setting up secure access to NSG (page 108) for a more detailed description.
The Infrastructure Access Profile is assigned to a NSG Template (page 38) by the CSPRoot.
2. Select the Infrastructure tab, and click on -> for Infrastructure Access Profile. The window displays
a list of existing profiles (if they exist). Click on towards the bottom of the screen to create a new profile
which appears as a popup.
– Key Based
– Password and Key Based
• A new Password for the specified user. The password specified in the profile will be used for SSH login as well
as for console access.
• Enable or disable Source IP Filter. When enabled, remote access is allowed only from the specified IP ad-
dresses.
Click the Create button to generate the named profile.
Once the profile is created, select the SSH Key List and/or Source IP List tab to add the public keys and/or source IP
address list as required:
• SSH Key: Only RSA keys are supported.
• IP Address: Only IPv4 addresses are supported.
Infrastructure Gateway Profile (NSG Profile) contains gateway-level platform attributes inherited by gateways as they
are instantiated, connecting them to Nuage management infrastructure. Specifically the NSG Profile contains all the
attributes required for connecting a gateway NSG to the VSD for configuration synchronization, upgrades, security,
logging, monitoring etc.. The Infrastructure Gateway Profile is assigned to a NSG Template (page 38) by the CSPRoot.
2. Select the Infrastructure tab, and click on -> for NSG Profiles. The window displays a list of existing
profiles (if they exist). Click on towards the bottom of the screen to create a new profile which appears as a
popup.
There are several tabs in the popup each of which must be completed.
Activation
• VSD Proxy FQDN identifies a DNS resolvable name of the proxy server that is used by the NSG during the
bootstrapping process. Refer to Proxy Reachability (page 102) for more details.
• Enable Two Factor Authentication when checked indicates that for bootstrapping, the installer will be authen-
ticated using two-factor authentication. This parameter applies to two-factor bootstrapping.
There are related Two Factor Authentication attributes in System Configuration settings ( -> Settings -> ) that
must also be specified by navigating to the VNS section. The attributes are:
• Two Factor Code Length specifies the code length (default 6 digits)
• Two Factor Code Seed Length is the length of the seed used for generating the random code
• Two Factor Code Validity is the duration in seconds for which the code is valid (default 300s)
Timers
Since the NSG can be deployed in an inherently untrusted environment, a number of security measures are imple-
mented to protect the network in the event an NSG is compromised or removed.
For scenarios where an NSG loses connectivity to all its controllers, the NSG’s operational state may be configured to
limit service impact while allowing for recovery from failure without compromising security.
Refer to NSG Security (page 103) for details since this section is specific to the configuration workflow.
The attributes in the Timers tab may be configured to enable NSG operations modes as follows. All timers are
specified in ISO format (Days, Hours, Minutes):
• Stop all traffic forwarding for a certain duration and then revoke the NSG. Check Enable Auto Deactivation
and specify a duration (the default is 7 days). If not enabled, then it is equivalent to Never Deactivate (which
was an option offered in earlier releases) for trusted environments. The Auto Deactivation timer applies to two
NSG failure scenarios as described in NSG Security (page 103) section.
• Maintain full operational state for a certain duration. From the Controllerless Forwarding Mode dropdown,
select Local and Remote, and enter timer for Controllerless Remote Duration (the default is 3 days). Con-
trollerless Local Duration must also be configured when mode is set to Local and Remote.
• Maintain a limited operational state for a certain duration, whereby remote flows and tunnels are purged, while
retaining local flows with LAN-side forwarding. From the Controllerless Forwarding Mode dropdown, select
Local Only, and enter timer for Controllerless Local Duration (the default is 7 days). The Controllerless
Remote Duration will be greyed out when mode is set to Local Only.
• Withdraw all local and remote flows immediately. From the Controllerless Forwarding Mode dropdown,
select Disabled. If this option is selected, then local forwarding is maintained for 180s and remote flows are
purged.
Note: The various timers are additive. In other words, the timers must be specified such that the controllerless remote
duration is less than the controllerless local duration which must be less than the auto-deactivation duration.
Note: Only the default values of the timers have been qualified. However, you can configure values within the
following ranges:
• Auto Deactivation: 1 hour - 90 days
• Controllerless Local Duration: 2 hours - 90 days
• Controllerless Remote Duration: 1 hour - 3 days
• OpenFlow Datapath Synchronization Timeout (milliseconds) specifies the interval at which the kernel flows
are optimized using an algorithm for evicting flows. Default is 1000 ms. This is a read only OpenFlow tuning
parameter.
• OpenFlow Eviction Threshold (non-negative integer) is a limit on the number of flows that are cached in the
kernel. Once the threshold is reached, older flow entries are evicted. The eviction threshold presents a trade off
between the expense of maintaining large numbers of datapath flows, and the benefit of avoiding unnecessary
flow misses. Default is 2500 flows. This is a read only OpenFlow tuning parameter.
• OpenFlow Audit Timer (seconds) specifies the duration for which full operational state is maintained after
an NSG loses connectivity to all its controllers. After the audit timer expires, the NSG transitions into the
controllerless/auto-deactivation modes (depending on the mode configured). The audit timer be configured in
the range of 180 – 1800 seconds, but the default is 180 seconds.
Sync
• Synchronize Configuration Days and Synchronization Time attributes create a timer that is maintained and
triggered at the NSG. It specifies how often the VSD is polled for configuration changes (including NSG soft-
ware upgrades). If two or more different configuration change sets are downloaded from the VSD, then the NSG
applies the newest set of configuration changes. Valid values are from once a week to once a day at a specified
time.
Note: The time entered has to take into consideration that it applies in the context of the NSG’s assigned time zone
(04:00 UTC and 04:00 PST are not the same).
The configuration reload and/or upgrade starts within 1 hour from the Synchronization Time unless Force Immediate
Synchronization is selected. This is to ensure that multiple NSGs are not making update requests to the VSD at exactly
the same second, and effectively spread the load.
Example: Synchronization Schedule can have days set at “Monday” and time set as 12:00 AM. Synchronization
window is set to 1 hour. Every Monday at a random time from 12:00 AM and before 1 AM local NSG time, the NSG
will attempt to get the configuration from the VSD and apply.
Note: The configuration synchronization schedule can be bypassed by a “Reload Configuration” option which pushes
and applies changes to NSG instantaneously. This option is available at the gateway instance level after the NSG is
bootstrapped. Select the NSG by navigating to Infrastructure -> NSG , and selecting Reload Configuration from
the rightmost panel.
• Upgrade Policy is the policy for upgrading NSG software and is applied to the NSG as part of the configuration
synchronization. The policy options are:
– Apply update at window: It is the default option. When the policy is applied, if a new software version is
detected, then a download is initiated and the upgrade is performed at the next synchronization window.
Metadata URL is mandatory for this option.
– Update at bootstrap: This option is used when a mandatory upgrade is desired of a factory provided gold
image. It will initiate a download of the software, followed by an upgrade. Metadata URL is mandatory
for this option.
– Don’t update: No software download or upgrade is performed.
• Upgrade Metadata URL is the path to the upgrade metadata file. It is important to ensure that a fully qualified
path is entered (e.g. https://<server:port>/<path>/upgrade_metadata.json). Any arbitrary
port number may be used, as long as the same numbered port is opened on the proxy to redirect upgrade requests
from NSG to the web server.
Stats Collection
Currently, there is no separate Stats Collector Proxy. The proxy for NSG activation is also used for collecting stats.
The Stats Collector Port is the port on which the NSG will export the stats to the Proxy and defaults to 39090.
Note: Post bootstrapping, an NSG establishes a long lived TCP connection to the proxy for the purpose of stats
exporting.
In addition, stats collection also requires configuration on the VSD to specify the stats port to listen to. It is defined
at the CSPRoot level in the System Configuration ( -> Settings -> ) by navigating to the Statistics section of
attributes. There are two ports:
• Collector Port (with a default value of 29090) is being deprecated going forward. It is being retained only for
backward compatibilty.
• Collector Protobuf Port is the port opened by VSD for stats collection. The default is 39090.
Note: The Stats Collector Port in the infrastructure gateway profile must match the port in frontend statsconfig in
haproxy.cfg file, and the Collector Protobuf Port must match the port in backend vsdstat in haproxy.cfg. By default
both ports are set to 39090.
NTP
By default, the VSC is the NTP server (without any authentication) for the NSGs. To enable NTP server function on
the VSC, execute the following on the VSC under config>system>time>ntp
ntp-server
server 192.xxx.xx.xx
no shutdown
For security, an authentication key can be configured using the NTP Key Identifier and NTP Key fields in the
infrastructure profile. The NTP Key Identifier must be in decimal format within the range 0-255. The NTP Key must
be between 0 and 32 characters in length.
The following CLI commands may be used for enabling NTP and authentication to server:
1. Authenticate clients (i.e. NSGs) connecting to the server:
*A:vsc32>config>system>time>ntp# ntp-server authenticate
2. Ensure that the VSC NTP client does not authenticate towards the infrastructure NTP server (if the NTP server
is not using authentication):
*A:vsc32>config>system>time>ntp# no authentication-check
3. Apply the infrastructure profile key/password
*A:vsc32>config>system>time>ntp# authentication-key 1 key <NTP key> hash2 type
message-digest
Note: NTP synchronization across VNS components is mandatory to guarantee correct operation.
Logging
The Infrastructure VSC Profile contains the IP addresses of the controller(s) in a VNS deployment. It is mandatory
for Network Port/VLAN to be associated with a VSC profile and a validation is done at the time of Bootstrapping an
NSG.
Note:
1. The VSC profile may be assigned by a CSPRoot to a VLAN template (of a network port template) or at the
VLAN instance level. It is recommended that network port VLAN template be assigned a VSC profile by
the CSPRoot.
2. The VSC profile is required for supporting the Dual Uplink feature. The controller topology and requirements
for assigning the VSC profiles to ports are discussed in more detail in the Dual Uplink (page 208) section.
3. Overlapping controller IP addresses are not supported on an NSG. Each configured VSC (single/dual uplink)
must have a unique IP address (even if in disjoint underlays).
1. As CSPRoot, click on Data Center Configuration icon and select the Infrastructure tab across the top.
2. In the far left side panel, click on the VSC Profiles icon . The Infrastructure VSC Profiles panel displays a
list of existing profiles (if they exist).
3. Click on for creating the first profile or on for adding a new profile. In either case, a popup for New
Infrastructure VSC Profile appears.
4. Enter the following in the popup.
• Name
• Description
• Probe Interval (milliseconds): Specifies the interval at which the VSC is probed for connectivity of OF TLS.
The default is 5000 ms, or 15000 ms for a scaled setup.
• Address Family: Select IPv4 or IPv6.
• First VSC: Defines the IP address of the first VSC that the NSG attempts to connect to using the network uplink
of the network port with which the profile is associated.
• Second VSC: Defines the IP address of the second VSC that the NSG attempts to connect to using the network
uplink of the network port with which the profile is associated.
Note: The following OpenFlow parameters on the VSC must match the configured probe interval: config
vswitch-controller open-flow gw-echo-time in seconds must equal the configured probe interval
config vswitch-controller open-flow gw-hold-time in seconds must equal 3 times the configured
probe interval
Rate Limiters are set of traffic management parameters describing a desired traffic profile. Rate-limiters are used by
QoS policies to enforce per Class of Service rate-conformance. Refer to Egress QoS (page 68).
The Egress QoS Policy groups rate-limiting profiles, traffic directionality and classifiers to govern the rate of traffic
being sent or received by an end-host or application. The CSPRoot or Enterprise Admininstrator assigns the policy to
a port VLAN.
Refer to Egress QoS (page 68).
Address Translation Pools are a range of externally routable IP addresses. User or application traffic is translated prior
to being forwarded across the underlay network.
Refer to Port Address Translation (page 67).
1. As CSProot, click on Data Center Configuration icon and select the Infrastructure tab across the top.
3. In the far left side panel, click on the Network Service Gateways icon . The Network Services Gateways
panel displays a list of existing templates (if they exist). Click on towards the bottom of the screen to create
a new NSG template which appears as a popup as shown in New NSG Template Popup (page 38).
5. Associate an Infrastructure Gateway Profile by clicking on the icon which will popup a window with a
list of previously created profiles. Select a profile for association.
6. Similarly, associate an Infrastructure Access Profile by clicking on the icon which will popup a window
with a list of previously created profiles. Select a profile for association.
Note: LTE uplink connections are supported only for personality NSG.
11. Once the template is created, another Infrastructure Gateway Profile may be associated by clicking on the
icon towards the right side of the screen which will popup a list of existing infrastructure profiles for association.
Note:
• A template cannot be deleted if there are any NSG, NSG-BR, NSG-UBR instances based on the template.
• Personality type may be changed in the template only if there are no instances or no BR connections.
Refer to the Port allocation table (page 77) which lists the ports (on different form factors) that may be configured as
Network and Access ports.
1. Select an NSG template from the Network Services Gateway Panel.
2. At the bottom of the Ports panel, click on . The New Port Template popup appears.
Note: The Physical Name must match the naming convention of the ports on the NSG:
• For fixed Ethernet ports, the name must be port1, port2, port3 etc. (up to the number of ports supported by the
form factor)
• For removable interfaces (i.e. USB), the name must be lteX, where X is an integer (e.g. lte0, lte1) because
such an interface applies to an LTE uplink.
5. Select Type as Access or Network. For an NSG at most two ports may be assigned as network type ports. Even
if only one network uplink is being provisioned at the time of installation, it is recommended that another port
be reserved as a network type port for future use.
Note:
• An LTE uplink is only supported on a port of type Network.
6. Enter a VLAN Range for port. The default VLAN range is 0-4095.
Note: VLAN 4095 should not be used, and it is recommended that the default range be updated to a range between
0-4094 so that VLAN 4095 is not inadvertently selected.
7. Enter an MTU for the interface. Default is 1500 Bytes if not entered.
8. Select a Speed from the drop-down. Default is auto-negotiate if not entered.
9. Upon completion click the Update button. Once created the port templates will be listed in the NS Ports panel
of the NSG Template and each template can be individually edited ( ) or deleted ( ).
Attention: MTU and Speed specified at port template level will be inherited by the port instance. The values
inherited from the port template will become persistent if any changes are made, at instance level, to the inherited
values (MTU, Speed) or default attributes (e.g. NAT-T, Mnemonics), and will no longer receive template level
configuration changes.
Note: VLAN template is optional and may be created if the CSPRoot wants to limit to specific VLAN tags.
2. At the bottom of the VLANs panel, click on . The New VLAN Template popup appears.
4. In the case of NSG-UBR, the VLAN template has an additional flag called Underlay Connection VLAN.
When enabled, it indicates that the VLAN will be associated with a underlay uplink and not a control uplink.
The latter requires a VSC profile to be associated with it.
5. Click on Create.
The policy will be inherited by the enterprise administrator who may be able to extend the VLANs (for access ports),
but cannot delete the VLANs in the template created by the CSProot.
2. Click on the connection icon from the upper right action icons.
3. The workflow for configuring the uplink connection attributes is exactly as described in Define Uplink Connec-
tion (page 55) at the instance level.
Note: Uplink Connections defined at VLAN template level are inherited at VLAN instance level. However, user can
set a new uplink connection at instance level.
Note:
• Associating a VSC profile to VLAN template is optional. However, VSC profile must be assigned to at least
one network port VLAN when an instantiated NSG is to be Bootstrapped. Only a CSProot can assign a VSC
profile at the instance level.
• Thus, it is recommended that VLAN template be created by CSProot for all port templates of type Network
and the VSC profile be associated at the template level itself to streamline the workflow for the Enterprise
Administrator.
2. Click on the VSC profile icon from the upper right action icons.
3. The panel below the icon will either display a VSC Profile already assigned or will allow you to assign a VSC
Profile. Select the paper clip icon which will popup a list of defined Infrastructure VSC Profiles. Choose a
profile and click on the Select button in the popup to complete the association of the VSC profile to the VLAN
template.
Attention: VSC profile and Egress QoS profile defined at VLAN template level are inherited at VLAN instance
level. However, any changes to VLAN instance attributes, such as PAT pools association, cause the inherited VSC
profile and Egress QoS profile links to persist on the instance. Thus, subsequent changes at template level will not
be propagated to the modified instance.
Refer to Auto-Bootstrapping (page 73) for an overview of the process. The CSPRoot functions related to auto-
bootstrapping, involve:
• Create Auto Bootstrap Data that enables an NSG to initiate auto-bootstrap request. The Auto Bootstrap Data
created by CSPRoot does not have an enterprise context.
• Review and assign/reject pending bootstrap requests
• Define match criteria for auto-assignment of requesting NSGs
The workflow is as follows:
1. As CSPRoot, select the Data Center Configuration icon , and navigate to the Infrastructure tab -> Network
Service Gateway -> Auto Bootstrap for Auto Bootstrap functions.
The CSPRoot may create the Auto Bootstrap Data file which is required by the NSG for initiating the auto-
bootstrapping request. The file is created and downloaded and consumed by the form factors as follows:
• Downloaded to a USB for physical NSG device
• Added as a CD-ROM device for NSG-V on KVM. The CD-ROM option must be specified in the XML (refer to
NSG-V on KVM installation instructionsin the VNS Install Guide)
• Added while manually launching an Instance in AWS Dashboard or via the CloudFormation JSON file for
NSG-AMI
1. From the panel, select Download Auto Bootstrap Data which will open the dialog for creating the Auto
Bootstrap Data file.
2. Select the form factor for Allowed Network Services Gateway Type from one of:
• All
• NSG-AMI
• NSG-E
• NSG-V
3. Download Type is either ISO (if NSG Type is All, NSG-E, NSG-V) or YAML (if NSG Type if NSG-AMI).
4. Select the Network Services Gateway Template. When the Auto Bootstrap Data file is created, some informa-
tion is selected from the template specified.
5. Select the Download button to create the Auto Bootstrap Data file.
When the CSPRoot creates the Auto Bootstrap Data, there is no enterprise context, and hence a requesting NSG will
be placed in pending state (in unassigned state) for review by CSPRoot so that it can be assigned to an enterprise. The
CSPRoot may optionally define the match criteria to auto assign (page 48) a requesting NSG to an enterprise.
When an NSG initiates a request for auto-bootstrap and the Auto Bootstrap Data file has no enterprise context, then
the request is registered in the VSD as a pending request, in unassigned stated, for review by the CSPRoot.
1. From the auto-bootstrap panel, select Pending Requests which will display a list of pending requests and
the corresponding state. Select one in unassigned state, which will popup a screen with the requesting NSG’s
fingerprint and allow the CSPRoot to assign the requesting NSG to an enterprise or reject the request.
2. To assign, click on icon towards the bottom of the popup, and select an enterprise. Click on Assign to
update. The status of the NSG in the pending request list will change to assigned. In addition. the NSG will be
added to the pending list at enterprise level for admin review.
3. The CSProot may also reject the request in which case the bootstrapping process on the NSG will exit. The
status in the pending request list will change to denied until clean-up (page 75).
This function allows the CSPRoot to define match criteria to auto-assign requesting NSGs to an enterprise. NSGs that
get matched will be reflected in the CSPRoot Pending Requests list with an assigned status, and will also be placed in
the enterprise admininstrator’s Pending Requests list for review.
1. Select Enterprise Auto Assignment which will list existing match rules (if any) or allow you to edit existing
rules or add a new rule. The popup for specifying the match attributes is shown in the figure below.
4. Select an attribute and enter one or more values to match on. Attribute options are:
• Hostname
• Serial Number
• IP address
• MAC address
5. Click on icon to select an enterprise. If the match is successful, then the requesting NSG will be auto-
assigned to the selected enterprise.
An enterprise administrator via the VSD has visibility into all the sites in the enterprise. The enterprise administrator
instantiates gateways for the enterprise and facilitates the site onboarding process when NSGs have to be activated at
branch loctions.
Enterprise administrator is required to create installer users so that they can bootstrap the NSGs at the branch locations.
1. Enterprise admininstrator is logged in as a VSD user.
2. Select the Settings tab across the top of the screen. In the far left panel, click on Users icon .
3. Click on towards the bottom of the screen for adding a user. A popup appears as shown in Create an Enter-
prise User (page 51).
3. Enter all the details in the popup.
Note: Email is used as part of initial notification to installer and serves as the first factor for authentication of NSG
install. Mobile is used as part of a 2nd factor challenge soliciting a user to confirm his/her identity. Mobile number
should be entered as <+><country code><mobile number>. Password is used by user for logging into VSD and is
optional. Typically an installer will not log into the VSD.
All CSPRoot created NSG gateway templates are available to Enterprise to instantiate from. NSG instances will
inherit all the configuration of the template they are associated with. Furthermore, as NSG gateway templates are
edited/updated, changes are applied across all associated instances.
1. Enterprise administrator is logged in as a VSD user.
2. Select the Infrastructure tab across the top of the screen. In the far left side panel, click on the Network Service
Gateways icon .
3. Click on at the bottom of the screen which displays a popup for creating an NSG instance:
Create an NSG Instance
4. Enter a Name and Description.
5. Select a Form Factor Template from the drop-down of all available templates.
6. Configure SSH Service. By default it is set to Inherited and may be changed to Enable or Disable only if the
CSPRoot has allowed override. An error appears if a change is attempted when the CSPRoot has not allowed
override.
7. Configure a Control Traffic COS and Control Traffic DSCP to assign remarking values for self-generated
control traffic.
8. The Device Shipping Address is optional and specifies the installation location.
9. The Time zone specifies the time zone of the NSG instance. The supported formats are UTC + or - offset,
Country/Region, and Continent/City. The exact values supported are as found for Linux system installation
(/usr/share/timeinfo). DST is implicitly handled when using “Continent/City” format. The value entered in this
field impacts the Synchronization Schedule value (see System Synchronization and Upgrade (page 32)).
10. To assign an installer, click on icon towards the bottom of the popup. Another popup appears as shown in
Select an Installer (page 52). An installer can be elected from the available list.
Note: An installer does not necessarily have to be assigned at the time of gateway instantiation if the gateway is not
ready to be shipped. To assign an installer post gateway instantiation, refer here (page 63).
11. If “Notify installer right away” is checked, then a notification event is generated whereby an application (e.g.
Mail server) can be used to generate email to the installer at that point. This option should be used if the gateway
is ready to be shipped immediately. Typically there may be a lag between the time the gateway is instantiated
and shipped.
On an NSG instance, an Enterprise administrator can, optionally, configure a TCP Maximum Segment Size (MSS)
adjustment. It specifies the maximum amount of data that a host (receiver) is willing to accept in a single TCP/IP
datagram from the sender. When TCP session are established between hosts, the 3-way handshake establishes the
MSS for the session. Each side of a TCP connection reports its MSS value to the other side. This is typically done
to avoid fragmentation of the TCP packets within the transient network. The feature does not improve fragmentation
issues for non-TCP traffic.
When configured, the network nodes modify the MSS value in the TCP SYN and SYN-ACK packets to the lower of
the requested and configured MSS values.
In the case of NSGs, by carefully selecting the MSS adjustment value, TCP packet fragmentation can be avoided at
the NSGs, as well as in the underlay network.
Example below describes how the value may be selected:
• For both WAN/uplink overlay traffic of VxLAN and IPsec, assume ~130 bytes of overhead (depends on crypto
options)
• 40 bytes for TCP header
• MTU 1500
In such a scenario, the MSS adjustment value may be set to 1330 bytes (1500-130-40).
2. In the popup, select Enable Maximum Segment Size checkbox, and enter the TCP Maximum Segment Size
value. Range is 512-9000 bytes.
3. Click Update
Note:
• TCP MSS adjust value must be less than the MTU defined on the uplink ports. The VSD does not enforce the
validation.
• Configuration and/or modification of TCP MSS Adjust is service impacting.
• The value applies to all uplinks, all uplink port types, and all gateway personality types (NSG/NSG-BR/NSG-
UBR). In other words, the configuration is not specific to an uplink MTU or a particular underlay.
• Currently there is no support for Path MTU discovery capability.
Once the gateway(s) is instantiated, the ports/VLANs are inherited from the NSG Template. If the VLAN exists at the
template, then it will be automatically created at the instance. Otherwise, it will have to be manually created once a
new Network Port is added to the NSG Instance.
Attention: Post-bootstrapping any changes to network VLAN configuration will be service impacting, especially
interworking with IKE and BGP where uplink information is shared with an upstream peer. In addition, statistics
associated with the VLAN will be lost. If there is a business reason for changing VLAN configuration, then ensure
that both old and new VLANs are available in the underlay until service is restored on the uplink, after which the
old VLAN may be removed.
The enterprise administrator may also add ports and/or extend VLANs (for access ports).
Note:
• NAT Traversal is a port level attribute that must be specified by the enterprise administrator. Refer to NAT-T
provisioning (page 143) for detailed workflow.
• For a network port with an LTE uplink, NAT Traversal (page 206) may need to be enabled if the provider of
the LTE device has assigned a private IP address.
When an NSG network port is instantiated, the uplink connection is inherited from the template (if defined) or will
have to be manually created with attributes that matches the deployment environment.
Configure the following parameters:
• Connection specifies the type of uplink connection. The values can be Dynamic (default), Static,
PPPoE, or LTE.
Note: Refer to LTE uplink (page 202) feature overview for LTE connection mode.
• Role can be Primary or Secondary. The default is Primary for first uplink, and Secondary for the
second uplink.
Note: Refer to Uplink Role (page 207) section for how the tagging is used for network link redundancy.
Note: Only static, dynamic, and LTE uplink connections are supported for IPv6.
Note: If a VSC infrastructure profile with IPv6 is assigned to an uplink VLAN, only IPv6 can be selected
for the Address Family parameter.
Note: IPv6 must be enabled at the domain level before IPv6 can be selected for an uplink connection.
Note: NAT probes are enabled by default on network ports, but NAT traversal is not supported for IPv6.
The probes must be disabled before configuring an IPv6 uplink connection. Disable the NAT Probes
Enabled parameter on the NSG port configuration form before creating an IPv6 uplink connection. Refer
to Configuring NAT-T settings at the NSG Port level (page 143) for more information.
• Underlay specifies the WAN network over which the connection is being defined. If not specified,
then Underlay 0 is assumed. It is required to be specified for NSG-UBR (page 165) feature for
underlay uplinks.
• Reachability Verification specifies the method for verifying reachability on the specified connec-
tion (control uplink or underlay uplink).
• Download rate limit (Mbps) specifies the maximum rate at which data can be downloaded through
the uplink.
• Underlay NAT enables underlay NAT on the uplink. If underlay address translation is enabled at
the domain, zone, or subnet level, traffic is sent from the uplink with NAT.
• Underlay Routing enables underlay routing on the uplink. If underlay routing is enabled at the
domain, zone, or subnet level, traffic is routed from the uplink to the network underlay.
Note: Refer to Per Uplink NAT (page 566) for more information about enabling underlay NAT or
underlay routing at the uplink level.
Note: A reload config is required after configuring the Underlay Routing and Underlay NAT parame-
ters.
2. Click on the connection icon from the upper right action icons.
3. Select Connection mode as either Dynamic, Static, PPPoE, or LTE. Depending on the selection, additional
parameters must be configured as shown below:
Static Mode Parameters
Enter the IP addresses for the Network, Gateway, and DNS server. DNS server is required for static
uplink connection type.
Attention:
• For NSG-UBR, for underlay uplinks, Connection mode is Static, but DNS server is not required.
• Ensure that the IP address entered is fully resolvable. An invalid IP address will result in traffic
loss on the uplink.
• Post-bootstrapping, if the IP address is changed via a reload configuration, then the correspond-
ing peer configuration for BGP/IKE (as applicable) will also need to be updated.
• Once an LTE uplink is created, additional attributes (e.g. SIM Card APN and PIN) may be specified
via a Custom Property object (for modem-based or integrated devices) that appears at the bottom
of the connections panel.
The information is in the form of a Name:Value pair. Once the information is pushed to the NSG, it will
replace the default values present in the LTE Configuration file used for dialing modem based devices. It
is recommended that custom properties be entered at the instance level.
The following example shows custom property being added (as a name:value pair) for configuring APN
settings (default APN is Internet).
The following example displays another custom property that is added for configuring PAP authentication
instead of CHAP (which is the default).
Note:
• PPPoE can only be selected for one uplink.
• LTE can only be selected for one uplink.
• The “apn” attribute-value pair is supported for integrated LTE uplinks. The system automatically determines
the APN to dial in most cases and it is not required to specify the APN using a custom property. In some cases,
if the LTE connection fails for your carrier or region, the automatic APN settings may not be the correct one.
Please contact your LTE SIM provider for the APN required to dial for that connection. You can then configure
that value as a custom parameter. For example, name: “apn” and value: <carrier provided apn>. In this case,
the configured APN will override the system default APN.
• “pdp-type” is a configurable custom parameter that determines the PDP type associated with the LTE connection.
The PDP type is automatically determined by the NSG and specifying it as a custom property is not required
or recommended. However, you can specify “pdp-type” as a custom property and override the automatically
determined value.
• If the mode is set to Dynamic, Static or PPPoE, and WAN check fails, then bootstrapping is not allowed to
proceed until another registration link with the correct uplink connection configuration is received.
• The mode selection and static/PPPoE/LTE configuration (if specified) is included in the registration link that is
sent to the installer, and bootstrapping uses the information for WAN checks.
• Post-bootrapping, mode cannot be changed.
• If the mode is set to Dynamic, 31-bit prefixes are supported. However, the gateway address must be specified
for DHCP connections to function properly.
If the CSPRoot has allowed the organization to override the default activation portal, then the enterprise administrator
must select an avatar by dragging the desired logo into the organization object as shown in the figure below with the
example Nokia logo.
Refer to Auto-Bootstrapping (page 73) for an overview of the process. The admin functions related to auto-
bootstrapping, involve:
• Create Auto Bootstrap Data that enables an NSG to initiate auto-bootstrap request. The Auto Bootstrap Data
created by an admin has an enterprise context.
1. As enterprise administrator, navigate to the Infrastructure tab -> -> for Auto Bootstrap functions.
The enterprise admin may create the Auto Bootstrap Data file which is presented to the NSG on a USB (for physical
NSG device) or added as a CD-ROM device (for NSG-V), and is used by the NSG for initiating the auto-bootstrapping
request.
The process is identical to the steps described in the CSPRoot workflow (page 45), except that the Auto Bootstrap
Data file will be created within an enterprise context. The requesting NSG will be placed in pending state (in assigned
state) for review by enterprise admin so that it can be approved and assigned to an instance. The admin may define the
match criteria to auto approve (page 62) the requesting NSG to an instance.
When an NSG initiates a request for auto-bootstrap and the Auto Bootstrap Data file has an enterprise context, then
the request is registered in the VSD as a pending request (in assigned state) for review by the enterprise admin.
1. Select Pending Requests which will display a list of pending requests and the corresponding state. Select one
in assigned state, which will popup a screen with the requesting NSG’s fingerprint and allow the admin to assign
the requesting NSG to an instance or reject the request.
2. To assign, click on icon towards the bottom of the popup, and select an NSG instance. Click on Approve to
update. The status in the pending request list will change to approved until clean-up (page 75).
3. The admin may also reject the request in which case the bootstrapping process on the NSG will exit. The status
in the pending request list will change to denied until clean-up (page 75).
The enterprise administrator may define match criteria to auto-approve requesting NSGs to an instance. When a
requesting NSG is matched to an instance, it is deemed as approved and bootstrapping will begin on the requesting
NSG. NSGs that get matched will be reflected in the Pending Requests list with an approved status.
1. Select an NSG instance and in the right panel select for bootstrap and find the Auto Bootstrap section to
define the match rule for auto approve.
The following describes the requirements for normal one-factor or two-factor bootstrapping process.
When a new gateway is to be shipped to a site for onboarding, the enterprise admininstrator has to:
• Assign an installer (page 63) who can receive and activate the NSG at the targeted site, and
• Notify the installer (page 64) to initiate bootstrapping
If an Installer is not selected at the time the Gateway is instantiated or a different installer is required, then the assign-
ment can be done when the gateway is ready to be shipped.
1. Select a Network Service Gateway instance
3. If an installer has been assigned, the name will be displayed, otherwise “No Installer” will be displayed.
4. Click on icon which will popup a list of installer names from which a name can be selected.
When the gateway is ready to be shipped and deployed, the selected installer must be notified of the registration
information. The registration information includes an identifier for the gateway appliance to ensure that the intended
gateway is activated from the site. The installer is notified using the following steps:
1. Select a Network Service Gateway instance
4. Clicking on “Send Activation” button will generate a notification event whereby an application (e.g. Mail server)
can be used to generate an email to the installer.
Note: If a VSC profile is not associated with the uplink port/VLAN of the instantiated NSG, then Send Activation
will result in a server error indicating VSC Profile not assigned to network port. The enterprise administrator will need
to inform the CSProot of the error.
The installer receives an email with a link for registration. After the installer clicks on the registration link, if two-
factor authentication is enabled in the Infrastructure profile, then a confirmation code is also generated. The code can
be consumed using a mechanism, such as text to SMS gateway (to send to installer’s mobile device), to authenticate
the installer.
Bootstrap a Gateway
Bootstrapping is a key installation capability to securely commission NSGs into the VNS network.
Refer to Bootstrapping (page 71) for the detailed Installer workflow for on-site onboarding of the NSG using one-
factor or two-factor bootstrapping process.
Refer to Auto-Bootstrapping (page 73) for on-site staging of NSG for self-installation with minimal installer interven-
tion.
Nuage VNS features a number of networking abstractions that act as building blocks to define the connectivity within
a network overlay service in an Enterprise. Specifically:
• Domains are the abstraction for either a switching (L2) or routable (L3) network service. Multiple domains
can exist per Enterprise. - Within a L2 domain, Nuage VSP establishes connections based on MAC addresses
contained in every frame.
– Under a L2 domain, vPorts are defined. vPort is the logical representation of an interface or attachment
point. In VNS, two types of vPorts can be defined: bridge, host.
Unmanaged L2 domains are supported.
– Within a L3 domain, Nuage VSP manages the IP networking layer and forms a single “L3 space”. In
standard Networking terminology this corresponds to a VRF instance. Since Nuage VSP manages the L3
space, it establishes direct connections between guest VMs based on MAC and/or IP information, also
known as distributed routing.
* Under a L3 domain, zones are defined. A zone does not map to anything on the network directly, but
instead it acts as an object with which policies are associated such that all endpoints in a zone share
the same set of policies.
* Under a zone, subnets are defined. A subnet is a specific Layer 2 subnet within the Domain instance.
A subnet is unique and distinct within a L3 domain. That is, subnets within a Domain are not allowed
to overlap or to contain other subnets in accordance with the standard IP subnet definitions. In VNS,
a subnet is fully owned by an NSG.
* Under a subnet, vPorts provide a more granular configuration and also support a split workflow, where
a vPort is configured and associated with a gateway port before the port exists on the gateway. This is
the lowest level where properties such as ACLs, QoS can be defined. Host and Bridge Interfaces are
attached to vPorts. When a vPort created and attached to a subnet, there will be a validation check to
ensure that the vPort being attached belongs to a gateway that owns the subnet. If it does not, then the
attachment is not allowed.
The following illustrates a minimal workflow for bringing up VNS service assuming there are two sites with one
bootstrapped NSG at each site. Advanced configuration can be applied, once the basic configuration is completed:
An NSG may be provisioned with up to two network uplinks for data/control path redundancy as well as to allow traffic
to be routed over two transport networks (e.g. IPVPN and Internet). Ehternet-based and LTE uplinks are supported.
Provisioning includes:
• Defining uplink role as Primary or Secondary
• Configuring VSC Profile depending on controller topology and redundancy considerations.
• Configuring forwarding policy for indicating Uplink Preference
Refer to Network Uplinks (page 201) chapter.
NAT Traversal
The capability enables Internet connected NSGs that are front-ended by NAT devices to be part of the VNS network.
The NAT-T feature allows VNS data and control plane connections to traverse the NAT devices.
Provisioning entails a network port level attribute that is configured as part of the infrastructure provisioning by an
enterprise administrator.
Refer to NAT Traversal (page 143) chapter.
The PAT feature addresses local Internet offload use cases when the NSG is deployed as a WAN router for connectivity
to business Internet services. The feature enables internal user/application IP addresses to be mapped to a single
external routable address, as well as 1:1 mapping of external user/ application IP address to external routable address.
Provisioning includes:
• Enabling PAT at the domain/subnet level
• Creating Address Translation Pools
• Assigning Address Translation Pools to NSG or Network Port VLAN
• Configuring 1:1 NAT or 1:N PAT Maps
Refer to Port Address Translation (page 255) chapter.
PAT to Overlay
Enables the NSG with a distributed destination based PAT function from a branch domain to a local or remote shared
domain. Also supports NAT 1:1 mapping for specific hosts with routing policies to assign preferences per NSG.
Refer to PAT to Overlay (page 277) chapter.
BiDirectional NAT
The capability supports extranet scenarios where addressing might overlap on customer and provider networks or to
anchor traffic to a specific link/device. Bi-directional NAT enables performing source NAT (SNAT) and destination
NAT (DNAT) on a packet simultaneously between a customer and a provider domain.
Refer to BiDirectional NAT (page 287) chapter.
Application-Aware Routing
Enables policy-driven application performance management in a multi-path network. Specifically, AAR enables capa-
bilities such as application discovery, network performance measurement, and intelligent path selection for application
traffic based on path performance.
Refer to Application-Aware Routing (page 446) chapter.
NSG Border Router (NSG-BR) feature enables a secure demarcation point between the WAN and the DC underlay
networks. It provides seamless connectivity between NSG and non IPsec-capable endpoints (e.g. VRS, 7750 SR) by
linking domains, while maintaining a unified policy.
Refer to NSG Border Router (page 178) chapter.
NSG Underlay Border Router (NSG-UBR) feature enables seamless connectivity between NSGs in disjoint underlay
networks.
Refer to NSG Underlay Border Router (page 165) chapter.
Egress QoS
The QoS feature of VNS is the capability to control the rate of traffic egressing the NSG ports. The feature enables traf-
fic classification, prioritization and shaping to ensure that performance sensitive applications are prioritized, fairness
is maintained and/or packet-loss is minimized. Provisioning includes
• Defining Rate Limiters (CSPRoot function)
• Creating QoS Policies and associating Rate Limiters (CSPRoot function)
• Edit existing QoS Policies (Enterprise Administrator)
In addition Egress QoS Statistics can also be viewed for monitoring purposes.
Refer to Egress QoS (page 307) chapter.
IPsec VPNs
Access Resiliency
The feature enables NSGs to be deployed as a redundant pair enabling HA configurations, protecting against link and
device failures.
Refer to Access Resiliency (page 242) chapter.
BGPv4 on NSG
Support for BGPv4 control plane enables the NSG to establish BGP peering with upstream PEs and with downstream
customer routers, and learn and advertise routes between the LAN and WAN subnets.
Refer to BGPv4 on NSG (page 325) chapter.
Secondary IP on NSG
Secondary IP support enables the NSG to have private and/or non-globally routable link-local interfaces between CE-
PE, thus saving the operator IP space and allowing a simplified provisioning model for PE by using the same interface
IP address on all CPE devices.
Refer to Secondary IP on NSG (page 155) chapter.
Service Chaining
Service chaining allows branch locations connectivity to datacenter-based service functions (e.g. firewall or load
balancer). Service chains may be provisioned using:
• Static routes on the domain instance level to redirect traffic (refer to the Nuage VSP User Guide)
• Advanced Forwarding ACLs (refer to the Nuage VSP User Guide)
Refer to Service Chaining in VNS (page 295) for details.
DHCP Relay
Enables DHCP Relay from NSGs to 3rd party DHCP servers behind a central NSG vPort (host/bridge). DHCP clients
are behind other NSGs in branch locations.
The Enterprise Administrator workflow for the DHCP Relay configuration is as follows:
1. Navigate to Networks -> Layer 3 Domains -> My L3 Domains (for existing instances). Otherwise instantiate
a domain instance from a template.
2. Once the instance is selected, select the settings icon in the far right panel.
3. Select the DHCP Behavior attribute and from the list of available options select DHCP Overlay Relayed.
4. Specify a primary and optionally a secondary DHCP server.
Note:
• The DHCP Behavior can only be modified if there are no vPorts attached in that domain.
• At least one DHCP server must be configured when DHCP Overlay Relayed option is selected.
5. Select each subnet in which the DHCP clients and DHCP server will reside and repeat the next step for each
selected subnet.
Vxlan Neighbors: 0
IPSec Neighbors: 0
3.2 Bootstrapping
3.2.1 Overview
The bootstrapping solution is a key part of Nuage VNS deployment that enables Nuage NSG end-points to securely
connect to Nuage VSCs (centrally hosted), download their service configuration, and connect end-users to their ser-
vices based on pre-defined policies with minimal user interaction. Several bootstrapping models are supported to
address the varying levels of customer site and installer trustworthiness as follows:
• Bootstrapping using one/two-factor installer authentication, when the NSG and installer are un-
trusted.
• Auto-Bootstrapping, when the NSG is deemed as physically secure and installer is trusted.
Note: The automatic bootstrapping capability is in line with existing industry solutions referred to as zero
touch or zero factor installation of CPE devices. However, Nuage enhances the capability for enterprises
3.2. Bootstrapping 71
VNS User Guide, Release 5.3.2
that are mindful of security, and offers additional options for enterprises that want to maintain visibility
and control over CPE devices before allowing them to be onboarded.
Attention: For LTE uplinks, a supported LTE device must be staged and shipped to the site by the Enterprise
administrator or service provider. For details, refer to LTE Staging and Operations Requirements (page 204).
Note: During bootstrapping, HTTPS communication between NSG and Utility VM utilizes TCP Ports 12443 and
11443. The procedure for modifying these ports, post installation of the VSD and Utility VM, is described in the Port
Modification for NSG Bootstrapping section of the VNS Install Guide.
Prior to bootstrapping and connecting the NSG to the VSD, you can upgrade the currently running software image
to another version using CLI. For example, you can upgrade the NSG from the gold image to allow the use of boot-
strapping features that are not available in the factory-default load, or even change to an earlier release. Pre-bootstrap
upgrades from CLI allow for the following scenarios:
• Upgrade from an image file on a USB drive.
• Upgrade from an image file that is locally available on the NSG (for example, after downloading from a remote
source using scp or wget).
Pre-bootstrap NSG image upgrades are performed with the nuage-operation -o UPGRADE command as the
Nuage user. See CLI-Based NSG Operations (page 106) for more information about command syntax and options.
Consider the following statements before performing a pre-bootstrap NSG upgrade:
• If performing the upgrade using a USB drive, do not plug the USB drive into the NSG until it has booted.
• Only 1 image .tar file can be present on the USB drive, otherwise the upgrade attempt will terminate with an
error message before starting.
• The USB drive must not be formatted in NTFS (EXT2, 3, 4, Fat32, and XFS are supported).
• When upgrading from a locally-stored .tar file, ensure that the file and checksum are stored in the /tmp directory
so that the Nuage user has access to the files.
3.2. Bootstrapping 72
VNS User Guide, Release 5.3.2
• SSH must be enabled on the NSG if secure remote access is required for the upgrade. See Pre-Bootstrap:
Enable SSH (page 92).
• During the upgrade, you must ensure that no other operations are executed or secondary connections to the NSG
are active. Failing to do so can render the NSG inoperative.
Note: Pre-bootstrap NSG image upgrades require 100 MB of available RAM and 1 GB of available storage.
Note: The NSG-C does not have enough available RAM to run both the upgrade and MD5 checksum verification.
You must manually verify the MD5 checksum and execute the upgrade using the --ignoremd5 option.
1. If you are performing the upgrade using locally available files, transfer the files to the /tmp directory on the
NSG.
2. If you are performing the upgrade using a USB drive, plug in the USB drive after powering on the NSG.
3. As the Nuage user, execute the sudo nuage-operation -o UPGRADE command with the following
syntax depending on the use case:
• sudo nuage-operation -o UPGRADE - run this command when upgrading using a USB
drive.
• sudo nuage-operation -o UPGRADE -f filename - run this command when upgrad-
ing using a locally available .tar file (for filename, enter the path to the .tar file).
You can add the --clean option to the end of the command to remove the upgrade-related files following
a successful upgrade (for example, if the .tar file and checksum were not located in /tmp).
4. Monitor the upgrade progress.
Troubleshooting
Insufficient memory to perform the upgrade operation - Ensure that 100 MB of RAM is available on the NSG to run
the upgrade. In the case of the NSG-C, the upgrade command must be run with the --ignoremd5 option to avoid
the insufficient memory error.
3.2.3 Auto-Bootstrapping
Auto-bootstrapping allows an NSG to be onboarded with minimal installer support. Nuage solution supports the
following auto-bootstrapping workflows to address various levels of security:
• A requesting NSG may be auto-assigned and auto-approved for bootstrapping which assumes that the device
and enterprise is completed trusted. This is equivalent to what industry refers to as zero factor installation.
• A requesting NSG may be auto-assigned to an enterprise, but requires an administrator to approve the bootstrap-
ping.
• A requesting NSG requires a CSPRoot to assign it to an enterprise and an enterprise administrator (or CSPRoot)
to approve the bootstrapping.
3.2. Bootstrapping 73
VNS User Guide, Release 5.3.2
Auto-bootstrapping process involves several phases as shown in the figure (physical NSG form factor is assumed for
the illustration), specifically:
1. Pre-staging:
CSPRoot or Enterprise admin:
• Creates a userdata file which contains the necessary information that the NSG must send to the VSD
when it initiates an auto-bootstrapping request. Refer to CSPRoot workflow (page 45) and Enterprise
admin workflow (page 61) for creating userdata.
• Ships the userdata file (along with the NSG) on a USB (for physical NSG form factor) or as CDROM
(for the virtual NSG form factor).
2. Staging at Site (Installer Workflow):
The workflow described below assumes a physical NSG form factor. For a virtual form factor, the VM
boot-up sequence will mount the CDROM to read the userdata and the remaining workflow will be iden-
tical.
Installer:
• Receives the NSG and USB.
• Inserts the USB and powers up the NSG.
• Connects WAN uplink(s) to the configured Ethernet port(s) and/or inserts the LTE device (page 204)
(for the LTE uplink). It is expected that the Ethernet port information will be communicated to the
installer by the administrator.
NSG:
• Mounts the USB and reads the userdata file.
• NSG sends the data to the VSD along with a request for bootstrapping.
• The request will be either:
3.2. Bootstrapping 74
VNS User Guide, Release 5.3.2
– Denied if the integrity check fails for the userdata being presented (this is to ensure that userdata
is not tampered), or
– Registered in pending state for review by CSPRoot (page 47) if there is no enterprise context or
review by Enterprise Admin (page 61) if there is enterprise context.
Note:
1. Once the NSG reads the userdata and is pending bootstrap approval, then the only way to delete
the userdata is to reset the NSG.
2. If the NSG is pending bootstrap approval, and if a USB with another set of userdata is inserted
and the NSG is rebooted, then a new auto-bootstrap request will be initiated. Thus, there will
be two pending requests on the VSD for the same NSG.
Note: A request may also be denied if the userdata presented to the VSD fails integrity verification, and
in this case the request is not registered or presented on the VSD.
The Bootstrap requests cleanup timer is used to clean-up the pending request displays on the VSD for requests in
states unassigned, assigned, and denied. A pending request that is approved is cleaned up immediately.
3.2. Bootstrapping 75
VNS User Guide, Release 5.3.2
The NSG request time interval value (say time-T) is downloaded to the NSG as part of the auto-bootstrap initializa-
tion request process. The NSG polls the VSD every time-T seconds to get the status of its pending bootstrap request.
The polling by the NSG is also treated by the VSD as a keepalive from the NSG.
In the event an NSG is powered down or loses connectivity after the initial auto-bootstrap request, and the VSD stops
receiving the keepalives, then the VSD removes the pending request after the Bootstrap requests cleanup timer
expires, and assumes that the NSG is out of service.
If the NSG gets re-connected at a later time, then in order to re-initiate the auto-bootstrap, the NSG must be rebooted.
The NSG-E, NSG-E200, NSG-E300, NSG-X, and NSG-X200 appliances have LED indicators that provide progress
status during auto-bootstrapping as follows:
NSG-E, NSG-E200, NSG-E300:
• Blinking red: Corrupt userdata file on USB or file not found.
• Solid red: WAN check failed or proxy not reachable.
• Blinking green and red: WAN checks passed and proxy Reachable, but request rejected by VSD or VSD is not
reachable.
• Blinking green: auto-bootstrap request registered successfully with the VSD and is pending approval by either
CSPRoot/Admin.
• Solid green: NSG Bootstrapped successfully
NSG-X, NSG-X200:
• Blinking green: NSG has booted up but there is no USB (hence no auto-bootstrapping), and waiting for installer
to do one-factor or two-factor bootstrap
• Solid red: WAN check failed or proxy not reachable
• Alternate blinking green and red: WAN check passed, proxy is reachable but auto-bootstrap request rejected by
VSD or VSD not reachable
• Simultaneous blinking green and red: auto-bootstrap request registered successfully with the VSD and is pend-
ing approval by either CSPRoot/Admin
• Solid green: NSG Bootstrapped successfully
3.2. Bootstrapping 76
VNS User Guide, Release 5.3.2
Prerequisites
This workflow assumes that initial installer notification is done via email (e.g. mail server consuming VSD event
notification) and 2nd factor authentication via SMS (e.g. text to SMS gateway). A customer may opt to not configure
the 2nd factor.
1. The installer should have received an email with a link for registration, and should have the email ready for use
in the bootstrapping process.
2. The installer should also have information about which NSG Ethernet ports must be used for WAN uplink
connection(s) (single or dual uplinks).
3. The installer’s laptop should have a DHCP client running so that it can receive an IP address from the NSG.
4. It is recommended that Wi-Fi be disabled on the installer’s laptop to reduce the likelihood of IP address allocation
from the Wi-Fi network.
5. As part of the NSG bootstrapping process, the WAN interface on the NSG must be successfully assigned an IP
address either dynamically (for DHCP connections), statically, via PPPoE, or LTE.
6. For LTE uplink, installer should have received a supported LTE device (page 204).
7. If the NSG includes an installer-managed PPPoE connection and is configured with a dual-uplink, bootstrapping
may succeed through the non-PPPoE uplink even if the credentials on the PPPoE uplink are incorrect. If this
scenario occurs, the VSD raises a VRS_DISCONNECTED_FROM_CONTROLLER alarm. To avoid this scenario,
the installer must bootstrap the NSG through the PPPoE-configured port only. When PPPoE configuration is
successful, the installer should then plug in the non-PPPoE port and proceed with bootstrapping.
Refer to the “Port Lists” section in the VSP Install Guide for information about the WAN/LAN ports to be used for
installation.
The CSPRoot or Enterprise administrator configures the network and access ports.
Installer Instructions
3.2. Bootstrapping 77
VNS User Guide, Release 5.3.2
Note: For the LTE uplink scenario, the installer can view the LTE information on the device by accessing the pre-
bootstrap status page (page 84).
4. If the NSG is configured with a PPPoE uplink connection that is installer-managed, PPPoE credentials must
be entered before bootstrapping can proceed. Specify the Username and Password before clicking the Apply
Manual Configuration button.
See PPPoE Mode Parameters (page 56) for more information on installed-managed PPPoE configuration.
Note: If the bootstrapping process is terminated for any reason after entering PPPoE credentials, the NSG
should be rebooted before another registration link is requested. Rebooting the NSG restarts the PPPoE
service and ensures that credential verification is performed during the second bootstrapping attempt.
3.2. Bootstrapping 78
VNS User Guide, Release 5.3.2
6. If the system connectivity test fails for any reason (e.g. IP@ is not present on the WAN uplink port because
there is no DHCP, or static IP@ sent in registration link is misconfigured, or PPPoE credentials are wrong), then
bootstrapping will not proceed, and the following error will be displayed.
The installer will have to contact the Enterprise Administrator and request a new registration link to
address the proxy reachability issues. If the NSG is pre-4.0.R3, then installer is presented with a manual
configuration (page 85) option.
3.2. Bootstrapping 79
VNS User Guide, Release 5.3.2
Note: The detailed activation logs displayed in the Advanced logs can sometimes provide more troubleshooting
information. In order to collect all the local NSG logs from the browser, navigate to http://registration.nsg
and click on the top right button Download NSG logs.
7. Once the proxy is resolved and reachable, device is ready to be activated. If two-factor authentication is enabled,
the following page is presented.
The six-digit activation code is sent via SMS to the mobile phone specified in the VSD user profile. The
code expires ten minutes after being sent. The activation code length and expiration time can both be
configured in the VSD system configuration settings.
If the SMS is not received in a reasonable time, click on the Request a new code button to request a new
code. A new code is sent to the specified mobile phone and the old code immediately becomes invalid.
If the code is entered incorrectly, the following page is presented. Reenter the code or request a new one.
3.2. Bootstrapping 80
VNS User Guide, Release 5.3.2
Note: Do not reload the activation code request webpage. This causes a new code to be sent and the old
code to become invalid.
If the activation code entered has expired, the following page is presented. Click on the Request a new code button
to request a new code.
3.2. Bootstrapping 81
VNS User Guide, Release 5.3.2
Click on the Activate your device button to begin the bootstrapping process.
8. Once the bootstrap process completes successfully, the NSG is considered to be in active state.
3.2. Bootstrapping 82
VNS User Guide, Release 5.3.2
9. If the bootstrap process aborts unsuccessfully and the following page is presented, then the VSC infrastructure
profile information will have to be correctly entered by the CSPRoot.
3.2. Bootstrapping 83
VNS User Guide, Release 5.3.2
11. If the NSG is already bootstrapped, the following page is presented. If the NSG needs to be bootstrapped again,
you must physically reset it first. If the error persists, you must revoke the NSG from the VSD and from the
NSG CLI.
When an LTE uplink is configured, the installer can enter the URL http://registration.nsg (or the corre-
sponding IP address) in the browser, which will open the Pre-Bootstrapping Status page.
The page will contain information related to auto-bootstrapping (if present), IP addresses for Uplinks, LTE devices
connected, and the LTE Information gathered by the device if it has connected to a provider.
3.2. Bootstrapping 84
VNS User Guide, Release 5.3.2
See Pre-Bootstrap: Status Webpage (page 91) for more information about the NSG status webpage.
Manual Configuration
Manual configuration allows the installer to configure connection parameters manually during NSG bootstrapping.
Manual configuration may be required if WAN checks fail during bootstrapping, depending on the release and config-
uration details of the bootstrapped NSG and the VSP.
• If the bootstrapped NSG is release 4.0 R2 or earlier and WAN checks fail, manual configuration is required.
• If the bootstrapped NSG is release 4.0 R3 or later and the VSP is release 4.0 R3 or later, the NSG instance may
be configured with the Connection type Any. If the NSG instance is configured in the VSD with the Connection
type Any and WAN checks fail, manual configuration is required.
• If the bootstrapped NSG is release 4.0 R3 or later and the VSP is release 5.0.1 or later, the Connection type Any
cannot be configured via the VSD. However, the value may still exist in NSG instances that were configured
prior to the upgrade to VSP release 5.0.1 or later. If the NSG instance has Connection type Any and WAN
checks fail, manual configuration is required.
Note: If the Connection type Any still exists in legacy NSG instances in VSP release 5.0.1 or later, the NSG uplink
must be reconfigured as Static, Dynamic, or PPPoE. See Define Uplink Connections (page 54) for more information
about configuring uplink connections.
3.2. Bootstrapping 85
VNS User Guide, Release 5.3.2
3.2. Bootstrapping 86
VNS User Guide, Release 5.3.2
Note:
• PPPoE configuration is persistent across NSG reboots and upgrades.
• A PPPoE connection entails an 8 Byte overhead. Also, the MTU of uplink port will drive Maximum Segment
Size (MSS) clamping to adjust the MSS based on port’s MTU
If there are two WAN uplinks, then check the Enable Dual Uplink box, so that the page expands to include the
attributes for the second uplink.
3.2. Bootstrapping 87
VNS User Guide, Release 5.3.2
Static Configuration
3.2. Bootstrapping 88
VNS User Guide, Release 5.3.2
3.2. Bootstrapping 89
VNS User Guide, Release 5.3.2
NSG CLI can also be used to initiate bootstrapping. CLI bootstrapping can be performed using either a URL or a yaml
file. A skeleton yaml file can be generated to use as a template for bootstrapping file creation.
Limitation:
• CLI Based Bootstrapping cannot be used for Two-Factor Bootstrapping. It is only supported for Auto-
bootstrapping or One-Factor bootstrapping.
Login to the NSG as the “nuage” user, and execute the sudo nuage-bootstrap-cli command to initiate CLI
bootstrapping and specify either a URL or file that contains the required bootstrapping parameters. The following
parameters are available for the command:
• -h, --help - Show the help message and exits.
• -u URL, --url URL — Provide the Bootstrap URL.
• -f FILE, --file FILE — Provide yaml file required for auto bootstrapping.
• -g FILENAME, --gen-sample FILENAME — Generates a skeleton yaml file under /home/user/nuage.
This file can be used to create a bootstrapping file.
Note: When bootstrapping with a URL, copy and paste the full registration link that is provided. There is no need to
3.2. Bootstrapping 90
VNS User Guide, Release 5.3.2
The following is the skeleton yaml file generated with the -g parameter:
Note: Refer to the ISO or YAML bootstrapping file from the VSD for the information required for this YAML file.
An NSG status webpage is available from the LAN access ports prior to the NSG bootstrapping, at this location:
http://registration.nsg/ or http://172.16.1.1/
The Web Page presents real time information on:
• Auto-Bootstrap Status - In case Auto-Bootstrapping method is used.
– Auto-Bootstrap Info
3.2. Bootstrapping 91
VNS User Guide, Release 5.3.2
By default, the SSH service is not started on a pre-bootstrap NSG. Enabling the SSH service for remote access can be
done in two ways: 1. Through the NSG console/CLI 2. Using the NSG Status Web Page
Login to the NSG as the “nuage” user or the equivalent default user, and execute the nuage-ssh-config command
using the following options to start the SSH service:
• -h, --help - Show the help message and exits.
• -a ACTION, --action ACTION - Possible values are USE_PWD or USE_SSHKEY.
• -k SSHKEY, --sshkey SSHKEY - Authorized Public SSH Key for the Nuage user.
Note: Post bootstrap, the SSH service is configured on the NSG based on the VSD Infrastructure Access Profile
Note: Custom SSH configuration is not persistent: it returns to default values after a NSG reboot.
3.2. Bootstrapping 92
VNS User Guide, Release 5.3.2
An uplink configuration script can be executed via CLI to allow you to configure a single WAN uplink prior to
bootstrapping. This allows the user to perform WAN connectivity checks without having to bootstrap the NSG.
Execute the nuage-uplink-config command to configure the uplink. The following parameters are available
for the command:
• -m CONNECTIONMODE — Defines the uplink type. Specify “STATIC” or “DYNAMIC”.
• -if INTERFACE — Defines an interface, such as a port number.
• -ip IPADDRESS — Defines an IPv4 address to be configured on the interface.
• -net NETMASK — Defines a netmask to be configured on the interface.
• -gw GATEWAY — Defines the default gateway to be configured on the interface.
• -dns DNSSERVER — Defines a DNS server to be configured on the interface.
• -mtu PORTMTU — Defines a port MTU value to be configured on the interface. The range is 68-9198.
• -speed PORTSPEED — Defines a port speed to be configured on the interface. Supported Ethernet speeds
are 10 (10Base-T), 100 (100Base-TX), 1000 (1000Base-T), 10000 (10GBase-X), and 0 (auto-negotiate).
The port MTU and speed can be defined during uplink configuration, or afterwards.
Once the WAN uplink is configured, the following LINUX commands can be executed to check WAN connectivity:
• Ping
• Tracepath
• Route
• NSLookup
• Dig
Consider the following when executing the uplink configuration script:
• With the exception of port MTU and speed, it is expected that all parameters required for uplink configuration
are defined with one execution of the command.
• The script checks if the NSG is already in a pre-bootstrapping state by checking if the merged config file contains
a valid gateway UUID.
3.2. Bootstrapping 93
VNS User Guide, Release 5.3.2
• When the NSG is bootstrapped, the NSG receives the uplink configuration from the VSD. If the configuration
does not match with the configuration on the NSG, bootstrapping may fail. If the NSG is configured with a dual
uplink with only one mismatched configuration, bootstrapping should succeed.
• Uplink configuration is performed per uplink. If a dual uplink is required, the script must be executed twice.
• These configurations are not persisted on the NSG: once NSG is rebooted, the ports configuration are set back
to default values.
The following is a sample DHCP uplink configuration using the uplink configuration script.
-bash-4.2$ sudo /usr/bin/nuage-uplink-config -m DYNAMIC -if port2
Uplink Configuration Request Received for Interface port2
[{'v4': {'mode': 'dhcp'}, 'name': 'port2'}]
Uplink Configuration has been completed for Interface port2
The following is a sample static uplink configuration using the uplink configuration script.
-bash-4.2$ sudo /usr/bin/nuage-uplink-config -m STATIC -if port2 -ip 135.227.176.174 -
˓→net 255.255.254.0 -gw 135.227.176.1 -dns 1.1.1.1
The following is a sample of port MTU configuration on an uplink that has already been configured.
-bash-4.2$ sudo /usr/bin/nuage-uplink-config -if port2 -mtu 1300
Done with MTU configuration on Interface port2
NSG info can be viewed by a Nuage user from the CLI pre-bootstrap. Run the nsginfo script to see the NSG type,
serial number, MAC address, UUID, TPM status and other information.
The TPMStatus parameter indicates whether TPM is enabled and operational on the NSG. The possible values are
as follows:
• 0 — TPM status is unknown. This value may be displayed for an NSG-V or a physical NSG without a TPM
chip.
• 1 — TPM is enabled, but not operational. This value may be displayed when TPM is enabled in BIOS, but
cannot be used.
• 2 — TPM is enabled and operational.
• 3 — TPM is disabled. This value may be displayed when TPM is detected on the device, but has been disabled
or not properly configured in BIOS.
The following is a sample output of the nsginfo script.
-bash-4.2$ nsginfo
{
"SKU": "3HE09966AARA01",
"MACAddress": "28:53:fd:22:11:f6",
"hostname": "localhost.localdomain",
3.2. Bootstrapping 94
VNS User Guide, Release 5.3.2
˓→NetworkManager-1.0.0-16.git20150121.b4ea599c.el7_1.x86_64",
"BIOSReleaseDate": "06/18/2015",
"BIOSVersion": "5.6.5",
"NSGVersion": "Nuage NSG 0.0.0_NSGPR1591_be077e",
"TPMStatus": 1,
"CPUType": "Intel(R) Atom(TM) CPU C2358 @ 1.74GHz",
"CPUMHz": "1750.071",
"IPAddress": "134.127.276.34",
"CPUCacheSize": "1024 KB"
}
During NSG bootstrapping, each page in the bootstrapping captive portal includes a Show Advanced Log button. The
button expands or collapses a window that shows the logs generated by the NSG during bootstrapping. The window
provides a visualization of bootstrapping warnings, errors, and info messages as they are raised in realtime. The
advanced log window helps the installer provide more information to the support team if NSG bootstrapping fails.
An archive of NSG log files can be collected by the installer. These log files can be useful for troubleshooting if a
support team member needs advanced log details about a failed bootstrapping attempt. The log files can be generated
via two methods:
• Via the NSG bootstrapping captive portal prior to NSG bootstrapping.
• Via the CLI prior to or after NSG bootstrapping.
3.2. Bootstrapping 95
VNS User Guide, Release 5.3.2
Logs can be generated on the NSG bootstrapping captive portal from the NSG Status Web page. Click on the Download
NSG Logs button to download the archive of logs.
Logs can be collected from the CLI prior to or after NSG bootstrapping. Using SSH or the console port, log in as a
nuage user and run the logexport script.
Once the logs are collected, they are saved to the archive at /tmp/logexport.tar.gz. The nuage user can
then copy the archive to a remote host using the scp tool. The files in /tmp/logexport.tar.gz are stored
temporarily and are deleted after one day.
When the NSG undergoes a graceful reboot or shutdown, the NSG copies the logexport.tar.gz file to /home/user/nuage.
The archive is overwritten with each reboot or shutdown, and deleted when the NSG is deactivated (revoked).
The following logs are collected in the archive:
• /home/nuage/nsginfo
• /var/log/openvswitch/nuageMon.log
• /var/log/openvswitch/nuage-rpc.log
• /var/log/openvswitch/nuage-SysMon.log
• /var/log/openvswitch/ovsdb-server.log
• /var/log/openvswitch/ovs-vswitchd.log
• /var/log/openvswitch/vrs-rgsyncd.log
• /var/log/openvswitch/nuage-ovs.log
• /var/log/openvswitch/nuage-nsg-ike-cfg.log
• /var/log/openvswitch/nuage-nsg-ike-cli.log
• /var/log/charon.log
• /var/log/openvswitch/nuage-dtls.log
• /var/log/openvswitch/bgpd.log
• /var/log/openvswitch/nuage-nsg-bgp-cfg.log
• /var/log/openvswitch/nuage_perfd.log
• /var/log/openvswitch/nuage-dpi.log
• /var/log/openvswitch/nuage-perfmon-config.log
• /var/log/openvswitch/nuage-qos-config.log
• /var/log/messages
• /var/log/sdvpn/agent.py.log
• /var/log/sdvpn/bootstrap.py.log
• /var/log/sdvpn/captiveportal.py.log
• /var/log/sdvpn/cfengine.log
• /var/log/sdvpn/deadTimer.py.log
• /var/log/sdvpn/dpdk.py.log
• /var/log/sdvpn/ifOperStatus.py.log
• /var/log/sdvpn/installerLED.py.log
• /var/log/sdvpn/iptables.log
3.2. Bootstrapping 96
VNS User Guide, Release 5.3.2
• /var/log/sdvpn/lte.py.log
• /var/log/sdvpn/nsginfo.py.log
• /var/log/sdvpn/ssh_mgmt.py.log
• /var/log/sdvpn/systemUpgrade.py.log
• /var/log/sdvpn/tpm.py.log
• /var/log/sdvpn/webapi.py.log
• /var/log/sdvpn/zfbinit.py.log
*A:vsc# pppoe-status
pppoe-status: Link is up and running on interface ppp0
31: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state
˓→UNKNOWN qlen 3
link/ppp
inet 10.10.1.2 peer 10.10.1.254/32 scope global ppp0
valid_lft forever preferred_lft forever
˓→failure 3
3.2. Bootstrapping 97
VNS User Guide, Release 5.3.2
3.3.1 Overview
This chapter describes the NSG management functions related to NSG operations, specifically licensing, maintenance,
monitoring and security.
The count of active (i.e. bootstrapped) NSG instances can be viewed in the VSD UI by navigating to Settings –> .
Only the active (i.e. bootstrapped) NSGs are counted. Non-Bootstrapped NSG instances do not count against license
count checks.
At the time of a bootstrapping request, the VSD provides immediate notification (via the proxy channel) of license
violation which results in the bootstrap request being rejected and an alarm being raised. Otherwise the bootstrap is
allowed to proceed. Anytime an NSG is deleted, the count is incremented.
Alarms are raised when:
• Number of bootstrapped NSGs exceeds 90% of the allowed count.
• There are 15 days to expiry of a license.
• License expires.
For detailed license and alarm management instructions, refer to the latest version of the Nuage VSP User Guide.
Fingerprint information for a bootstrapped NSG can be viewed by navigating to the NSG instance and clicking on the
system information icon in the righmost panel.
The following are example displays for NSG-V, NSG-E, and NSG-AMI (on AWS) instances.
In addition to the fingerprint information displayed above, the system information, for each form factor, also displays
configured SSH attributes. Refer to setting up secure access to NSG (page 108) for a more detailed description.
Typically the VSC facilitates infrastructure configuration updates from the VSD to be pushed to the NSGs on demand.
An NSG polls the VSD periodically (as defined by the synchronization parameter in its profile) for any infrastructure
configuration updates, shown as circled 1 in the figure below. However, on occasion the owner of an instance can
override the scheduled polling and force the NSG to apply configuration updates instantaneously by selecting Reload
Configuration from the gateway interface. At such time:
• VSD notifies VSC that NSG configuration has changed, see 2a in this example. There is an option to configure
TLS for XMPP for secure VSC-VSD communication. This requires that the XMPP server on the VSD is
configured to run in “allow” or “require” mode.
• VSC via “JSON-RPC” notifies NSG that it needs to retrieve the configuration from VSD, see 2b in this example.
• NSG uses “https” channel via proxy to download configuration from VSD, see 2c in the graphic.
Example
The following configuration status is displayed in the VSD UI as part of the Device Information panel of the selected
NSG instance (Infrastructure –> Network Service Gateways –> NSG instance –> ):
• Configuration Status
• Last Configuration Reload on which displays the actual time when either a reload configuration was applied
or configuration was updated at the sync window.
The NSG must be able to resolve the Proxy FQDN to the IP address associated with the uplink port. The resolved IP
address is used to forward self-generated traffic (e.g. statistics/NTP/reload config) via the associated uplink port. The
assumption is that the IP address resolved by an upstream DNS Server (via an uplink port) is reachable via the same
underlay.
When an NSG has dual uplinks in disjoint underlays, then the DNS queries are sent to all DNS servers reachable via
each uplink. Flexible DNS reachability and resolution is one of the key requirements in SD-WAN deployments. The
DNS forwarder enhancement, introduced in 4.0.R8, enables the NSG to make forwarding decisions by accounting for
which DNS server and underlay provided the DNS resolution. Given that the DNS queries are sent to all DNS servers
reachable via an uplink, the first DNS server that responds to the DNS query will be honored, and the resolved IP will
be associated with the uplink port. If DNS resolution is successful on both uplinks, then the NSG selects Port 1 uplink
for forwarding traffic using the resolved IP on that port. If Port 1 uplink fails, then a new DNS query will trigger the
NSG to select Port 2 uplink for forwarding traffic.
The feature supports the following DNS scenarios in disjoint underlays:
• Single DNS server that has the same IP as the Proxy
• DNS servers in each underlay with overlapping IPs
• DNS servers in each underlay with distinct IPs
Security measures are built in to isolate and protect the integrity of an NSG in the event it loses control plane connec-
tions to the VSC(s).
Note: An NSG is considered to be disconnected from the VSC if any one of the control connections (OpenFlow,
JSON or DTLS) goes down and/or if the NSG does not receive a seed update when the remaining seed lifetime is less
than the seed regeneration interval (such as when the key server is down).
For such controllerless contingencies, an NSG may be configured to transition into different operational states ranging
from maintaining normal forwarding, or limited forwarding and/or no forwarding with an option of being revoked.
Refer to Infrastructure Gateway Profile (page 30) for workflow.
Auto-Deactivation
In auto-deactivation mode, the NSG stops forwarding all traffic and the auto-deactivation timer is started to allow the
NSG to restore connectivity to the VSC(s). Auto deactivation timer is applied as follows:
• When an NSG is disconnected from the VSD/VSC for longer than the duration specified. On expiry of the timer,
the NSG is considered to be untrusted and is not allowed to re-establish connection to the VSC. This is achieved
by revoking the NSG certificates and resetting the NSG to the pre-bootstrap state, which could take up to 90
minutes after expiry of the timer.
• If the NSG is powered down for a period longer than the duration specified, it will automatically reset itself to a
pre-bootstrap state once it is powered on. This operation is local to an NSG device.
Note: A bootstrapped NSG can also be deactivated on demand as described in Revoke Gateway Access (page 105).
Controllerless Operation
• Local and Remote: In this mode, the NSG maintains a normal mode of operation, and controllerless remote
duration timer is started to allow the NSG to restore connectivity to the VSC(s). During this time local and
remote flows are maintained. Upon expiry of the timer, NSG transitions to the Local Only mode.
• Local Only: In this mode, the NSG maintains limited forwarding, and controllerless local duration timer is
started to allow the NSG to restore connectivity to the VSC(s). During this time, only local routing is maintained
and all remote routes are removed. Upon expiry of the controllerless local timer, the local routes are also
removed.
Note:
• The NSG should not be viewed as a local LAN router. During controllerless operation, it will only maintain
routing between existing LAN hosts (within and between local subnets). Thus, in controllerless mode, if a new
host is added, it will be able to communicate to hosts within the same subnet but not to hosts across subnets.
• From a VSD perspective controllerless operation could also mean that the NSG is powered down. There is no
distinction being made with respect to the operations state.
Cryptographic keys used for IPsec encryption and decryption on the NSG are dependent on the availability of active
Seed data from the Key Server. Seed received by the NSG from the keyserver via the VSC has a fixed lifetime when
it is considered valid for generating traffic keys (security associations).
In the event of a connectivity loss between NSG and VSC, or between VSC and VSD, the Seed may not be delivered
to the NSG which results in keys not being available for encrypting traffic and hence forwarding will stop.
During controllerless contingencies, the NSG utilizes a longer living disaster recovery (DR) Seed that is used to
encrypt IPsec traffic for continuity during the controllerless remote duration when normal forwarding is maintained.
The DR Seed lifetime is the maximum of all the configured controllerless remote duration in the enterprise.
Thus, if the NSG is in controllerless local and remote mode, and the key generation Seed lifetime expires, then the DR
Seed is used for the remaining controllerless remote duration. NSG will establish DR Seed based outbound security
associations (SAs), and delete the SAs based on the regular Seed. Upon expiration of the timer, all IPsec policies and
established security associations to the remote NSGs are deleted.
Note: Remote NSGs (that may or may not be controllerless) will also receive updates to transition to the DR Seed
for outbound SAs to the controllerless NSG. Thus, while the sending and receiving NSGs transition to using the DR
Seed there may be some service impact.
If, at any point, connectivity to the VSC is restored and the seed material is received, then the NSG will establish
outbound security associations using the regular Seed. Corresponding remote NSGs will also receive updates to
transition out of DR mode.
For a given NSG instance, the NSG operational states may be viewed by clicking on the alarm icon in the right
panel. An alarm detail shows one of the following states:
• Controller-less gateway: Indicates that the NSG is in controller-less mode. As explained earlier, the NSG enters
this mode 180 seconds after losing controller connectivity and it may take up to a minute for the state to be
reflected on the VSD.
• Gateway is disconected: Indicates that the NSG is disconnected from the VSC and requires further investigation.
The state itself is only suggestive of connectivity issues and does not provide any visibility into the actual
operational state of the NSG (e.g. it may be within 180 seconds of being disconnected from controller, or be
completely deactivated or operating within the deactivation timer if enabled).
Note: It may take up to a minute for the state changes to be reflected on the VSD.
This section describes the procedure to manually deactivate (revoke) an NSG from the VSD UI.
After a gateway has been bootstrapped, if the gateway is suspected of being compromised in any way, then for se-
curity reasons, an administrator can revoke the NSG certificates via the VSD interface, and reset the gateway to
pre-bootstrapped stage. On revoking NSG certificates from VSD, VSD notifies the VSC that gateway configuration
has changed. VSC via “JSON RPC” notifies NSG that the certificates have been revoked. Upon receiving the notifi-
cation, NSG revokes the certificates and reboots, and resets to pre-bootstrap stage. In case NSG-VSC-VSD is down,
NSG will have to wait for synchronization window when it will re-fetch the infrastructure configuration to learn via
proxy that it has been deactivated.
For manual deactivation the administrator will use the following workflow:
1. Select a Network Service Gateway instance
A bootstrapped NSG can also be deactivated via CLI. See CLI-Based NSG Operations (page 106) for more informa-
tion.
Some NSG operations which are usually executed from the VSD UI can also be executed via CLI. CLI-based NSG
operations can be useful if a VSD UI is not available, or if certain VSD requirements need to be bypassed.
Note: If the nuage-operation command is executed from VSC tools, the --force option is required.
The following sample shows the output for the --help option:
optional arguments:
-h, --help show this help message and exit
Special operations that may be executed on the device, by user nuage, that are
˓→related to the life cycle of the NSG. It is important to note that operations
˓→interruption.
Performing a pre-bootstrap NSG image upgrade allows pre-staging of an NSG running a factory-provided gold image
without connecting to a VSD. As the Nuage user, execute the sudo nuage-operation -o UPGRADE command
to perform an upgrade from a USB drive containing the image .tar file and MD5 checksum.
To perform an upgrade using a locally available image .tar file, execute sudo nuage-operation -o UPGRADE
-f <filename> or sudo nuage-operation -o UPGRADE --file <filename> to perform an up-
grade using a locally available .tar file. The MD5 checksum must be in the same directory as the .tar file.
Adding the --clean option to the upgrade command deletes the .tar and image files following a successful upgrade.
Note: The --ignoremd5 allows you to perform the upgrade without validating the MD5 checksum file, or without
the checksum file existing. Use this option at your own risk, as an invalid image file can render the NSG inoperable.
See Pre-bootstrap NSG image upgrades (page 72) for more information about using this command.
Gateway Deactivation
A bootstrapped NSG can be deactivated via CLI. CLI-based deactivation can be useful if the NSG has lost connectivity
to the VSD and if someone cannot be sent to the site to reset the device.
Log in to the NSG via SSH or console as the nuage user, and execute the sudo nuage-operation -o REVOKE
command to initiate gateway deactivation. A confirmation prompt warns the user that this command may be service-
impacting.
When the deactivation command is executed, the NSG attempts to communicate the deactivation to the VSD three
times. If communication fails, the NSG proceeds with a local deactivation regardless. The VSD operator must also
make sure the NSG instance is revoked from the VSD before the NSG can be bootstrapped again.
Certificate Renewal
NSGs uses VSPCA signed certificate that is valid for two years. The certificate is renewed automatically when the NSG
is upgraded. Certificate can be renewed without an NSG upgrade by executing the CLI-based certificate regeneration
command. The NSG must have connectivity to the VSD in order for the certificate renewal to be successful.
Log in to the NSG as the nuage user, and execute the sudo nuage-operation -o REGENERATE command to
initiate certificate renewal. A confirmation prompt warns the user that this command may be service-impacting.
Note: Renewing NSG certificates may be service-impacting. Services using TLS, such as OVS and the statistics
collector, should be restarted to ensure they refer to the new certificate. To ensure these services are restarted, reboot
the NSG after the certificate is renewed.
The NSG patch list displays a list of all patches successfully applied to the NSG. Log in to the NSG as the nuage user,
and execute the sudo nuage-operation patch-list command to view the patch list.
See NSG Patch Profiles (page 114) for more information about NSG patch operations.
The Nuage user does not have access to the directory where core dumps are stored following an NSG crash. The sudo
nuage-operation -o EXPORT_CORE_DUMPS command grants the Nuage user read access to /home/abrt/,
which contains the core dump files. After running the command, the Nuage user can view the files for copy them to
another location (using SCP, for example).
SSH is used to provide secure remote access to NSGs deployed in branch locations. The following are key capabilities
of the feature:
• Ability to enable/disable SSH service
• Password-based and/or key-based authentication
• Root login is disabled, and instead user nuage is enabled by default and the username is configurable. The
non-root user belongs to a special user group nuage.
• SSH connection uses a non-standard port 893 instead of the standard port 22.
• Authorized user is allowed to run a limited set of white-listed commands.
When an NSG is bootstrapped, a default username and password is set for password-based authentication mode. The
CSPRoot is expected to change the default settings as part of the NSG configuration process using the following
CSPRoot workflow:
Note: If a NSG Template is updated such that an Infrastructure Access Profile is disassociated, and if no other
Infrastructure Profile is associated, then the password from the last associated profile will be used.
Note: If CSPRoot disables SSH in the template but allows override, then the enterprise administrator may enable it at
the instance level. In such a scenario, the SSH Service Instance will display Enabled and the Inherited SSH Service
will display Disabled. However, the instance level policy will apply.
ovs-ofctl
ovs-dpctl
conntrack -L
iptables -L
iptables -L -n
iptables -t nat -L
iptables -t nat -L -n
dmsetup status
ip link set * up
ip link set * down
ntpq -p -n
ntpq -p
shutdown
poweroff
reboot
nuage-qos-config
conntrack
tcpdump
nuage-vlan-config
vrs-rgctl
ping
traceroute
nslookup
dig
nuage-operation
nuage-flow-top
configure
show
debug
TPM capability was introduced in VNS Release 3.2.R4, and was enabled and applied transparently when NSGs were
bootstrapped. However, there was no explicit mechanism to verify TPM support and enablement. In order to provide
more visibility into the hardware capability, the feature is being introduced in Release 4.0.R1 to report the TPM status
(to the VSD) during NSG bootstrapping.
TPM chip has a unique and secret RSA key burned in as it is produced, and in VNS is being used for encrypting the
private key that is generated as part of the NSG certificate process during bootstrapping. The encrypted blob is stored
on the compact flash file system and can only be decrypted using the TPM private key. Thus, TPM enables binding
of the storage (e.g. compact flash) to the motherboard. If the storage is moved to another appliance, and if there is a
TPM mismatch, then it will not be possible to decrypt the private key thus ensuring security and integrity of the NSG
software and certificate (used for authenticating the NSG). It will also isolate the NSG and not allow it to connect to
the VSC/VSD.
Note: The feature only applies to Nuage provided NSG appliances, such as NSG-E and other physical form factors
on the roadmap.
• Enabled and operational: When NSG agent is able to successfully detect and load the TPM drivers, run a
self-test, and generate the key which is encrypted using TPM before storing on storage device.
• Disabled: If TPM is disabled in BIOS.
• Unknown: This status is shown in situations, such as:
– NSG-V instances which have no TPM, or 3rd party platforms.
– NSG instance is created in VSD, but it is not actually bootstrapped.
– If VSD is upgraded to Release 4.0.R1 but the NSGs are running a previous version when there was no
status reporting.
• Enabled and not operational: This will probably never be seen as a status. In this scenario, the TPM is detected
as being enabled in BIOS, but for some reason the drivers are not loaded.
To view the status, the CSPRoot or Enterprise administrator can navigate to Infrastructure –> Network Service Gate-
ways –> NSG instance –> and the TPM Status is displayed under the Device Information.
The TPM status is reported during bootstrapping once the NSG has successfully authenticated itself to the VSD or has
successfully renewed the certificate. If TPM is disabled or in unknown state, NSG will continue with the bootstrap.
However, when a TPM-enabled deactivated NSG is being re-bootstrapped, if key generation fails, then bootstrapping
is aborted.
During upgrade from 3.2 to 4.0 environments, the TPM status is reported as follows:
1. VSD Upgrade
When the VSD is upgraded from 3.2 to 4.0, any discovered and managed NSGs that were in the 3.2 database, will be
upgraded to 4.0 with a TPM Status value set to Unknown. That is because even though the NSG was using TPM, the
VSD in 3.2 was not able to track the TPM status of NSGs bootstrapped at that time.
2. NSG Upgrade
When the NSG is being upgraded, there are two scenarios:
• NSG is running version 3.2 R5+ and is TPM enabled. Since TPM is already in use, the NSG will authenticate
successfully and will not renew the certificates. As a consequence, there will not be an opportunity to report the
correct TPM status and status will remain as Unknown.
• NSG is using the 3.2 Gold image when TPM was not supported. When the upgrade to 4.0 is performed and the
NSG reboots, it will detect that TPM is not being used despite being enabled in the BiOS (will not apply for
VMs). Since TPM is supported in 4.0, the NSG will renew the certificate and report the status as Enabled and
Operational.
For any other upgrade cases, not covered by the above, a status of unknown will be reported.
NSG upgrade profiles can be used to upgrade a single NSG instance without performing a reload configuration or
modifying an NSG template. This allows you to perform an upgrade on an NSG without impacting services provided
by other NSGs in the network.
Note: For NSGs release 5.1.1 and later, NSG upgrade profiles must be used to upgrade the NSG. Earlier releases of
the NSG do not support NSG upgrade profiles.
Perform the following steps to upgrade an NSG using an NSG upgrade profile. This workflow assumes that the NSG
is bootstrapped and operational.
Create an NSG upgrade profile
1. As CSProot, click on the Open Platform Configuration icon and select the Infrastructure tab.
2. Click on the Network Services Gateways , NSG Profiles , and Upgrade Profiles buttons.
Note: If you click Download, the NSG software image is downloaded, but the NSG is not upgraded.
11. Click on the Command button in the right-hand information panel for the selected NSG.
12. Observe the upgrade progress.
When the upgrade is complete, the NSG is automatically rebooted. The Command panel includes status infor-
mation detailing the upgrade.
The NSG patch framework is introduced in 5.3.1 to support BIOS and TPM firmware upgrades for activated physical
NSGs. This section describes how to use the patch framework to apply such patches on an NSG instance or a group
of NSGs. For more information on the NSG patches available please contact the Nuage Networks support.
A patch profile defines the URL to a patch bundle which must be made available on a HTTP or HTTPS server
accessible by the NSG. When the csproot user applies the profile on the NSG instance and initiates the patching
command, the NSG downloads the patch and applies it. The status of the patch can be monitored from the Operations
panel in the VSD.
The NSG patch bundle is an RPM bundle containing the files required to patch an NSG. The RPM filename follows
the following format:
nuage-nsg-patch-<name>-<version>-<release>.x86_64.rpm
For example:
nuage-nsg-patch-tpm-upgrade-1.0-0.x86_64.rpm
The name, version, and release values in this format are identified by the VSD as the patchtag. In the above example,
the patchtag is tpm-upgrade-1.0-0. The patchtag is a unique identifier used by the VSD. The RPM file should
not be renamed, as this could result in verification errors. The RPM filename format is case sensitive, so although
capital letters are allowed, they should be avoided.
The patch.info file in the patch bundle is a JSON file that contains the unique patchtag information verified on the
NSG. It also includes the patch name, version, release, and description.
When the patch bundle is downloaded, it should be hosted on a web server reachable by the NSG. This server is
typically the same server used to host software images during an NSG upgrade. The server must have a VSPCA
signed certificate and may also require TLS client certificate verification. HTTP or HTTPS web servers are supported,
but HTTPS is highly recommended.
Note: The patch download and implementation may take longer depending on the size and functionality of the patch.
For example, a TPM patch may take about 20 minutes to be applied. This may result in the NSG being disconnected
for longer than the auto-deactivation timer. Refer to the release notes provided with the patch for more information
about the estimated running time for the patch implementation. The release notes may also state whether the auto-
deactivation timer should be disabled or increased before beginning the patch download.
An NSG patch operation can be monitored via status messages on the VSD. In addition to this, the patch status and log
files can be viewed during a patch operation. These files provide more detailed historical event logging for the patch
operation.
• The cat patch.info (cd /home/root/patches/<patch_tag>) command displays patch information. This may
include the expected running time for patch implementation, which could indicate whether a patch operation is
taking longer than expected.
• The cat patch_status.json (cd /home/root/patches/) command displays status messages for the patch
operation.
• The tailf patch.log (cd /home/root/patches/<patch_tag>) command displays log details for the patch
operation.
Refer to Patch Operation Status Codes (page 117) for a list of all status messages.
Refer to this sample output (page 127) for an example of a failed status message.
The cat patch_status.json command displays a patch operation status along with a status code. When a
patch is successfully downloaded and applied, the following statuses and codes are displayed:
1. Status: “STARTED”; Status code: 0 (Unknown)
2. Status: “RUNNING”; Status code: 13 (Request Received)
3. Status: “RUNNING”; Status code: 110 (Patch Installation Started)
4. Status: “COMPLETED”; Status code: 17 (Command Complete)
When a TPM patch operation is attempted while another patch is being applied to the NSG, the following statuses and
codes are displayed:
1. Status: “FAILED”; Status code: 115 (TPM already at patch version)
2. Status: “ABANDONED”; Status code: 0 (Unknown)
The NSG patch list displays a list of all successfully applied patches. Execute sudo nuage-operation
patch-list to view the NSG patch list.
Perform the following steps to patch an NSG using an NSG patch profile. This workflow assumes that the NSG is
bootstrapped and operational.
Create an NSG patch profile
1. As CSProot, click on the Open Platform Configuration icon and select the Infrastructure tab.
2. Click on the Network Services Gateways , NSG Profiles , and Patch Profiles buttons.
Note: Both http and https patch bundle URLs are supported.
5. Click Create.
Assign the profile to an NSG
Note: Some patches may require the NSG to be rebooted once the patch is applied.
Note: If a patch is already being applied to the selected NSG, a server message appears and states
that the action cannot be performed. The patch operation fails with error code - “unknown”.
13. If required, monitor the detailed progress of the patch implementation using the patch info, status, and log files.
• Execute cat patch.info (cd /home/root/patches/<patch_tag>) to view patch information. This may include
the expected running time for patch implementation.
• Execute cat patch_status.json (cd /home/root/patches/) to view status messages for the patch opera-
tion.
• Execute tailf patch.log (cd /home/root/patches/<patch_tag>) to view log details for the patch operation.
Note: The patch download and implementation may take longer depending on the size and functionality of the patch.
Note the estimated running time for the patch operation and allow time for the VSD to complete the operation.
Note: You can abandon a patch operation in progress by clicking the red square button next to the operation. A patch
operation may need to be abandoned if the patch update was interrupted directly on the NSG. In this case, the status
update may not be updated in the VSD.
Note: An NSG upgrade operation cannot be initiated during an NSG patch operation.
This section lists the status codes that can be displayed using cat patch_status.json during an NSG patch
operation.
Unknown Status
The unknown status command is returned when the VSD receives a status code it does not recognize.
CODE_00004(4, "Download started", "The NSG has started downloading the upgrade image.
˓→", OperationStatus.RUNNING),
CODE_00005(5, "Download complete", "The NSG has completed the download of the upgrade
˓→image.", OperationStatus.COMPLETED),
CODE_00006(6, "File extraction", "The NSG is extracting files from the downloaded
˓→image.", OperationStatus.RUNNING),
CODE_00008(8, "Server unreachable", "The NSG is unable to reach the upgrade server.",
˓→OperationStatus.FAILED),
CODE_00009(9, "No file", "The NSG has not found any file to download.",
˓→OperationStatus.FAILED),
CODE_00012(12, "Disk space error", "The NSG is out of disk space to proceed with an
˓→upgrade.", OperationStatus.FAILED),
CODE_00013(13, "Request received", "The NSG has received a command execution request.
˓→", OperationStatus.RUNNING),
CODE_00015(15, "Invalid data", "No data or invalid data was received with command
˓→request.", OperationStatus.FAILED),
CODE_00021(21, "Unexpected error", "An unexpected error was detected while performing
˓→the operation.", OperationStatus.FAILED),
CODE_00100(100, "Unknown Patch Error", "An unknown patch error has been reported.
˓→Check NSG logs for more details.", OperationStatus.FAILED),
CODE_00102(102, "Failed to acquire lock", "Could not acquire lock in order to start
˓→the RPM installation.", OperationStatus.FAILED),
CODE_00108(108, "Patch tag does not match with RPM", "The patch tag sent from VSD was
˓→not the same as the RPM.", OperationStatus.FAILED),
CODE_00109(109, "Unable to load patch info file", "The patch info file from the RPM
˓→could not be loaded.", OperationStatus.FAILED),
CODE_00112(112, "Public Key not found", "Nuage GPG Public Key was not found.",
˓→OperationStatus.FAILED),
CODE_00113(113, "Script execution error", "Patch resuming script has returned with an
˓→error.", OperationStatus.FAILED),
CODE_00118(118, "BiOS preventing patching", "The NSG BiOS is incompatible with the
˓→patch being applied.", OperationStatus.FAILED),
CODE_00119(119, "Patch Error", "Check NSG logs for more details.", OperationStatus.
˓→FAILED),
CODE_00120(120, "Patch Error", "Check NSG logs for more details.", OperationStatus.
˓→FAILED),
The following commands provide information about active flows on the NSG.
nuage-flow-top
This command provides an interactive summary output of various kernel flow metrics. The command automatically
updates every one (1) second. To exit the interactive command, press Ctrl+C. The following is a sample output:
This command outputs a summary of the total connections that OVS is tracking in order to maintain state. OVS
will track connection state whenever any of the following features are used: stateful ACLs, Application Discovery,
Application Performance Monitoring (APM), L7 ACLs, PAT/NAT in the overlay.
-bash-4.2$ ovs-appctl bridge/dump-conntracks-summary alubr0
Total | Connecting | Established | Closing | Dpi_in_progress | Dpi_done
-------+------------+-------------+--------+---------------+---------
37 | 13 | 22 | 2 | 10 | 10
SYN-sent | SYN-recvd | SYN-sent-recvd
---------+-----------+----------------
11 | 20 | 0
L7_classification miss: 0
Max supported Connections: 250000
This command outputs the total list of connections that OVS is tracking in order to maintain state. OVS will track
connection state whenever any of the following features are used: stateful ACLs, Application Discovery, Application
Performance Monitoring (APM), L7 ACLs, PAT/NAT in the overlay.
-bash-4.2$ ovs-appctl bridge/dump-conntracks alubr0
port | proto | nw_src |
˓→ nw_dst | tp_src | tp_dst | timeout | expires | state |
˓→ detail | user | connId
------+-------+-----------------+-----------------+--------+--------+---------+-------
˓→--+-----------------+-----------------+------+--------------
8 | 6 | 10.10.10.22 |
˓→ 10.31.140.25 | 50350 | 8443 | 180 | 176 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831386063456
8 | 17 | 10.10.10.22 |
˓→ 125.2.5.145 | 60746 | 53 | 180 | 163 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831385388192
8 | 6 | 10.10.10.22 |
˓→ 216.58.193.163 | 50698 | 443 | 180 | 77 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831384599184
8 | 6 | 10.10.10.22 |
˓→ 40.97.155.178 | 50725 | 443 | 180 | 80 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831384814016
8 | 6 | 10.10.10.22 |
˓→ 151.101.56.102 | 50760 | 443 | 180 | 158 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831384825408
8 | 6 | 10.10.10.22 |
˓→ 216.58.193.161 | 50661 | 443 | 180 | 73 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831385500048
8 | 6 | 10.10.10.22 |
˓→ 104.244.42.129 | 50260 | 443 | 180 | 160 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831385583392
8 | 6 | 10.10.10.22 |
˓→ 10.10.10.1 | 50757 | 8013 | 180 | 3 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831385346752
8 | 6 | 10.10.10.22 |
˓→ 216.58.193.163 | 50655 | 443 | 180 | 76 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831385294416
8 | 6 | 10.10.10.22 |
˓→ 151.101.56.102 | 50761 | 443 | 180 | 142 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831385381424
8 | 6 | 10.10.10.22 |
˓→ 64.233.185.189 | 49775 | 443 | 180 | 177 | CONN_STATE_INIT |
˓→ DPI_DONE | mirror | 139831385349408
conntrack -L
This command lists all of the connections that conntrack is tracking in the kernel, as well as their state. Connections
will be tracked in the kernel when PAT/NAT functions to the underlay are in use. For further information, refer to the
Linux conntrack manual (man conntrack).
-bash-4.2$ conntrack -L
tcp 6 431991 ESTABLISHED src=10.10.10.22 dst=40.97.29.226 sport=52957 dport=443
˓→src=40.97.29.226 dst=139.237.211.54 sport=443 dport=52957 [ASSURED] mark=532738
˓→use=1
˓→mark=532738 use=1
˓→mark=0 use=1
˓→use=1
...output omitted...
conntrack v1.4.2 (conntrack-tools): 55 flow entries have been shown.
Whitelisted NSG commands can be used to check the configuration for controllerless operations.
In the command output below, the line controller_less_mode: remote shows the mode.
In the output for the command ovs-appctl ofproto/show alubr0 below, the lines that display the mode and
timer settings are:
controller_less_mode: remote
controller_less_duration: 7 day 0 hr 0 min
controller_less_duration_left: 0 day 13 hr 59 min 58 sec
head _less_duration: 0 day 14 hr 0 min
head_less_duration_left: 0 day 13 hr 59 min 58 sec
The output for the following command displays the Local DR Mode, Remote DR Mode, Customer ID and VRFs.
# ovs-appctl ipsec/list-policies
IPSec policies:
Local DR Mode: Yes
VxLAN src VxLAN dst ESP local ESP remote UDP dport
˓→Remote-DR Customer-ID VRFs
--------------------------------------------------------------------------------------
˓→---------------------------
In the output for the command show vswitch-controller vswitches detail below, the following is a
new output:
===============================================================================
Virtual Switch Table
===============================================================================
vswitch-instance : va-10.15.2.254/1
Personality : NSG
Uptime : 0d 01:32:28 VM Count : 0
Graceful Restart Support : Disabled
Num of hostIf : 0 Num of bridgeIf : 0
Num of multiVMs : 0
Num of Containers : 0
OF version : 1 OF nego. version : 1
OF Conn. port : 6633
Cntrl. role : primary Cntrl. Conn. type : tls
Cntrl. crl lookup : false
Cntrl. Conn. mode : secure
Cntrl. Conn. state : ready
Cntrl. client verification : true
Cntrl. client IP verification : false
Peer IP for resiliency : -
Gateway Hold Time(sec) : 15 Gateway Echo Time(sec) : 5
Gateway Topic : nuage_gateway_id_13.11.94.19
Gateway Retry/Audit Time : 1129
XMPP error code : 0
XMPP error text : (Not Specified)
JSON Conn. State : Up
JSON Sess. Uptime : 0d 01:32:26
Static Peer : False
Datapath-Id : va-13.11.94.19
-------------------------------------------------------------------------------
Dual Uplink Table
-------------------------------------------------------------------------------
IP Addr Preference Behind NAT PAT
Uplink
-------------------------------------------------------------------------------
10.15.2.254 primary no no
-------------------------------------------------------------------------------
No. of Dual Uplink Mappings: 1
-------------------------------------------------------------------------------
XMPP Tls Profile : n/a
OF Tls Profile : of-tls-profile
Ovsdb Tls Profile : n/a
Ovsdb Conn Type : none
vswitch-instance : va-10.15.33.254/1
Personality : NSG
Uptime : 0d 01:32:31 VM Count : 0
Graceful Restart Support : Disabled
Num of hostIf : 6 Num of bridgeIf : 8
Num of multiVMs : 0
Num of Containers : 0
OF version : 1 OF nego. version : 1
OF Conn. port : 6633
Cntrl. role : primary Cntrl. Conn. type : tls
Cntrl. crl lookup : false
Cntrl. Conn. mode : secure
Cntrl. Conn. state : ready
Cntrl. client verification : true
Cntrl. client IP verification : false
Peer IP for resiliency : -
Gateway Hold Time(sec) : 15 Gateway Echo Time(sec) : 5
Gateway Topic : nuage_gateway_id_214.78.125.68
Gateway Retry/Audit Time : 977
XMPP error code : 0
XMPP error text : (Not Specified)
JSON Conn. State : Up
JSON Sess. Uptime : 0d 01:32:29
Static Peer : False
Datapath-Id : va-214.78.125.68
-------------------------------------------------------------------------------
Dual Uplink Table
-------------------------------------------------------------------------------
IP Addr Preference Behind NAT PAT
Uplink
-------------------------------------------------------------------------------
10.15.33.254 primary no no
-------------------------------------------------------------------------------
No. of Dual Uplink Mappings: 1
-------------------------------------------------------------------------------
XMPP Tls Profile : n/a
OF Tls Profile : of-tls-profile
Ovsdb Tls Profile : n/a
Ovsdb Conn Type : none
-------------------------------------------------------------------------------
No. virtual switches: 2
===============================================================================
In the output for the command show vswitch-controller vswitches detail below, the new lines in the
output are:
===============================================================================
Virtual Switch Table
===============================================================================
vswitch-instance : va-10.15.1.254/1
Personality : NSG
Uptime : 0d 00:00:00 VM Count : 0
Graceful Restart Support : Enabled
GR Time Interval : 0d 14:00:00
GR entered count : 6
GR Last entered : 10/08/2016 00:21:25
GR Exit in : 0d 13:52:48
Num of hostIf : 9 Num of bridgeIf : 8
Num of multiVMs : 0
Num of Containers : 0
OF version : 1 OF nego. version : 1
OF Conn. port : 6633
Cntrl. role : secondary Cntrl. Conn. type : tls
Cntrl. crl lookup : false
Cntrl. Conn. mode : secure
Cntrl. Conn. state : none
Cntrl. client verification : true
Cntrl. client IP verification : false
Peer IP for resiliency : -
Gateway Hold Time(sec) : 15 Gateway Echo Time(sec) : 5
Gateway Topic : nuage_gateway_id_32.249.103.147
Gateway Retry/Audit Time : 956
XMPP error code : 0
XMPP error text : (Not Specified)
JSON Conn. State : Down
JSON Sess. Uptime : 0d 00:00:00
Static Peer : False
Datapath-Id : va-32.249.103.147
-------------------------------------------------------------------------------
Dual Uplink Table
-------------------------------------------------------------------------------
IP Addr Preference Behind NAT PAT
Uplink
-------------------------------------------------------------------------------
10.15.1.254 primary yes(full-cone) no
-------------------------------------------------------------------------------
No. of Dual Uplink Mappings: 1
-------------------------------------------------------------------------------
XMPP Tls Profile : n/a
OF Tls Profile : of-tls-profile
Ovsdb Tls Profile : n/a
Ovsdb Conn Type : none
vswitch-instance : va-10.15.3.254/1
Personality : NSG
Uptime : 0d 01:33:35 VM Count : 0
Graceful Restart Support : Disabled
Num of hostIf : 8 Num of bridgeIf : 8
Num of multiVMs : 0
Num of Containers : 0
OF version : 1 OF nego. version : 1
OF Conn. port : 6633
Cntrl. role : primary Cntrl. Conn. type : tls
Cntrl. crl lookup : false
Cntrl. Conn. mode : secure
Cntrl. Conn. state : ready
Cntrl. client verification : true
Cntrl. client IP verification : false
Peer IP for resiliency : -
Gateway Hold Time(sec) : 15 Gateway Echo Time(sec) : 5
Gateway Topic : nuage_gateway_id_46.102.252.247
Gateway Retry/Audit Time : 902
XMPP error code : 0
XMPP error text : (Not Specified)
JSON Conn. State : Up
JSON Sess. Uptime : 0d 01:33:28
Static Peer : False
Datapath-Id : va-46.102.252.247
-------------------------------------------------------------------------------
Dual Uplink Table
-------------------------------------------------------------------------------
IP Addr Preference Behind NAT PAT
Uplink
-------------------------------------------------------------------------------
10.15.3.254 primary yes(full-cone) no
-------------------------------------------------------------------------------
No. of Dual Uplink Mappings: 1
-------------------------------------------------------------------------------
XMPP Tls Profile : n/a
OF Tls Profile : of-tls-profile
Ovsdb Tls Profile : n/a
Ovsdb Conn Type : none
-------------------------------------------------------------------------------
No. virtual switches: 2
===============================================================================
The cat patch_status.json command can be executed to view detailed status messages for the current NSG
patch operation. The following sample displays a failed status message.
vsc# cat patch_status.json
{
"Status": "Failed",
"TotalSteps": 6,
"TimestampLastCompletedStep": "2018-04-11T21:43:43.302837",
"TimestampStartingProcedure": "2018-04-11T21:42:30.518058",
"ErrorMessage": "logger: </home/root/patches/tpmfirmwareupgrade-1.0-1/custom/2_
˓→tpmactivateEnable.sh> STEP 2 : Begin Activate and Enable of TPM.\nlogger: </home/
˓→version 3260G118\n",
3.3. Gateway Operations 127
VNS User Guide, Release 5.3.2
"LastSuccessfulStep": 1,
"ProcedureName": "tpmfirmwareupgrade-1.0-1",
"ProcedureComplete": 0,
"CommandUUID": "56332fa3-0a55-1f12-bcc2-bbd6c61185b5"
FOUR
NETWORK INFRASTRUCTURE
129
VNS User Guide, Release 5.3.2
4.1 NAT-T
Nuage VNS Network Address Translation Traversal (NAT-T) allows an NSG deployed behind a NAT device (such as a
firewall, address-sharing Internet gateway, or carrier-grade NAT) to traverse the NAT device and correctly program the
WAN datapath. NAT-T is limited to encapsulated traffic on connections that egress the NSG over an uplink interface.
Key functionality of NAT-T includes:
• Dynamic hole punching between all types of NAT devices.
• Support for multiple NAT mappings in all dual uplink scenarios.
• Continuous probing between endpoints to ensure connectivity.
• UBR-only NAT probes to allow support for all symmetric NAT scenarios.
• Visualization framework to graphically display connection status and performance.
Nuage VNS currently provides support for the following NAT-T features:
• NAT-T NPM probes (page 139)
• UBR-only NAT probes (page 140)
• NAT-T visualization (page 141)
used to contact the external host. In this context, it is the NPM probes for VxLAN and IPsec that ensure the
internal host has opened up the specific external ports.
• Symmetric NAT: NAT-T with two NPM probes for both VxLAN and IPsec is required. An external host can
send to an internal address only once it has received a packet from that address. Each request from the internal
address is mapped to a unique external address and possibly an external port for each destination.
NAT-T compatibility
All combinations of NAT device pairs are supported by Nuage VNS NAT-T. NAT-T between two symmetric NATs
or between a symmetric NAT and a port-restricted NAT is supported only by using an NSG-UBR as described in
UBR-only NAT probes (page 140). All other NAT-T scenarios are supported using the base NAT-T functionality.
Refer to NAT-T troubleshooting (page 144) for information on troubleshooting if an unsupported NAT-T scenario is
being attempted.
In this scenario, a single uplink traverses a single NAT device to two VSCs.
In this scenario, dual uplinks traverse a single NAT device to two VSCs.
In this scenario, dual uplinks traverse two NAT devices to two VSCs.
In this scenario, a dual uplink connects to two VSCs, but only one uplink traverses a NAT device.
Note: Traffic between NSGs that share a common NAT device is hairpinned through the NAT. This capability must
be supported by the NAT device.
The NSG learns the configured NAT mode for each uplink during the bootstrapping process, and in turn notifies the
VSC. Based on the NAT mode, the VSC determines when and how to generate the NAT-T mappings (also known as
VIF routes) for the NSG.
The NAT mapping information in the VSC is relayed to all other NSGs that the primary VSC is connected to in the
same domain and to all other VSCs and their connected NSGs via BGP.
The EVPN BGP route information includes a NAT indicator, NAT mapping (internal IP:port to translated IP:port), a
virtual next hop (NH) which is the NSGs DatapathID. The NSGs DatapathID is advertised as the subnet route next
hop along with an indicator that it is a virtual NH. Receiving (remote) NSGs will have the subnet information with
virtual NH and the NAT mapping routes. For routing, a lookup for the destination subnet will result in a virtual next
hop route. The NSG will then perform a second lookup of the NAT mapping table for determining the next hop and
route accordingly.
In a 1:1 NAT scenario, the VSC returns the public IP visible from its corresponding connection to the NSG. This
allows the NSG to learn its public IP on that link.
Note: In a 1:1 NAT or endpoint-independent NAT with dual uplink scenario, if all VSCs on an NSG uplink that
requires NAT-T become unavailable in addition to the corresponding NSG uplink port going down, all traffic is black-
holed until all NAT-T routes are withdrawn.
The examples in this section describe how the VSC generates NAT-T mappings in various scenarios.
On the uplink with the endpoint-independent NAT device, assume that the port hole-punched at the NAT device for
VxLAN traffic is 200 and for IPsec traffic is 2000. VSC1 and VSC2 generate the mappings as listed in the tables
below.
Fig. 4.5: Dual uplink with 1:1 NAT and endpoint-independent or symmetric NAT
In this scenario, assume that the port hole-punched at the NAT device for VxLAN traffic is 200 and for IPsec is 2000.
When NAT-T is required, the VSC uses two Datagram Transport Layer Security (DTLS) sessions with the NSG. The
local NSG uses information from the VSC to populate a table of address:port NAT-T mappings for both IPsec and
VxLAN. The local NSG returns mapping information to the VSC. The VSC sends this mapping information to all
remote NSGs, so that each remote NSG has full knowledge of the NAT devices and mappings in the domain.
Continuous probing of the DTLS sessions ensures that the NAT mappings do not time out in the NAT device. Traffic
received by the NAT is always forwarded to the private interface on the NSG.
After the local and remote NSGs learn each others’ external address:port mappings from the VSC, they create two
NPM probes with each other — one for IPsec and one for VxLAN. This has the effect of UDP hole punching, and
allows NSGs behind address-restricted, port-restricted, and some instances of symmetric NAT types to communicate.
The process for establishing DTLS sessions and NPM probes between NSGs behind NAT devices and the VSC is as
follows:
Step 1 NSG-A and NSG-B establish DTLS sessions with the VSC for both IPsec and VxLAN.
Step 2 The NSGs learn the external address:port mappings (IPa’:Pa’ and IPb’:Pb’) for IPsec and VxLAN.
The NSGs send the information to the VSC via the control plane. The VSC forwards mapping
information to all other NSGs behind NAT devices in the domain.
Step 3 NSG-A and NSG-B establish NPM probes for both IPsec and VxLAN.
Port-restricted/symmetric and symmetric/symmetric NAT compatibility scenarios do not function with only the NPM
probes configured. Connection between NSGs in these scenarios cannot be established because each NSG may be
blocked by lack of a probe-provided mapping to reach the other NSG. As a result, hole punching fails.
An NSG-UBR can be provisioned to establish connectivity between these two NSGS if hole punching fails for the
direct paths between them. You can provision an NSG-UBR between the NSGs behind NAT devices and enable the
Traffic Through UBR-Only parameter on the NSG Uplink Ports. When the parameter is enabled, the NSG uplink
port is removed from the full mesh of NPM probes and all traffic that would be transported through the local NSG
network uplink directly to the remote NSG is sent via the NSG-UBR instead.
The visualization feature set can be used to monitor and historically analyze NAT-T reachability between two NSGs.
See the Application-Aware Routing Visualization (page 505) chapter for more information about accessing the visual-
ization feature set.
NAT-T visualization can be viewed from the NAT-T Events dashboard for the selected NSG. The NAT-T Reachability
Status visualization displays a heat map of control and data plane NAT-T reachability. The heat map displays a
chronological progression of NAT-T reachability toward all NSGs with NAT-T enabled. Three different colors are
displayed in the heat map:
• Green - Indicates full bidirectional NAT-T reachability with the destination NSG.
• Yellow - Indicates a change reason for either control or data plane reachability, resulting in missing reachability
information or degraded traffic.
• Red - Indicates no reachability for either the control or data plane.
Hover over a square in the heat map to view the timestamp, destination, and reachability status for the probe interval.
As required, configure the Time Interval and Refresh Interval parameters to specify the recency of the displayed
data and the rate at which it is refreshed.
Select a square in the heat map to drill down to the Latest x NAT Probe Results and Last x NAT Probe Results at <time>
visualizations. The Latest x NAT Probe Results visualization displays the results of the last NAT probes received from
the selected NSG. The Last x NAT Probe Results at <time> visualization displays the results of the last NAT probes
received from the selected NSG up until the selected time. Both visualizations display the last NAT probes regards
of the path on which they were received. Select a value from the Size dropdown menu to specify how many results
are listed in the chart visualizations. The Change Reason column indicates the reason for the latest change in NAT-T
reachability.
NAT-T is enabled by default. There are two automatically provisioned probe sessions for each pair of NAT neighbors
in the domain. When the probes are enabled and associated with the NAT NPM, the two NSGs can dynamically update
their mapping information. These probes can be disassociated from the NAT NPM at the NSG port level. If the probes
are disassociated, no probes are sent on the uplink and no DTLS sessions are established with the VSC. If the probes
are disassociated, no other probe can be associated with the NAT NPM.
As CSProot, navigate to Platform Configuration -> Infrastructure -> System Configuration -> VNS.
NAT-T NPM probes can be disabled for IPsec and VxLAN by disabling the Add Probe to IPsec NPM and Add Probe
to VxLAN NPM parameters in the system settings. If these parameters are disabled, DTLS sessions are still created,
but probes are not used. Configuring these parameters requires CSPRoot privileges.
Note: Add Probe to VxLAN NPM must be enabled when AAR is enabled for NSGs communicating with another
NSG behind a NAT device.
Navigate to Infrastructure -> Network Services Gateways -> NSG -> Network Port -> Advanced.
The probes can be disassociated from the NAT NPM by disabling the NAT Probes Enabled parameter at the NSG
port level. In a large network with a high number of NSGs, the full mesh of NPM probes may introduce scaling issues.
If scaling issues are encountered, NSGs that are not behind NAT or that are behind 1:1 NAT should have NAT Probes
Enabled set to false.
Note: The NAT Probes Enabled parameter is not available on NSG ports for NSG-UBRs.
You can provision an NSG-UBR between the NSGs behind NAT devices and enable the UBR-Only NAT Probes
parameter on the NSG Uplink Ports. When the parameter is enabled, the NSG uplink port is removed from the full
mesh of NPM probes and all traffic that would be transported through the local NSG network uplink directly to the
remote NSG is sent via the NSG-UBR instead.
As CSProot, navigate to Platform Configuration -> Infrastructure -> Network Service Gateways -> Perfor-
mance Monitors .
The maximum interval at which probes can sent can be configured. The Interval parameter can be configured by
a CSPRoot user on the NAT Probe configuration form. To reduce the risk of scaling issues, the Interval parameter
should be relaxed from the default of 1 packet every 10 seconds to a less frequent rate.
Note: RFC 4787 states that NAT devices should not expire NAT mappings in less than 2 minutes. Therefore it is
possible to set the Interval value to a longer value than the default, such as 1 packet every 30 seconds. Exercise
caution when setting this timer.
Note: You must ensure encryption is enabled at the enterprise level before enabling NAT-T NPM probes. If encryption
is disabled, no NAT-T IPsec probes are sent. See Infrastructure Provisioning (CSPRoot Workflow) (page 23) for more
information about configuring enterprise parameters.
This section provides a high-level workflow of the tasks required to configure VNS NAT-T.
Step 1 Assess your VNS NAT-T requirements based on the type of NAT devices in the network. Refer to
Supported NAT types (page 131) for more information.
Step 2 Enable NAT-T NPM probes in the domain, as required. Refer to Enabling or disabling NAT-T
NPM probes in the domain (page 143) for more information.
Step 3 Configure NAT probes at the NSG port level, as required. Refer to Configuring NAT-T settings at
the NSG Port level (page 143) for more information.
Step 4 Configure NAT probes to be sent via an UBR only, as required. Refer to Configuring NAT-T
settings at the NSG Port level (page 143) for more information.
Step 5 Configure the NAT probe interval, as required. Refer to Configuring the NAT probe interval
(page 143) for more information.
Step 6 Troubleshoot an unsupported NAT-T scenario, if difficulties are encountered. Refer to NAT-T
troubleshooting (page 144) for more information.
Step 7 Monitor NAT-T connectivity and performance. Refer to NAT-T visualization (page 141) for more
information.
This section provides the detailed steps required to configure VSD objects to enable the features described in this
chapter.
Step 1 As CSProot, navigate to Platform Configuration -> Infrastructure -> System Configuration
-> VNS.
Step 2 Configure the Add Probe to IPsec NPM and Add Probe to VxLAN NPM parameters. These
parameters are enabled by default.
Step 1 Navigate to Infrastructure -> Network Services Gateways -> NSG -> Network Port -> Ad-
vanced.
Step 2 Configure the NAT Probes Enabled and UBR-only NAT Probes parameters, as required.
Step 1 As CSPRoot, Navigate to Platform Configuration -> Infrastructure -> NSG Profiles ->
Performance Monitor .
Step 2 Right-click a NAT probe and select Edit.
Step 3 Configure the Interval parameter and click Update.
Nuage VNS supports NAT-T between two symmetric NATs or between a symmetric NAT and a port-restricted NAT
only if an NSG-UBR is used as described in UBR-only NAT probes (page 140). The generator-dump CLI show
command can be used to determine whether NAT-T is failing due to an unsupported NAT combination. See genera-
tor/dump (page 149).
Perform the following steps to use the generator-dump command to troubleshoot an unsupported NAT combina-
tion:
Step 1 Execute the CLI show command using the following format: vsc# ovs-appctl -t
nuage_perfd generator/dump [UUID]
The command output lists all the generators known to the NSG. The Generator Subtype indicates whether the probes
are IPsec or VxLAN.
Step 2 Observe the Generator State. If the Generator State is “RUNNING”, then the probes are func-
tional. If the Generator State is “CREATED”, it means the NSG has no information for the neigh-
bor flag, or that there are no valid paths available.
Step 3 Observe the path information. If the Path State is “UP”, then the path is valid. The Last Sequence
number parameter increments each time a probe packet is received. If the value is nonzero, then
probe packets are being received.
Step 4 Observe the local and neighbor NSG. If the Enable NAT probes parameters are “True” and the
Traffic Through UBR Only parameters are “False”, then NAT-T probes should be received on the
valid paths.
Step 5 Observe the Start Retry for the paths. If the value is nonzero and incrementing, the generator
probes are continuously sending start control messages without receiving a reply. The Generator
State may be “INITIALIZING”.
If NAT-T probes are expected after verifying the information in these steps, then the NSGs may be attempting to
communicate across an unsupported NAT combination.
Note: It is possible that probes are running on some paths, but not others. This can happen if one of the uplinks is
behind an unsupported NAT combination and the other is not.
nat-traversal-mapping
The sample show commands in this section are based on a setup of two NSGs with dual uplinks.
The following table lists information for NSG 1:
Uplink 1 Uplink 2
NAT type No NAT 1:1 NAT
Controller Controller G Controller I
Private IP 10.15.1.254 10.18.1.254
Translated IP n/a 130.104.1.1
The following table lists information for NSG 2:
Uplink 1 Uplink 2
NAT type Address-independent 1:1 NAT
Controller Controller G Controller I
Private IP 10.15.3.254 10.18.3.254
Translated IP 130.104.0.2 130.104.1.2
NAT-Mapping output on controller G:
===============================================================================
NSG NAT Traversal Mappings
===============================================================================
Datapath Id Public Public Private Uplink DTLS Conn
Ip Address Port Ip Address Id Status/Type/
Uptime
-------------------------------------------------------------------------------
57.249.36.216 130.104.0.2 1039 10.15.3.254 0 up/VxLAN/
0d 00:08:23
57.249.36.216 130.104.0.2 1044 10.15.3.254 0 up/IPsec/
0d 00:07:20
119.189.52.131 10.15.1.254 0 10.15.1.254 0 down/VxLAN/
0d 00:00:00
119.189.52.131 10.15.1.254 0 10.15.1.254 0 down/IPsec/
0d 00:00:00
-------------------------------------------------------------------------------
No. of NAT Traversal Mappings: 2
===============================================================================
===============================================================================
NSG NAT Traversal Mappings
===============================================================================
Datapath Id Public Public Private Uplink DTLS Conn
Note: DTLS will show “down” for both no-NAT case and 1:1 NAT case since there is no DTLS established in these
configurations. It will show “up” only for address-independent case.
The following sample shows NAT mappings on controller G in more detail and specific to a svc-id. Note that the
BGP_VPN entries are those that come from different VSCs and learned via BGP. The NVC entries are the ones that
are local to G.
===============================================================================
NSG NAT Traversal Mappings
===============================================================================
------------------------------------------------------------------------------
Legend:
Flag : P -> Primary, S -> Secondary, V -> VxLAN, I -> IPsec
------------------------------------------------------------------------------
Flags Service Datapath Id Public Private Site Owner
Id Ip Address Ip Address Id
Port
------------------------------------------------------------------------------
SV 20001 57.249.36.216 130.104.1.2 10.18.3.254 0 BGP_VPN
4789
PV 57.249.36.216 130.104.0.2 10.15.3.254 0 NVC
1039
PV 119.189.52.131 10.15.1.254 10.15.1.254 0 NVC
4789
SV 119.189.52.131 130.104.1.1 10.18.1.254 0 BGP_VPN
4789
SV 212.196.138.227 10.18.33.254 10.18.33.254 0 BGP_VPN
4789
PV 212.196.138.227 10.15.33.254 10.15.33.254 0 BGP_VPN
4789
SI 57.249.36.216 130.104.1.2 10.18.3.254 0 BGP_VPN
4500
PI 57.249.36.216 130.104.0.2 10.15.3.254 0 NVC
1044
PI 119.189.52.131 10.15.1.254 10.15.1.254 0 NVC
4500
SI 119.189.52.131 130.104.1.1 10.18.1.254 0 BGP_VPN
4500
SI 212.196.138.227
10.18.33.254 10.18.33.254 0 BGP_VPN
4500
PI 212.196.138.227 10.15.33.254 10.15.33.254 0 BGP_VPN
4500
------------------------------------------------------------------------------
No. of NAT Traversal Mappings: 12
------------------------------------------------------------------------------
===============================================================================
bgp-NAT
EVPN BGP-NAT routes with their corresponding next-hops (which are datapath Ids) on controller G.
Tunnel Encap 0 is VxLAN, 1 is IPsec
===============================================================================
BGP EVPN Routes
===============================================================================
Flag RouteType DataPathID Tunnel Public IP:Port
RD NextHop Encap Private IP
As-Path
-------------------------------------------------------------------------------
u*>i NAT 57.249.36.216 0 130.104.1.2:4789
65534:33444 57.249.36.216 10.18.3.254
No As-Path
u*>i NAT 57.249.36.216 1 130.104.1.2:4500
65534:33444 57.249.36.216 10.18.3.254
No As-Path
u*>i NAT 119.189.52.131 0 130.104.1.1:4789
65534:33444 119.189.52.131 10.18.1.254
No As-Path
u*>i NAT 119.189.52.131 1 130.104.1.1:4500
65534:33444 119.189.52.131 10.18.1.254
No As-Path
u*>i NAT 212.196.138.227 0 10.18.33.254:4789
65534:33444 212.196.138.227 10.18.33.254
No As-Path
u*>i NAT 212.196.138.227 1 10.18.33.254:4500
65534:33444 212.196.138.227 10.18.33.254
No As-Path
u*>i NAT 212.196.138.227 0 10.15.33.254:4789
65534:38474 212.196.138.227 10.15.33.254
No As-Path
u*>i NAT 212.196.138.227 1 10.15.33.254:4500
65534:38474 212.196.138.227 10.15.33.254
No As-Path
u*>i NAT 57.249.36.216 0 130.104.1.2:4789
65534:41854 57.249.36.216 10.18.3.254
No As-Path
The following show command provides a compact view of the VxLAN and IPsec NAT mappings for each path to a
neighbor. It also indicates whether the VSC-learned or probe-learned mapping is currently active.
natt/show
dump Nuage_Aar_Npmg
analyzer/dump
37d34d4d-b950-49d9-8509-51d937e23ef1 200.189.172.56
˓→ 2 0
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 200.189.172.56
˓→ 2 0
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 48.121.197.184
˓→ 4 0
37d34d4d-b950-49d9-8509-51d937e23ef1 48.121.197.184
˓→ 4 0
Path: 1, Current State: Running, Session ID: 4. Latency: 8.124963, Jitter 2.870259,
˓→Pkt Loss: 0.000000, Jitter Miss: 16.000000, Last Sequence Number:718
Path: 2, Current State: Init, Session ID: 0. Latency: 0.000000, Jitter 0.000000, Pkt
˓→Loss: 0.000000, Jitter Miss: 0.000000, Last Sequence Number:0
Path: 3, Current State: Init, Session ID: 0. Latency: 0.000000, Jitter 0.000000, Pkt
˓→Loss: 0.000000, Jitter Miss: 0.000000, Last Sequence Number:0
generator/dump
37d34d4d-b950-49d9-8509-51d937e23ef1 200.189.172.56
˓→ RUNNING 2 0 0
˓→ 0 2
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 48.121.197.184
˓→ RUNNING 4 0 0
˓→ 0 4
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 200.189.172.56
˓→ RUNNING 2 0 0
˓→ 0 2
37d34d4d-b950-49d9-8509-51d937e23ef1 48.121.197.184
˓→ RUNNING 4 0 0
˓→ 0 4
.. code-block:: none
Path: 1, Path State: INVALID, Start Retry: 0, Stop Retry: 0, Probe State: Init,
˓→Session ID: 1, Last Sequence number: 0
Path: 2, Path State: UP, Start Retry: 0, Stop Retry: 0, Probe State: Running, Session
˓→ID: 2, Last Sequence number: 708
Path: 3, Path State: INVALID, Start Retry: 0, Stop Retry: 0, Probe State: Init,
˓→Session ID: 1, Last Sequence number: 0
Grp Type: 1
Probe Config Data
PROBE_UUID: 37d34d4d-b950-49d9-8509-51d937e23ef1
Dscp : 46, Rate : 0.100000, Mtu : 140
Local NSG data
Dpid: 138.251.137.52
Uplink Ip: 10.15.3.254,
Priority: 1
Underlay Id: 0
Is UBR Uplink: false
Is Functional: true
Enable NAT Probes: true
Traffic Through UBR Only: false
neighbor/show
dump Nuage_Aar_Xpmg_Dpid
˓→---------------------
e14a3d54-1415-4e47-a49d-be82abe62b22 "00000000-0000-0000-0000-000000000000"
˓→3099949360 0 "8da3d72e-d9b6-46d3-9ffa-7ce4bd7ec48f"
˓→"37d34d4d-b950-49d9-8509-51d937e23ef1"
5736502e-293c-4f94-9a3f-653c0505db74 "00000000-0000-0000-0000-000000000000"
˓→3099949360 0 "e461f524-7d64-462a-9c7c-e77462f664a3"
˓→"4eaa6c3c-7de5-42fa-9ba9-7943f4e95313"
vsc#
get Static_Config_Neighbor
get Local
dpif/show
dtls-br:
dtls-br 65534/8: (internal)
dtls-tap 65279/6: (internal)
dtls-tap-l 65278/7: (vxlan: in_key=16777214)
t10.10.13.7 65277/7: (vxlan: key=16777214, remote_
˓→ip=10.10.13.7, tos=inherit)
ipsec/list-policies
4.2 Secondary IP
The Nuage VNS secondary IP functionality allows all PE-facing NSGs in a domain to be provisioned with a duplicated
/31 private IP address as well as a unique /32 secondary IP address. Each PE interface is configured with the same
BGP, VLAN, and IP addressing settings. This eliminates the need for a unique IP to reach the NSG, which is useful
in domains where IP addressing space is limited. It also allows for a simplified provisioning model for both the NSGs
and the PE devices.
The unique secondary IP is used for traffic such as OpenFlow and VxLAN. An eBGP or iBGP session is established
on each CE-PE connection and used to advertise the secondary IP to the PE. With eBGP, the PE configures the BGP
next-hop as itself for the /32 interface, allowing the rest of the network to route traffic via the PE. The secondary IP
needs to be assigned only to PE-facing NSGs.
This section describes the use case for secondary IP deployment in a VNS network.
In the above topology, a branch location uses a single MPLS link and an optional high-speed Internet secondary
link. The same /31 private IP address is used on every CE-PE connection. An eBGP session is established on each
connection between the NSG and PE. A unique /32 secondary IP address is assigned to each NSG that connects to
the PE. The eBGP session is sourced with the /31 private IP address and all other traffic uses the secondary IP as the
source.
With the above configuration, the same /31 private IP address can be used on multiple NSGs in the domain. This
reduces IP addressing space, and also allows for a simplified provisioning model for both the NSGs and the PE
devices.
In this scenario, the NSG can bootstrap via the high-speed Internet link. Alternatively, in an MPLS-only scenario, the
NSG can bootstrap via the activation email with the required IP and BGP information.
This section describes the specific information required to configure secondary IP on an NSG.
General considerations
• Secondary IP addresses must not overlap with other interface IP addresses on the same NSG.
• Secondary IP addresses must not be in the same subnet as the /31 private IP address.
• Deleting the secondary IP address and its BGP neighbor results in an OpenFlow failure.
• Secondary IP addresses are not supported on the NSG-BR or NSG-UBR.
• PAT-to-underlay and NAT-T are not supported for secondary IP addresses.
• Secondary IP addresses cannot be configured at the NSG template level.
BGP
BGP must be enabled on the domain in order for BGP sessions to be established for secondary IP addresses. If an
NSG is configured with a secondary IP address, it must be configured with a BGP neighbor.
Navigate to Infrastructure -> NSG -> Network Port -> VLAN -> BGP Neighbor .
Note: If iBGP is used, the PE may need to be configured with a route reflector.
Routing policy
A BGP export routing policy does not need to be explicitly configured to advertise a secondary IP to an uplink BGP
peer. A default BGP export routing policy is automatically associated with the uplink BGP peer if no other policy is
configured. Refer to Default BGP export routing policy (page 159) to view the default policy.
If a specific BGP export routing policy needs to be associated with an uplink BGP peer with a secondary IP, the policy
should be configured post-bootstrapping.
Configure the following for the export policy for secondary IP:
• Add an entry to the default route advertisements matching on the STATIC protocol with the action reject-route.
• Add an entry to advertise the secondary IP. Match on the NVC protocol with the action accept-route.
Refer to Sample BGP export routing policy (page 159) to view a sample BGP export routing policy.
Uplink connection
Secondary IP addresses are supported only on static uplink connections. Once the Connection is set to Static, the
Secondary IP Address and Associated BGP Neighbor can be specified.
Navigate to Infrastructure -> NSG -> Network Port -> VLAN -> Uplink Connection .
Bootstrapping considerations
If a secondary IP is configured prior to NSG bootstrapping, the /31 private IP address, /32 secondary IP address, and
BGP neighbor configuration is sent to the NSG via the registration email. During bootstrapping, a BGP session is
established with the PE neighbor using this information. Up to three attempts are made to establish the session, with
10 seconds between each attempt. When the BGP session is established and the secondary IP is advertised, WAN
connectivity checks begin. If the BGP session is not established after three attempts, bootstrapping proceeds using the
second uplink, if available. If a second uplink is not available, the BGP session is not established and a failure message
is displayed.
Note: If a BGP blob is specified pre-bootstrapping, it is not sent as part of the registration email. It is sent via XMPP
post-bootstrapping.
This section provides a high-level workflow of the tasks required to configure secondary IP addresses.
Note: Modifying the secondary IP address post-bootstrapping is service-impacting and may require a reload config-
uration.
Step 1 Ensure BGP is enabled in the domain. Refer to BGP enabled (page 330) for more information.
Step 2 Configure a BGP neighbor on the PE-facing NSG. Refer to Configuring a BGP neighbor
(page 158) for more information.
Step 3 Specify the secondary IP address and associate the BGP neighbor on the uplink connection. Refer
to Configuring an uplink connection for secondary IP (page 158) for more information.
Step 1 Navigate to Infrastructure -> NSG -> Network Port -> VLAN -> BGP Neighbor .
Step 2 Enter a Name, Description, Peer IP, and Peer AS.
Step 3 If required, specify an Import or Export Routing Policy.
Step 4 Click Update.
Step 1 Navigate to Infrastructure -> NSG -> Network Port -> VLAN -> Uplink Connection .
Step 2 Right-click an uplink connection and select Edit.
Step 3 Select Static for the Connection.
Step 4 Enter a Role, **IP Address, Gateway, DNS, and Secondary IP Address.
Step 5 Select an Associated BGP Neighbor and click Update.
This section provides BGP export routing policies for secondary IP addresses.
The following default BGP export routing policy is automatically associated with the uplink BGP peer if no other
policy is configured.
policy-statement "_nuage_int_pol_exp_bgpvpn"
entry 10
from
protocol bgp
exit
action accept
exit
exit
entry 20
from
protocol bgp-vpn
exit
action accept
exit
exit
entry 30
from
protocol nvc-local
exit
action accept
exit
exit
entry 40
from
protocol nvc
exit
action accept
exit
exit
default-action reject
exit
The following is a sample BGP export routing policy configured for secondary IP.
<?xml version="1.0" encoding="UTF-8"?>
<routing-policy xmlns="alu:nuage:bgp:routing:policy">
<policy-definition>
<statements>
<statement>
<name>entry_1</name>
<conditions>
<install-protocol-eq>STATIC</install-protocol-eq>
</conditions>
<actions>
<reject-route />
</actions>
</statement>
<statement>
<name>entry_2</name>
<conditions>
<install-protocol-eq>NVC</install-protocol-eq>
</conditions>
<actions>
<accept-route-set>
<accept-route />
</accept-route-set>
</actions>
</statement>
</statements>
<default-action>
<accept-route-set>
<accept-route />
</accept-route-set>
</default-action>
</policy-definition>
</routing-policy>
This section provides sample CLI command outputs relevant to secondary IP.
The following CLI commands are relevant to secondary IP:
• ip address show port (page 160)
• nuage-bgp-show summary-all (page 161)
• nuage-bgp-show neighbor (page 161)
• nuage-bgp-show routes (page 162)
• nuage-bgp-show bgp-config (page 163)
• nuage-bgp-show rtm-routes (page 164)
Note: In the following sample, 1.1.1.1/32 is the secondary IP and 193.168.1.1/32 is private IP with a /31 address. In
the output, the private IP may be shown as a /32 address due to Linux limitations.
nuage-bgp-show summary-all
In the following sample, the peer IP address for BGP session 193.168.1.0.
===============================================================================
BGP Summary
===============================================================================
Neighbor
ServiceId AS PktRcvd InQ Up/Down State|Rcv/Act/Sent (Addr Family)
PktSent OutQ
-------------------------------------------------------------------------------
193.168.1.0
Svc: 2 200 32 0 00h13m33s 8/8/3 (IPv4)
33 0
-------------------------------------------------------------------------------
value = 0 = 0x0
nuage-bgp-show neighbor
The following sample shows apecific BGP peer information using nuage-bgp-show neighbor <service
id> <peer ip>.
# tools vswitch 1.1.1.1 command "nuage-bgp-show neighbor 2 193.168.1.0"
===============================================================================
BGP Neighbor
===============================================================================
-------------------------------------------------------------------------------
Peer : 193.168.1.0
Group : 193.168.1.0
-------------------------------------------------------------------------------
Peer AS : 200 Peer Port : 52241
Peer Address : 193.168.1.0
Local AS : 200 Local Port : 179
Local Address : 193.168.1.1
Peer Type : Internal
State : Established Last State : Established
Last Event : recvKeepAlive
Last Error : Cease (Connection Collision Resolution)
Local Family : IPv4
Remote Family : IPv4
Hold Time : 90 Keep Alive : 30
Min Hold Time : 0
Active Hold Time : 90 Active Keep Alive : 30
Cluster Id : None
Preference : 170 Num of Update Flaps : 0
Recd. Paths : 2
IPv4 Recd. Prefixes : 8 IPv4 Active Prefixes : 8
IPv4 Suppressed Pfxs : 0 VPN-IPv4 Suppr. Pfxs : 0
-------------------------------------------------------------------------------
Neighbors : 1
===============================================================================
* indicates that the corresponding row element may have been truncated.
value = 0 = 0x0
nuage-bgp-show routes
===============================================================================
BGP IPv4 Routes
===============================================================================
nuage-bgp-show bgp-config
bgp
export "_nuage_int_pol_exp_bgpvpn"
local-as 200
router-id 57.20.149.193
group "193.168.1.0"
local-as 200
neighbor 193.168.1.0
connect-retry 120
keepalive 30
hold-time 90
min-route-advertisement 30
local-as 200
peer-as 200
split-horizon
exit
exit
no shutdown
exit
value = 0 = 0x0
nuage-bgp-show rtm-routes
===============================================================================
Route Table (Router: Vrf 2)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
0.0.0.0/0 Remote Static 02h28m22s 255
Ukwn Interface 0
1.1.1.1/32 Local NVC 02h28m22s 0
0
10.10.10.0/24 Remote BGP 02h26m32s 170
0
10.10.106.0/24 Remote BGP 02h26m32s 170
0
4.3.1 Overview
Underlay Border Router (UBR) feature enables seamless connectivity between NSGs in disjoint underlay networks.
The feature introduces a new NSG personality type, referred to as NSG-UBR, that allows a single VNS domain to
span multiple underlays without having to link the domains. NSG-UBR is supported on NSG-X and NSG-V form
factors. In addition, NSG-UBR supports multi-tenancy.
The UBR feature utilizes the construct of underlay tags, that are assigned to NSG uplinks, to identify the underlays.
Between any source and destination NSGs, a path via direct attached underlays is always preferred. NSG-UBR is used
The following objects are utilized in the workflows for provisioning an NSG-UBR. The details are described later in
this chapter.
• Uplink Connections include the following contexts:
– Control Uplink is the traditional network uplink used to connect to the controller(s) in the VSC profile,
as well as for bootstrapping.
– Underlay Uplink, is the network uplink that is used only to provide connectivity between NSGs in disjoint
underlays. There is no associated VSC profile. Underlay Uplinks can only be configured on an NSG-UBR.
• Underlay Connection VLAN is a VLAN attribute for configuring an uplink connection on an NSG-UBR as
either a control uplink or underlay uplink. To provision a Control Uplink, the attribute must be disabled (default)
and a VSC profile must be attached. To provision an Underlay Uplink, the attribute must be enabled.
– On an NSG-UBR, one physical port (of type Network) may have a maximum of 1 Control Uplink, but
can have several Underlay Uplinks. This is configured by creating multiple tagged VLANs, of which one
VLAN will be configured as Control Uplink and remaining VLANs as Underlay Uplinks.
– On a NSG-UBR, a maximum of 2 ports may be configured for underlay connections.
– On a regular NSG, on a physical network port, there is only one VLAN (tagged or untagged) per uplink.
• Underlay: Serves as an identification of provider networks which are completely disjointed from other networks
(e.g. VPRNs, MPLS networks, IPv4 networks, IPv6 networks). The underlay object will serve as a way for the
operator to associate specific underlay networks to control uplink and underlay uplinks. For underlay uplinks it
is mandatory to associate an underlay.
• NSG Group: Is a group of NSGs. Created, modified, deleted by CSPRoot and Enterprise Administrator.
• NSG-UBR Group: Is a group of NSG-UBRs with similar attributes, such as geographic proximity. Created by
CSPRoot only but can be used by Enterprise Admininstrator. Referred to as UBR Group for readability.
• UBR Group Binding: Links an NSG Group to one or more NSG-UBR Groups with a preferred priority for
each NSG-UBR group.
Note:
• The UBR Group Bindings must exist for NSGs in disjoint underlays to communicate with each other.
• Traffic between NSGs in disjoint underlays, with UBR bindings, will be over the underlay uplinks of the via
NSG-UBR.
• If regular vPorts are configured on the NSG-UBR, then traffic to other NSGs (that are not in any NSG group)
and are on the same underlay as the NSG-UBR’s control uplink, will be routed via the NSG-UBR’s control
uplink. In other words, the NSG-UBR will operate as a regular NSG in such a scenario.
• An NSG, that is part of an NSG group, cannot have common underlay with the control uplink of an NSG-UBR.
On an NSG, when a prefix points to a destination NSG on the same underlay, then the next hop is set to the destination
NSG’s DatapathID (or as virtual next hop for NAT-Traversal). When a prefix points to an NSG that is on another
underlay, then the underlay identifier and UBR bindings are used to determine an available NSG-UBR for routing the
traffic. A via NSG UBR has underlay connection VLANs in both underlays of the source and destination NSGs.
If a NSG-UBR is available (defined later in this chapter), then it gets advertised to the NSGs that have bindings to it.
When the source NSG has to send traffic to a destination NSG on a different underlay, then if a via NSG-UBR is found
then:
• The via NSG-UBR’s DatapathID will be used as the next hop and the appropriate underlay (based on the binding)
will be used for forwarding.
• On the receiving NSG-UBR, the next hop will be set to the destination NSG’s DatapathID (or as virtual next
hop for NAT-Traversal). The NSG-UBR will select the underlay on which the destination NSG is reachable.
If there are two or more via NSG-UBRs, then selection is based on one of the following options:
• Priority based UBR Group selection per NSG Group, with ECMP to all the available NSG-UBRs in the highest
priority UBR Group. A UBR Group is not available if every NSG-UBR in the group is not available..
• Performance based UBR Group selection per NSG based on configured priority and underlay path performance
and reachability metrics. Performance monitors are enabled to probe the underlay performance. A UBR Group
is considered to be unavailable if every NSG-UBR in the group is either offline, not reachable (100% packet
loss) or out of SLA. The best NSG-UBR is selection is evaluated every 5 minutes or when there is 100% packet
loss or when there is an SLA violation. Once a path is switched, it is not switched again within 5 seconds of the
switchover.
Note: If an NSG belongs to an NSG group that is associated with two UBR groups, of which only the lower priority
UBR group has an associated performance monitor, AAR path selection is preferred. The NSG routes traffic to an
AAR-selected UBR over a UBR from a higher priority UBR group that does not have an associated performance
monitor.
Since the underlay selection is local, the forward and return path may not necessarily be symmetric.
When source and destination NSGs are in same underlay, then traffic flows directly between NSGs and does not go
via any NSG-UBR. So all the scenarios below assume that source and destination NSGs are in disjoint underlays, and
applies to VxLAN/IPsec traffic with/without NAT-T.
Scenario 1: One UBR Group of all NSG-UBRs, one NSG Group of all NSGs, and no performance monitors.
• If no via NSG-UBR is found, then traffic is dropped at source.
• If only one via NSG-UBR is found, then traffic flows via that NSG-UBR.
• If more than one via NSG-UBR is found, then traffic is routed using per flow ECMP to all via NSG-UBRs.
Scenario 2: All NSG-UBRs have underlay connection VLANs in all underlays, all NSG-UBRs configured in two
UBR Groups with different priorities, one NSG Group of all NSGs, and no performance monitors.
• Traffic is routed using per flow ECMP to all available NSG-UBRs in the UBR group with higher priority.
• If all NSG-UBRs in higher priority group are unavailable, then the group with the lower priority is selected.
Scenario 3: Topology is shown in the Figure below. Performance monitors are associated with UBRGrp1 and UBR-
Grp2.
The following behavior is observed when NSG-2 initiates traffic to NSG-4 (both NSGs have primary and secondary
uplinks) using performance based path selection:
1. There are one way performance monitor probes from all NSGs to all NSG-UBRs, and from NSG-UBRs to the
NSGs.
2. NSG-2 will select UBRGrp1 based on priority.
3. Within UBRGrp1, NSG-2 will select the path to NSG-UBR1 or NSG-UBR2 via U1 or U2. Assume that delay
NSG-UBR1-U2 < NSG-UBR1-U1 < NSG-UBR2-U1 < NSG-UBR-U2. NSG2 will select NSG-UBR1 via U2.
Note: If a delay attribute is configured then it will be used to flag an SLA violation. Only gateways within SLA will
be eligible for path selection.
4. NSG-UBR1 will select the best path to NSG-4 via U3 or U4. If delay NSG-UBR1-U4 < NSG-UBR1-U3, then
path via U4 will be selected.
Assume that the NSG has dual uplinks tagged as primary and secondary. The following uplink preference options are
supported:
• None or Default
• Primary:Secondary
• Primary only
For None, Default, and Primary:Secondary, the common underlay is always preferred between a local and remote
NSG. If traffic needs to go via an NSG-UBR, uplink priority is used. In the example above, NSG-2 forwards via U1
to NSG-UBR1, which forwards via U3 to NSG-4 using the primary uplinks as preferred paths.
For Primary only, uplink priority is preferred over the common underlay.
Refer to the VNS Release Notes for qualification of other uplink preference options.
Underlay Reachability
Bidirectional forwarding detection (BFD) is supported as an option for NSG-UBR underlay reachability verification
(page 60), which is configured as an attribute of the Uplink Connection (page 55) configuration. The BFD configura-
tion workflow (page 171) includes configuration of the the BFD session attributes and the peer in the underlay to which
the session is established. The underlay uplink is considered to be available for routing only if the BFD session is up.
The capability ensures that traffic is not forwarded via an underlay uplink if it is not available. If the BFD session fails,
the routes through the uplink connection are withdrawn and rerouted.
Service Chaining
Define Underlays
Underlay objects are used to identify the different underlay networks in the domain.
Note: For an NSG that is to be added to a NSG Group (for UBR Group binding), all uplink connections must have a
unique (non-zero) underlay assigned.
Performance Monitor denotes the characteristics of network traffic such as payload size, service class and traffic rate,
and is used to initiate the test traffic with the specified profile for determining underlay path performance.
Note:
• The performance monitor created at the CSPRoot level must be associated to a NSG-UBR group (page 172) by
the CSPRoot.
• A performance monitor that is associated with a NSG-UBR group cannot be deleted.
Instantiate NSG-UBR
This workflow assumes that the CSPRoot has already created a Gateway Template (page 38) with personality NSG-
UBR and required network ports.
1. Select a Gateway Template with personality type NSG-UBR and right-click to select instantiate option. The
CSPRoot can also instantiate using the same workflow (page 51) as described for Enterprise Administrator.
2. The CSPRoot must assign an Installer if automatic email notification is enabled. Otherwise, that association
can be done later. To bootstrap the UBR, an installer must have been selected (required for e-mail registration
and for bootstrapping).
The instantiated NSG-UBRs are listed (in the VSD UI) under a category called Underlay Border Routers, and may
be viewed by navigating to Infrastructure -> Network Service Gateway .
If port/VLANs have been defined at template level, they will be inherited at the instance level. The NSG-UBR
instance will not auto-create any VLANs if they are not defined at template level.
NSG-UBR must have as many VLANs on the network port(s) as the number of Control and/or Underlay Uplinks
required. For instance, for a single uplink NSG-UBR that is connected to three underlays, four VLANs will be
required; one for control connection and three for underlay connections.
1. Navigate to Infrastructure -> Network Service Gateway -> NSG-UBR instance -> Network Port.
2. Create VLANs on the selected network port. Enable the Underlay Connection VLAN flag if the VLAN will
be used as an underlay uplink. Disable the flag for control uplink.
Note:
• NSG-UBR supports tagged and untagged VLANs. However, a mix of tag and untagged VLANs cannot be on a
single Port
• One of the VLANs must be associated with a VSC profile for the Control Uplink. Otherwise activation of
NSG-UBR will result in an error. Control Uplink must be defined on the same VLAN that is associated with a
VSC profile.
• If the VLAN associated with a VSC profile is untagged, then no Underlay Uplinks are allowed on the same
physical port.
• There is a maximum of one Control Uplink per physical network port. The NSG-UBR can have up to two
Control Uplinks.
• Currently there is no limit on the number of Underlay Uplinks (subject to the VLAN limit on the port). Refer to
the scale section for qualified scenarios.
Refer to Uplink Connection (page 55) to define the connections for Control Uplink and Underlay Uplink(s). Each
uplink connection will be associated with an underlay.
For underlay uplinks, if you select BFD for the Reachability Verification parameter, then you must:
• Configure a BFD session and assign it to the uplink connection as described below.
• Configure the BFD peer as shown in the sample configuration (page 175).
Configure BFD
Note:
• You can configure only one BFD session per uplink connection.
• BFD configuration only supported at the instance level.
• You must delete the BFD Session object before changing the Reachability Verification parameter to something
other than BFD.
6. Select the newly created UBR group, and in the Associated NSG UBRs panel, add NSG-UBR members to the
group using the paperclip icon at the bottom of the panel.
CSPRoot may modify UBR Group by adding/removing NSG-UBRs, or delete UBR Group.
Note:
• Only NSG-UBRs may be in a UBR group.
• Deletion of UBR Group is not allowed if:
– Any NSG-UBR is in the group
– Any NSG Group bindings to the UBR group exist
• Deletion of NSG-UBR from UBR group will display a warning for confirmation if there are bindings to the
UBR Group.
• It is recommended that NSG-UBRs be added to the NSG-UBR group before any bindings to NSG groups are
created.
Note:
• Only NSG may be included in an NSG group.
• For an NSG-RG, it is recommended that:
– both NSGs (of the RG pair) be part of the NSG group.
– the Uplink Underlays of the RG pair be consistent.
• A new NSG may be added to a group after bindings to UBR groups have been created.
• Deletion of NSG group is not allowed if there are NSGs or NSG BRs in the group.
1. Navigate to Infrastructure -> Network Service Gateway -> NSG Groups . Select an NSG Group.
2. Select the UBR Groups tab (in the panel to the right of the NSG Groups panel) which will display a UBR
Groups panel. Any existing NSG Group to UBR Group bindings will be displayed in this panel.
Note:
• Maximum of 6 UBR Group bindings on an NSG Group are allowed.
• There can be only one binding between a NSG Group and UBR Group pair.
• Within an NSG Group, UBR Group binding priorities must be unique
• When creating a binding between NSG Group and UBR Group, ensure that all the underlay instances used
by the NSGs in the group are available in the UBR Group (i.e. at least one NSG-UBR in the UBR Group is
associated with the underlays)
• When deleting a binding between NSG Group and UBR Group, which has members present, will generate a
confirmation warning.
Single factor and two factor authentication are supported on the NSG-UBR (Auto-Bootstrapping capability is cur-
rently not supported).
The CSPRoot must activate (page 64) the form factor so that it is bootstrapped and ready for use.
The NSG-UBR also supports regular Border Router (page 178) capabilities for domain linking between WAN and
Data Center.
Any access port VLAN on the NSG-UBR can be cast as a BR-Port by adding BR connections (page 186) and defining
Demarcation service per the workflow for NSG-BR (page 178).
Note:
• The NSG-UBR, on which the BR-Port is created, must be part of a UBR- Group with bindings to an NSG
Group with the linked branch domain.
• If redundant domain links are created from a branch domain to DC domain with each link using a different
BR-Port, then traffic from branch to DC will be ECMP’d. The binding priorities will be ignored.
• NSG-UBR to NSG-UBR traffic, using underlay uplinks, is not supported.
4.3.6 Statistics
Refer to Uplink Statistics (page 218) section for NSG-UBR statistics for control uplinks and underlay uplinks.
In addition, for NSG-UBR, when BR connections are present, statistics are also available at Access port/VLAN level.
The workflow for accessing BR VLAN statistics on the NSG-UBR is similar to the workflow for NSG-BR. Refer to
BR VLAN Statistics (page 196) for workflow details and a sample output on an NSG-BR.
7750 SR Sample
1. Connect a router interface to the UBR underlay uplink and configure a BFD session.
2. Create a static route for any network reachable from the UBR underlay uplink connection and enable BFD. In
this sample, the next hop is the UBR underlay uplink IP at 12.12.12.12. This creates a BFD session with the
specified next hop.
Cisco Sample
interface GigabitEthernet0/0/1
The following command can be used to assess BFD status. The Local Diagnostic and Remote Diagnostic parameters
reflect the BFD status. When an egress filter is dropping BFD packets on the remote device, the Local Diagnostic
reads “Control Detection Time Expired”. When an ingress filter is dropping BFD packets on the remote device, the
Local Diagnostic parameter reads “Neighbor Signaled Session Down” and the Remote Diagnostic parameter reads
“Control Detection Time Expired”.
uplink-type: BR
bfd-sessions: 1
collective-bfd-status: up
===============================================================================
UBR Routes
===============================================================================
Route Type Datapath ID Public IP Private IP Owner
Underlay ID Public Port Uplink ID
-------------------------------------------------------------------------------
vxlan 45.165.60.209 10.60.5.2 10.60.5.2 BGP_VPN
6292 4789 23340
vxlan 45.165.60.209 10.6.6.2 10.6.6.2 BGP_VPN
7262 4789 18211
vxlan 45.165.60.209 10.6.5.2 10.6.5.2 BGP_VPN
7926 4789 18778
vxlan 45.165.60.209 10.60.6.1 10.60.6.1 BGP_VPN
62981 4789 6253
vxlan 83.154.158.2 10.50.5.2 10.50.5.2 BGP_VPN
6292 4789 35707
===============================================================================
Gateway UBR Groups
===============================================================================
UBR Group ID UBR Group Name Priority One Way Delay
-------------------------------------------------------------------------------
f4d079ff-79f1-4776-b98e-92cb22a67d94 Ubr-Grp-1 100 50
-------------------------------------------------------------------------------
No. of UBR Groups: 1
===============================================================================
4.4.1 Overview
NSG Border Router (NSG-BR) feature enables a secure demarcation point between the WAN and the DC underlay
networks. It provides seamless connectivity between NSG and non IPsec-capable endpoints (e.g. VRS, 7750 SR) by
linking domains, while maintaining a unified policy.
NSG-BR was introduced in Release 4.0.R4 as a new gateway personality that runs on an hardware appliance or as
NSG-V.
Key functionality includes:
• Providing connectivity between a WAN and a DC underlay
• Linking a domain in the WAN (referred to as Branch domain) to a domain in the DC underlay (referred to as
DC domain)
• Support for multiple tenants
• IPsec to VxLAN and VxLAN to VxLAN translation
• NSG-BR to NSG per destination tunnel shaping
• Support for existing vPort functionality on NSG-BR
• Access resiliency for non-BR ports that are:
– L2 domain vPorts
– L3 domain vPorts with BGP
• End-to-end ACL across linked domains
• Service chaining (page 295) using advanced forwarding to a redirection target in the DC domain
• BR backbone (VxLAN) domain (page 182) for connecting branch domains in different regions using domain
linking.
The feature utilizes Domain Linking capability.
4.4.2 Terminology
• BR-port (Border Router Port) is a new NSG access port type that connects the NSG-BR to the DC underlay.
The BR-port does not act as an uplink port. There may be one or more BR-ports, in addition to access ports and
uplink ports (for single or dual-uplinks).
• WAN Underlay refers to the Internet underlay or any other Underlay that the NSG-BR’s uplink is connected to.
It typically has NSG endpoints, with and without encryption.
• DC Underlay refers to the DC underlay or any other underlay that the VRS’s or non IPsec-enabled NSG’s are
connected to, via a port other than the NSG uplink.
• Demarcation Service is the next-hop to be used in advertisement of leaked routes. Specifically on the NSG-BR,
demarcation service refers to:
– Uplink Port/VLAN to link DC domain to Branch domain
– BR-port/VLAN to link Branch domain to DC domain
• Destination Domain is the domain receiving routes from another domain.
• Source Domain is the domain exporting its own routes to the destination domain.
Permission Model
Use permission may be assigned at gateway level or at access port or access port/VLAN level, and allows an enterprise
user:
• to attach VPorts, create domain link for domains in enterprise, and create demarcation service, but not create
VLANs or add BR-connections.
Extend permission may be assigned at access port or access port/VLAN level, and allows enterprise user:
• At access port level, to create VLANs, attach VPorts, add BR-connections, create domain links for domains in
enterprise, and create demarcation service.
• At access port/VLAN level, to attach VPorts, add BR-connections, create domain links for domains in enterprise,
and create demarcation service.
A high-level controller topology is depicted in the figure below. The NSG and NSG-BR may share the same controller.
• Node redundancy on the DC underlay using two NSG-BRs. In such a configuration, when there are multiple
next hops, routes in the destination domain will be ECMP routes.
– L2 domain VPorts
– L3 domain VPorts with BGP
However, RG ports cannot be BR-ports (i.e. cannot have a BR connection on such ports).
A CSPRoot can configure a pair of NSG-BRs to form a Redundant Group (RG) using the same workflow (page 245)
as that for the NSG personality type and non-BR ports.
In a multi-tenanted NSG-BR, an RG port or RG port/VLAN is assigned use permission for one or more enterprises.
If a RG port is deleted, then the permissions are also deleted.
4.4.5 Multi-tenancy
For multi-tenancy, a NSG-BR is owned and instantiated by CSProot. The CSProot may assign use or extend
permission to different organizations (enterprises) at the gateway level or access port or VLAN level as explained
below.
For a single-tenant NSG-BR, the CSPRoot may assign permission to the enterprise in which the demarcation services
will be created as follows:
• Use or Extend permission at the gateway level
• Use or Extend permission at the access port or access port/VLAN level
For a multi-tenant NSG-BR, the CSPRoot may assign:
• Use or Extend permission at the access port or access port/VLAN level
• Multiple Use permissions to an access port/VLAN on which a BR connection exists. Thus, a BR connection
can be shared across tenants.
Note: You must avoid overlapping IP addresses when linking two BR domains across or within enterprises.
IPsec Considerations
On a multi-tenant NSG-BR, traffic to other NSGs is encrypted using tenant specific keys that the destination NSG
belongs to. Refer to IPsec (page 409) chapter.
4.4.6 BR Backbone
In this use case a central DC (VxLAN) domain serves as a backbone between different NSG-BRs, and the different
branch domains are also linked into the central DC domain. This provides end-to-end connectivity between branch
domain in one region to a branch domain in another domain, via the backbone domain using NSG-BRs.
BR backbone configuration workflow (page 194) is provided later in this chapter.
This capability allows the NSG-BR to shape traffic towards the WAN underlay for a destination NSG. The tunnel
shaping policy will be set on the uplink connection object of the destination NSG. One tunnel shaping policy (per
NSG uplink) is defined regardless of the number of NSG-BR uplinks.
When domain on destination NSG in the WAN (Branch domain) is linked to a domain in the DC underlay, tunnel shaper
for destination NSG is enabled on NSG-BR and traffic egressing on NSG-BR uplink and going towards destination
NSG is shaped as per shaping values defined in tunnel shaper.
Tunnel shaping configuration workflow (page 194) is provided later in this chapter.
Bidirectional forwarding detection (BFD) is supported as an option for NSG-BR underlay reachability verification.
The BFD configuration workflow (page 187) includes configuration of the the BFD session attributes and the peer in
the underlay to which the session is established. The underlay connection is considered to be available for routing
only if the BFD session is up. The capability ensures that traffic is not forwarded via an underlay connection if it is
not available. If the BFD session fails, the routes through the BR connection are withdrawn and rerouted.
CSPRoot Workflow
• Create BR connection(s)
Instantiate NSG-BR
This workflow assumes that the CSPRoot has already created a Gateway Template (page 38) with personality NSG-BR.
Only the CSPRoot can instantiate an NSG-BR.
1. As CSPRoot, select a Gateway Template with personality type NSG-BR and right-click to select instantiate
option. The CSPRoot can also instantiate using the same workflow (page 51) as described for Enterprise Ad-
ministrator.
2. The CSPRoot is required to assign an Installer as part of the NSG-BR instantiation. For a single tenant NSG-
BR, the installer may be an enterprise user or a CSP user. However, for the multi-tenant NSG-BR, the installer
must be a CSP user.
Single factor and two factor authentication are supported on the NSG-BR per the following permission model:
• CSP owns the NSG-BR and if there are no tenant permissions on gateway level, then CSPRoot can assign an
installer and complete bootstrap.
• A single tenant has gateway level permissions on the NSG-BR, then:
– CSPRoot can assign an installer and complete bootstrap, or
– Tenant can complete the bootstrap
Auto-Bootstrap of NSG-BR has the following permission model:
• CSP owns the NSG-BR and if there are no tenant permissions on gateway level, then CSPRoot can complete
auto-bootstrap.
• A single tenant has gateway level permissions on the NSG-BR, then only CSPRoot can complete the bootstrap
process
Assign Permission
1. As CSPRoot, select the NSG-BR instance and navigate to the permission icon in the rightmost panel.
2. Select the at the bottom of the panel to select, in the popup, an Organization and Allowed to use the object
permission.
1. As CSPRoot, select the NSG-BR instance -> access port or port/VLAN, and navigate to the permission icon
in the rightmost panel.
2. Select the at the bottom of the panel to select, in the popup, an Organization and set the permission as
either Allowed to use the object or Allowed to extend the object.
The selected organization(s) can create the demarcation service before the activation of the NSG-BR. However, route
leaking will begin only after the NSG-BR is activated.
Attention:
• In a multi-tenant scenario, the CSPRoot can assign multipe use permissions on BR VLANs (i.e. VLANs
with BR connections). For such a scenario, the workflow requires that the BR connection (page 186) be
created before the permission is assigned.
• If a BR connection with multiple use permissions is deleted, then the permissions are also deleted.
Create BR Connection
Any Access port VLAN can be enabled as a BR-port by adding a BR-connection on that VLAN.
The BR connection also allows configuration of the IP connection attributes of the DC underlay facing interface.
1. As CSPRoot, select the NSG-BR instance and from the NS Ports panel, select an access port.
2. In the VLANs panel, select a VLAN (if one exists) or create a VLAN.
3. In the right most panel, select BR connection icon . Select the at the bottom of the panel to create a
BR-connection.
4. In the New BR Connection popup, specify the Connection as Static IP.
5. Enter the IP address and Gateway address.
Note:
• The only way to delete a BR-port is to delete a BR connection.
If you select BFD for the Reachability Verification parameter, then you must:
• Configure a BFD session and assign it to the uplink connection as described below.
• Configure the BFD peer as shown in the sample configuration (page 175).
Configure BFD
Note:
• You can configure only one BFD session per port VLAN.
• BFD configuration only supported at the instance level.
• You must delete the BFD Session object before changing the Reachability Verification parameter to something
other than BFD.
As Enterprise administrator, in the Organization view, navigate to Networks -> Layer 3 Domains -> Linking.
Select an instantiated domain displayed in the the Layer 3 Domains panel, and configure as follows to link a source
domain to the selected destination domain:
Link Domains
The objective is to link the Branch domain to a DC domain and vice versa (since links are typically created for both
directions). By linking two domains, the routes from the source domain are leaked into the destination domain.
Note:
• Cross tenant domains can only be linked by CSPRoot. An enterprise administrator can only link domains in
their own enterprise.
• For cross-tenant linking when Branch domain is in Organization 1 and DC domain is in Organization 2, then the
NSG-BR must have some object with use/extend permission to Organization 1.
The following steps describe how to create a link from a source domain to a destination domain, using the NSG-BR.
To create a bidirectional link between a Branch domain and a DC domain these steps have to be followed for both
directions:
1. In the Links panel, select icon to link a source domain to the selected destination domain.
2. The following graphic shows a DC domain as the destination domain. Select Link Type as Border Router, and
select a Source domain. Select Create.
The demarcation service specifies the next hop for routes being leaked from a source domain into a destination domain.
The demarcation service configuration is described for the two domain linking scenarios:
• Branch to DC (using the BR connection as next hop)
• DC to Branch (using the NSG-BR uplinks as next hop)
Branch to DC: If the source domain is a branch domain, then endoints participating in the DC domain will see the
routes from the branch domain with next hop as the BR-port IP address.
1. Select the Branch domain to DC domain link and in the Demarcation Services panel, select icon to config-
ure the demarcation service.
2. Select the Type as BR Port.
3. Select the NSG-BR as the Gateway on which the demarcation service is being created .
4. Specify the Port and VLAN, which will correspond to the BR-port on the NSG-BR.
5. Once demarcation service is created, the Route Distinguisher (used for tagging these next hop routes in the
destination domain) and Priority are auto-assigned and displayed as shown below.
DC to Branch: If the source domain is a DC domain, then endpoints in the branch domain will see the routes from
the DC domain with next hop as the datapath ID of the NSG-BR.
1. Select the DC domain to Branch domain link and in the Demarcation Services panel, select icon to config-
ure the demarcation service.
2. Select the Type as NSG BR.
3. Select the NSG-BR on which the demarcation service is being created as the Gateway.
4. Once demarcation service is created, he Route Distinguisher (used for tagging next hop of leaked routes in
destination domain) and Priority are are auto-assigned and displayed as shown below.
Note:
• If a source/destination domain is linked using two NSG-BRs by defining a demarcation service on each, then it
is considered an active-active resilient configuration with ECMP.
• Redundancy of BR-ports is not supported on ports of the same NSG-BR.
The Ingress and Egress security policy configuration for linked domains is identical to the workflow defined in the
Nuage VSP User Guide (Configuring Security and Forwarding Policies section).
The primary difference is that when defining security policy entries:
• ACL Type must be set to Linked Domain
• An Enterprise for the destination domain must be optionally selected (see Note below). If not specified, then
the same enterprise as source is assumed.
• For linked domains, only zone/subnet/policy group are allowed as
– Ingress ACL destination options
– Egress ACL origin options
Note:
• End-to-end ACLs for cross tenant domains can only be created by CSPRoot.
1. For the central DC domain, select the Static Route icon from the top right configuration actions.
2. In the popup, specify the Network as 0.0.0.0/0, and select the route Type as Overlay, and Next Hop IP as the
address of a resolved vPort in the DC domain.
The workflow below describes how the tunnel shaping policy is configured. However, tunnel shaping for a destina-
tion NSG gets enabled on NSG-BR only when both of the following conditions are met:
• Egress QoS (page 319) is enabled on NSG-BR uplink. The procedure for NSG-BR is identical to that for
gateway personality type NSG.
• Domain on destination NSG in branch domain is linked (page 188) to a domain in the DC underlay.
The tunnel shaper specifies the bandwidth requirement for destination NSG from NSG-BR. It is specified on the
destination NSG, and for any domain on the NSG that is linked to DC, the tunnel shaper will be applied on NSG-BR
uplink. As a result, traffic egressing from NSG-BR uplink towards the destination NSG will be subjected to shaper
values as specified in tunnel shaper.
Tunnel shaper policy may be created by the CSPRoot or, at instance level by enterprise administrator (description
below is for CSPRoot workflow) .
1. As CSPRoot, navigate to Infrastructure -> Network Service Gateways -> Egress QoS Policy -> Tunnel
Shaper QoS Policies.
2. Create a new Tunnel Shaper QoS Policy by following the same workflow as for creating Egress QoS Policy and
assigning Rate Limiter(s).
Once an Tunnel Shaper QoS Policy is created, it must be applied to a port VLAN on destination NSG in order to
activate the shaping behavior. This can be done at the Gateway Template level by the CSPRoot or at the Gateway
instance level by the enterprise admin.
If the specific Gateway instance has inherited Tunnel Shaper QoS policies from the gateway template, the enterprise
administrator can override them by associating new tunnel shaper QoS policies at the instance level. Any changes at
instance level will persist, and thus any subsequent changes at template level will not be propogated to the instance.
1. Navigate to select a Network Services Gateway -> Port -> VLAN. An untagged VLAN is shown in the example
graphic, but it may be tagged as well.
2. On the far right select the QoS icon . The panel below the icon will either display a Tunnel Shaper QoS
Policy already assigned or will allow you to assign a policy.
Configuration Recommendations
On an NSG-BR, there can be multiple tunnel shapers enabled and one Egress QoS policy on uplink.
To achieve proper Committed Information Rate (CIR) for each tunnel, it is recommended that:
• Total Committed information rate (CIR) (i.e. Overall Rate in the tunnel shaper policy) across all tunnel shapers,
plus the total of all child queue CIRs in Egress QoS policy, should not exceed Peak Information Rate (PIR) of
Parent in Egress QoS policy.
• Peak Information Rate (PIR) of Parent in Egress QoS policy should be less than or equal to port bandwidth.
In other words, with reference to the figure below,
Q0-CIR (Tunnel 1) + Q0-CIR (Tunnel 2)+ ... + Q0-CIR (Tunnel n) + Q1-CIR + Q2-CIR + Q3-
˓→CIR + Q4-CIR <= Q0-PIR
4.4.12 Statistics
When BR connections are present, statistics are available at Access port/VLAN level.
To open the graphical display on the VSD UI, select the statistics button associated with the access port/VLAN on
which the BR connection is defined.
There are two views:
• Bytes view: Transmit (Tx) and Received (Rx) Bytes.
• Packets view: Transmit (Tx)/Received (Rx) packets count, packets dropped count, errored packets count dis-
played.
===============================================================================
Domain Linking Information
===============================================================================
Src Domain Src Domain Name Dst Domain Dst Domain Name Link Type
SvcId SvcId
-------------------------------------------------------------------------------
1829935225 Trusted Domain1 284372794 Unrusted Domain1 br
1458084265 Trusted Domain2 36790322 Untrusted Domain2 br
284372794 Unrusted Domain1 1829935225 Trusted Domain1 br
36790322 Untrusted Domain2 1458084265 Trusted Domain2 br
-------------------------------------------------------------------------------
No. of domain links: 4
===============================================================================
===============================================================================
Gateway Uplink Destination Table
===============================================================================
===============================================================================
Gateway Uplink Destination QoS Table
===============================================================================
QoS Queue ID : 1
Egress Shaping PIR(Mbps) : 0.200 Egress Shaping PBS(kb) : 1000
Egress Shaping CIR(Mbps) : 0.200
Egress Shaping Svc Classes : h1 nc
QoS Queue ID : 2
Egress Shaping PIR(Mbps) : 0.100 Egress Shaping PBS(kb) : 1000
Egress Shaping CIR(Mbps) : 0.100
Egress Shaping Svc Classes : h2 ef
QoS Queue ID : 3
Egress Shaping PIR(Mbps) : 0.699 Egress Shaping PBS(kb) : 1000
Egress Shaping CIR(Mbps) : 0.699
Egress Shaping Svc Classes : af l1
QoS Queue ID : 4
Egress Shaping PIR(Mbps) : 0.200 Egress Shaping PBS(kb) : 1000
Egress Shaping CIR(Mbps) : 0.200
Egress Shaping Svc Classes : be l2
-------------------------------------------------------------------------------
No. of Entries: 1
===============================================================================
The following command can be used to assess BFD status. The Local Diagnostic and Remote Diagnostic parameters
reflect the BFD status. When an egress filter is dropping BFD packets on the remote device, the Local Diagnostic
reads “Control Detection Time Expired”. When an ingress filter is dropping BFD packets on the remote device, the
Local Diagnostic parameter reads “Neighbor Signaled Session Down” and the Remote Diagnostic parameter reads
“Control Detection Time Expired”.
uplink-type: BR
bfd-sessions: 1
collective-bfd-status: up
4.5.1 Overview
In order to meet increasing bandwidth demand, introduce resiliency or segregate network traffic, the NSG supports
multiple uplinks using wired connections and wireless LTE uplinks. Support for network uplinks enables the follow-
ing:
• Resiliency for the data and control paths.
• A mechanism to classify traffic (if desired). For example, high priority traffic can be routed over an expensive
secure link and lower priority traffic over a cheaper unprotected link.
LTE uplink provides additional flexibility for WAN connectivity and enhances service assurance, reliability, and time
to new service delivery in locations where wired connections are not easily procured. LTE uplink capabilities and
limitations are the following:
• LTE connection is supported only on NSG-C and NSG-E.
• The LTE uplink is supported using a USB dongle or integrated LTE hardware. The dongles can be modem-based
or ethernet-based.
• IPv6 is not currently supported with LTE uplinks (integrated and USB-based).
• Dual LTE uplinks are currently not supported. LTE uplinks can be USB-based or integrated, but not both.
• USB-based LTE uplinks are not currently supported on NSG platforms E206/306.
• The LTE uplink may be used as a primary link or as a transport of last resort with selective traffic offload.
Advanced ACLs or AAR allow traffic redirection to the expensive LTE uplink either in active-active or auxiliary
mode.
• Statistics and Status (page 222) of the LTE dongle is monitored by VSD and the statistics collector.
Note: Refer to the Nuage VNS Release Notes for the currently supported use case scenarios and interaction with
features, such as BGP, PAT, QoS, AAR etc..
1. An Enterprise Domain may contain NSGs (including personalities NSG-BR, NSG-UBR) with either single or
dual (wired) uplinks. Regular NSGs may also have one LTE uplink (as a single uplink) or with a wired uplink
(in a dual uplink scenario).
2. The wired dual uplinks may be connected to the same transport network (IPVPN or Internet) or to two hetero-
geneous networks (one IPVPN and other Internet). In the latter case, the transport may be provided by the same
or different providers. It is assumed that routing is possible between distinct transport networks (including
LTE). Deployment consideration must be given to ensure that this condition is met to avoid possible traffic
black-holing during certain transport network failures.
3. Each network uplink (wired or LTE) is tagged with a preference, namely; primary or secondary (refer to Uplink
Role (page 207)). Link selection preference is an overlay only concept.
4. A VSC may connect to different NSGs via uplinks of different priority. For example, the same VSC may connect
to NSG 1 via the NSG’s primary uplink and to NSG 2 via the NSG’s secondary uplink.
5. The transport networks which an NSG’s uplinks are part of may have NAT devices in their paths. (refer to the
NAT-T feature of VNS).
6. When both uplinks are tagged as primary, the NSG will equally load-balance traffic across both uplinks. Such a
configuration will not form LAG-group with the two uplinks as members.
7. In a dual uplink scenario, each uplink must be on networks with different IP addresses.
Note: Multi-tenancy on the NSG is not supported. In other words, a NSG may belong to a single Enterprise with
multiple subnets associated with one or more VRFs.
In this use case, it is expected that each uplink is connecting the NSG to distinct transport networks. Based on customer
specified policies, the service traffic traverses the heterogeneous networks.
In scenarios with NAT vs Non-NAT, the forwarding behaviour is the same, but the control-plane behaviour will be
different.
This use case is an application of interworking with the Port Address Translation feature. For subnets that have PAT
enabled, there are two cases:
• Address Pool Not Configured: Once the correct uplink interface is determined as part of the forwarding, the
source IP of the outgoing packet will be the selected uplink’s WAN IP address.
• Address Pool Configured: Since the link selection preference is an overlay only concept, the underlay (in the
case of PAT) will be selected based on kernel routing look-up for the destination address. Generally this will be
the default routing. It would most probably mean that Port 1 will always be used as its default route would be
preferred.
Note: In the case of heterogeneous transport networks, it is recommended that customers use portable public IP
address pools and that the transport providers are provisioned for the proper connectivity required for routing under
the various link failure scenarios.
Attention: The set of supported LTE devices is specified in the Hardware Compatibility List provided in the
VNS Release Notes.
For all the Modem based dongles, the modem should be configured as the first port mode. To verify dongle information
and/or modify the LTE dongle’s port mode settings, proceed as follows:
• Plug the Dongle into a PC/laptop
• Connect to the serial port of the dongle (e.g using putty in Windows or minicom in Linux). Identify the serial
port (e.g. COM4) using the device manager.
• The following commands can be issued in the connected console:
– Determine dongle model: ATI
Example output:
Manufacturer: huawei
Model: E3372
Revision: 21.286.03.00.00
IMEI: 866133026907917
+GCAP: +CGSM,+DS,+ES
Example output 2
^GETPORTMODE:TYPE:WCDMA:Qualcomm,MDM:0,PCUI:1,DIAG:2,CDROM:5,SD:6
^SETPORT:A1,A2;12,1,16
Step 2 Change the port configuration (replace A1,A2 with FF) and reset the device. Note that map-
ping might differ between dongles.
Example output
AT^SETPORT="FF;1,12,16"
AT^RESET
Step 3 Reconnect to the serial port and verify that port mode is modified AT^GETPORTMODE
Example output 1
Example output 2
Integrated LTE devices have two SIM slots, but currently only one SIM per device is supported. Insert only a single
SIM into any of the two slots (slot 1 or slot 2). The system will automatically detect the slot in which the SIM
is inserted and use that to bring up LTE connection. If no SIM is detected in any slot, the integrated LTE uplink
configuration is aborted and logged on the NSG.
Note: When adding, removing, or swapping a SIM in an integrated LTE device, the NSG must always be powered
down.
Note: It is recommended that the LTE device (USB or integrated) get a publicly routable IP (static or dynamic).
However, if the provider of the LTE device has assigned a private IP address, then NAT-T (page 143) must be enabled
(Full Cone). In addition, provider should allow inbound connection to the opened ports, i.e. CGNAT done by carrier
should also be full cone.
• LTE uplink is configured by setting the uplink connection mode parameter as LTE. Options for wired connec-
tions are Dynamic, Static, and PPPoE.
• For modem-based dongles, custom properties, such as APN information, authentication type (PAP/CHAP-
default), authentication credentials, and SIM PIN, are configured via LTE Uplink Connection Custom Properties
in VSD. Note that only a subset of custom properties are supported for integrated LTE devices. Refer to LTE
Mode Parameters (page 57) for specifics.
• The LTE interface is only supported on network port and an untagged VLAN. Any other configuration will
cause the bootstrapping to fail.
• The physical interface name for LTE uplink must be configured as lteX, where X is any integer.
• An auxiliary mode is provided to allow an operator to configure the LTE uplink as a circuit of last resort.
In the auxiliary mode, the LTE interface is activated only when the wired connection is down for more than 30 seconds.
Traffic will be impacted until the LTE link becomes operational, after which traffic will be routed via the LTE interface.
Once the wired connection is back up, the auxiliary port is brought down immediately and traffic is switched to the
wired uplink.
Uplinks can have primary or secondary role. Primary refers to the preferred uplink. A pair of uplinks can be
Primary/Secondary or both primary or both secondary. If role is not specified, then the default is assumed to be
primary on Port 1 and secondary on Port 2. Role is specified as part of the Connection Type (page 59) by the Enterprise
Admininstrator.
It is recommended, but not mandatory, that on the Dual-Uplink deployments, both uplinks have a different role (one
Primary and one Secondary).
Note: In the scenario when one uplink is an LTE connection and is configured as an auxiliary uplink, then it may
have the same uplink role as the port it will protect to guarantee that the traffic, the wired uplink was carrying, is
successfully redirected through the LTE Uplink. However, based on how the advanced ACLs have been defined, an
operator may prefer having the Role of the Auxiliary LTE Uplink to differ from the one of the wired uplink.
The role is sent to the NSG as part of the infrastructure configuration procedures either via bootstrapping or through a
subsequent configuration reload request.
The roles translate to internally maintained Route Distinguishers (RDs) that get created (as part of the Domain class)
to uniquely identify the routes advertised by the VSCs. The RDs are not user configurable. Each uplink has internal
RDs, one for each role (as applicable) as follows:
Uplink Tag RD Preference
Port 1 Primary1 RDPrimary1 200
Port 1 Secondary1 RDSecondary1 100
Port 2 Primary2 RDPrimary2 200
Port 2 Secondary2 RDSecondary2 100
The RDs can be viewed by navigating to the Networks tab and selecting the Domain. Clicking on the instance icon
( ), in the middle panel, displays the RDs in the far right panel. You may need to scroll the right panel to view the
RD information.
At any point, based on NSG’s network uplink profile(s), two of the four RDs will be advertised by VSC. The RD
information is passed from the VSD to the VSC at the vPort resolution.
Examples (assuming NSG is not behind a NAT):
1. If the port 1 uplink role is Primary, and port 2 uplink Secondary for NSG which has subnet 10.0.0.0/24, then
VSC will advertise 10.0.0.0/24 via uplink 1 as (RDPrimary1, NH port 1) and via uplink 2 as ( RDSecondary2,
NH port 2).
2. If the port 1 uplink role is Primary, and port 2 uplink Primary for NSG1 which has subnet 10.0.0.0/24, then VSC
will advertise 10.0.0.0/24 via uplink 1 as (RDPrimary1, NH port 1) and via uplink 2 as ( RDPrimary2, NH port
2). When a remote NSG receives these routes, based on RDs being both primary, it knows it has to ECMP to
uplink1 and uplink2 of NSG1.
Each network port/VLAN must connect to at least one controller or to a pair of controllers. The IP address of the
controller(s) is specified in the Infrastructure VSC profile, and there can be up to two controller IP addresses in each
infrastructure VSC profile. Refer to Infrastructure VSC Profile (page 37) for details of the configuration workflow.
The VSC profile is attached by CSPRoot to Network port VLAN Templates (Refer to Assign VSC Profile (page 43)).
The CSPRoot may also assign VSC Profile at NSG instance level if it is not inherited from the template.
A network port/VLAN is associated with an infrastructure VSC profile with one or two VSCs. The controllers for an
NSG with dual uplinks may be configured as follows:
• A pair of distinct controllers using two VSC profiles with one controller in each. Port 1 VLAN is associated
with one profile and Port 2 VLAN with the other.
• Two pairs of distinct controllers (or a variation thereof)using two VSC profiles whereby each network port
VLAN is associated with one VSC profile.
Note: Dual uplinks cannot connect to a single controller or to a set of controllers from the same VSC profile.
NSG establishes OF-TLS connection to each of the controllers. As part of the OpenFlow initialization, the NSG
notifies the controller of its uplink information, specifically number of uplinks, uplink IP address / priority, and NAT
flag. If any of the NSG’s uplink is behind a Full Cone NAT, then a DTLS session is also established with every
controller that has an established OF-TLS connection (refer to NAT-T (page 130)). An NSG determines that one or
both of its uplinks are behind a NAT device based on a flag received as part of the bootstrap process.
Using an internal controller selection (page 214) procedure, the NSG designates one of the controllers as Primary and
the others are designated Secondary. The terms Primary and Secondary are documentation constructs for describing
the behaviour of the controllers for route advertisements and for programming network reachability information to the
NSGs.
All configured controllers advertise the reachability information pertaining to NSG subnets (in a domain) to other
remote NSGs in the same domain. However, the Primary Controller advertises with a higher local preference, and
the Secondary controller advertises with a lower local preference. The primary controller is the only controller that
programs all the network reachability information to the local NSG via the established OF-TLS connection.
The resiliency of the controller depends on whether the NSG uplink(s) is behind a NAT device or not (refer to Con-
troller Resiliency (page 215)).
By default, the VSC prefers the outband management interface for XMPP communication with the VSD. If the route to
the VSD is not present in the outband management routing table, the VSC attempts to establish an XMPP connection
using the inband management interface. If the route to the VSD is not present in the inband management routing table,
the VSC attempts to establish an XMPP connection by checking the router “Base” routing table. The user can change
this default behaviour using the following command:
[no] route-preference primary [inband | outband] secondary [inband | outband |
none]
Refer to the VSP User Guide for more information on the route-preference command.
The default control interface of the VSC only supported untagged traffic. The user can create a new VLAN-tagged
control interface by creating a new interface and disabling the default control interface using the following command:
configure router interface <name> create configure router interface control
shutdown configure router interface control no address
The default domain forwarding behaviour for overlay traffic destined to remote VTEPs (egressing the network
ports) is defined in the table. Assuming there are two operational links, the default behaviour if one link fails is
summarized below:
Local Dual Uplink State Remote Next Hop Forwarding Decision
Primary Up RDPrimary received Uplink = Primary, NH = Primary
Primary Up RDSecondary received Uplink = Primary, NH = Secondary
Primary Down RDPrimary received Uplink = Secondary, NH = Primary
Primary Down RDSecondary received Uplink = Secondary, NH = Secondary
If remote NSG has both links marked as primary, then per flow based ECMP (not weighted) routing will be performed.
Uplink Preference
The default forwarding behavior can be overridden by selecting or changing the local or remote uplink preference
using the steps as described below.
In a dual uplink scenario, you can specify either a Local Uplink Preference or a Remote Uplink Preference to
determine the forwarding behavior of traffic on the source or destination NSG. Only one of these preference parameters
can be configured; one of them must remain as Default.
Remote uplink preference configuration is intended for the use case where an NSG-UBR is forwarding traffic to a
destination NSG. The local uplink preference cannot be specified for an NSG-UBR. For traffic forwarded from an
NSG to another NSG, the remote uplink preference should not be configured.
The forwarding behavior of each advanced ACL option is described in the table below. For
each option, the remote next hop behavior is that Primary is always preferred over Secondary:
ACL Local Uplink Selection
Default n/a
Primary, Secondary Prefer Primary uplink if operational, else Secondary, else drop
Secondary, Primary Prefer Secondary uplink if operational, else Primary, else drop
Primary Primary if operational, else drop
Secondary Secondary if operational, else drop
Note: For symmetric traffic flow, apply end-to-end ACLs on all NSGs.
Note: See SLA-Aware Path Selection (page 449) for information about forwarding behavior when the SLA-Aware
parameter is enabled.
Note: The following procedure describes only the parameters pertaining to L7 ACLs as they pertain to dual uplink
and AAR path selection. See the “Security and Forwarding Policies” chapter in the VSP User Guide for complete
information about configuring L7 ACLs.
1. In the Organization view, select Networks -> Layer 3 Domains ( ) -> Policies.
2. Select the Ingress Forwarding Policies icon icon to display a list of existing Forwarding Policies or allow
the creation of a new policy using .
Forwarding policies can be created by both the CSPRoot and Organization Admin user and can be created as part of
domain or zone template or after instantiation.
3. Once the policy is created, click in the Security Policy Entries panel to display the New Ingress Forwarding
Network acceleration can be enabled on the NSG by offloading encryption and decryption functionality. This optimiza-
tion is achieved using the Data Plane Development Kit (DPDK). The DPDK feature set supports branch deployments,
VPort handoff at hub sites, BR port handoff at hub sites, and UBR disjoint underlay connections.
There are two options for network acceleration on the NSG:
• None: This option disables network acceleration. This is the default option.
• Performance: This option enables separate threads for packet encryption and decryption, and separate threads
for KNI input and output. This option is suitable for the highest throughput systems.
When the Network Acceleration parameter is configured, a Reload Configuration is required before the changes can
take effect. This triggers an NSG system reboot. Network acceleration changes take effect once the NSG successfully
reboots.
Consider the following when enabling or disabling network acceleration on an NSG:
• Network acceleration is supported on all physical NSG platforms.
• Network acceleration is functionally supported on the NSG-V.
• Network acceleration is not supported for LTE or PPPoE uplinks.
• Network acceleration is not supported on NSGs configured with static IP. If the feature is enabled on an NSG
configured with static IP, the NSG may lose uplink connectivity.
• Network acceleration is supported for overlay-only data paths. Network acceleration should not be enabled in
branches with underlay traffic, such as IKE tunnels, PAT-to-underlay, route to underlay, or Internet breakout
traffic. Network underlay traffic throughput is not improved by enabling network acceleration.
Note: Modifying the Network Acceleration parameter on an NSG may cause service interruption.
Note: Network acceleration cannot be enabled on an NSG pre-bootstrap. The NSG must first be upgraded and
bootstrapped to the latest version before the feature can be enabled.
4. Click on Reload Configuration in the Bootstrap tab of the NSG properties form.
5. If you are disabling network acceleration, a warning dialog will ask you to confirm the action before rebooting
the NSG.
6. If required, use the commands listed in the following section to verify that network acceleration has been suc-
cessfully enabled.
CLI commands can be executed to verify whether network acceleration has been successfully enabled on the NSG.
Refer to Network Acceleration CLI Samples (page 228) for sample outputs for commands related to network acceler-
ation.
To confirm that network acceleration has been successfully enabled, execute the -bash-4.2$ grep
"PLATFORM=" /etc/default/openvswitch command and verify that PLATFORM=dpdk is displayed.
To confirm when network acceleration was enabled, execute the -bash-4.2$ systemctl status vrs_dpdk
command and verify that Active: active (running) is displayed with the date and time that network accel-
eration was enabled.
CGroup: /system.slice/vrs_dpdk.service
\u251c\u25004174 /bin/sh /bin/uplink_monitor.sh
\u251c\u25004578 ovsdb-server: monitoring pid 4579 (healthy)
\u251c\u25004579 ovsdb-server /home/root/nsg-agent/ovs-db/conf.db -
˓→vconsole:...
\u251c\u25007515 sleep 1
\u2514\u25007516 n/a
To confirm that hugepage sizes have been correctly allocated for 1G pages, execute the -bash-4.2$
/proc/cmdline command and verify that default_hugepagesz=1G hugepagesz=1G hugepages=4
is displayed.
-bash-4.2$ /proc/cmdline
initrd=initrd0.img root=live:UUID=4829dced-492b-298f-29fe-299a-3920-9382938f903
˓→rootfstype=ext3 ro rd.live.image quiet panic=2 net.ifnames=0 console=ttyS0,115200n8
The VSC profile is downloaded to the NSG as part of the Infrastructure configuration. The NSG internal algorithm
for selecting evaluates the controllers using an ordered list to avoid any conflicts in VSC IP address. The ordered list
is created as follows:
• Port1 controllers ordered 1st
• First VSC ordered prior to Second VSC
The ordered list and the resulting selection for some sample configuration scenarios is shown below:
Note: Once the NSG selects a controller as Primary, it notifies the corresponding controller about being designated
Primary as part of the OF-TLS handshake. If the Primary controller fails, then another controller is declared Primary
and the behaviour is not revertive. In other words, the new Primary continues to function as Primary going forward,
and when the previous controller gets restored, it becomes Secondary.
In the case of an NSG with Dual Uplinks, a resilient controller configuration depends on whether the NSG uplink(s)
is behind a NAT device or not.
The scenarios are described using an illustrative example that assumes the following:
• Two VSC profiles, each with a distinct controller, VSC1 and VSC2.
• Each profile is associated with port1 and port2 respectively.
• port1 connects to VSC1 and port2 connects to VSC2, and the NSG designates VSC1 to be Primary controller.
• Uplink attached to port1 is tagged as “primary” and uplink on port 2 is tagged as “secondary”
VSC1 and VSC2 advertise routes with Next Hop (NH) port1:pref1 and also advertises routes with NH port2:pref2
(lower preference). Note that VSC1 (selected Primary by the NSG) will advertise both port1 and port2 subnet routes
with higher preference while VSC2 will advertise same route with lower preference.
Failure Handling
If VSC1 fails, since VSC2 advertises NH for port1, port1 NH can still be used (as it is assumed that port1 is reachable
via network that port2 is connected to). Similarly if VSC2 fails, then too port2 NH is reachable.
Any link failure / IP address changes to port (e.g. due to DHCP) cause routes to be withdrawn / updated.
Example: VSC1 advertises routes with NH port1:pref1 and NH port2:pref2. If uplink on port2 fails or port2 IP address
changes, then VSC1 advertisement will either withdraw or change NH depending on former or latter event.
If OF session to VSC2 fails, there is no change on VSC1 route advertisement behaviour. Of course this may lead to
corner cases where traffic may be black holed.
In the event of link failure, the two controllers back each other up and provide resiliency for the control and data path.
If the NSG uplink is behind a Full Cone NAT, it sets up DTLS sessions with VSC1 and VSC2. The DTLS session is
used to relay NAT traversal mapping route to the VSC using the NSG’s unique identifier (DatapathID) and the uplink
RD as the key.
NAT mapping routes provide the information as to how to reach an NSG behind a NAT device on a specific uplink,
using a specific tunnel type (IPSEC or VXLAN).
All local NAT mappings are redistributed to BGP which advertises them to other IBGP peers in a proprietary EVPN
route.
All subnets belonging to an NSG are advertised to the rest of the network with the next hop set to the NSG DatapathID
along with an indicator that it is a virtual next hop. In routing, when a virtual next hop is encountered, there is a second
lookup of NAT mapping table to determine reachability to that NSG. Primary VSC will advertise subnet routes with a
higher local preference than the secondary VSC(s).
Example:
• VSC1 will generate a NAT mapping route (internal IP:port to NATed IP:port) learnt via DTLS session for port1,
and include the RD belonging to port1 (e.g. primary)
• VSC2 will also generate a NAT mapping route (internal IP:port to NATed IP:port) learnt via DTLS session for
port2, and include the RD belonging to port2 (e.g. secondary)
• Both VSCs will receive each others NAT mapping and also advertise to other VSCs.
• VSC1 will advertise subnet routes with Virtual NH set to the NSG’s datapath ID, and will also indicate that it
is a virtual next hop. VSC2 will do the same with a lower local preference. VSC1 will also program the local
NSG with the subnet routes.
• Receiving (remote) NSGs will have the subnet information with virtual NH and the NAT mapping routes. For
routing, a lookup for the destination subnet will result in a virtual next hop route. The NSG will then perform a
second lookup of the NAT mapping table for determining the higher priority next hop and route accordingly.
Failure Handling
If either VSC1 or VSC2 fails, or OF/DTLS session dies, or path between NSG and VSC fail, then the subnet and NAT
mappings routes are withdrawn and as such remote NSG will not have an entry for routing for the port on which the
VSC has failed. In other words, the VSCs do not offer any redundancy for routing.
If Controller resiliency is required, then it is recommended that two VSC profiles be defined, each with distinct VSCs.
Associate Profile 1 with port1 and Profile 2 with port2. This means the NSG will have 4 VSCs (two on each uplink).
One of the 4 VSCs will be declared as Primary for subnet route advertisements, and all others will be secondary. In
such a configuration, the NAT mapping and subnet routes for each port will be advertised by two distinct VSCs, and
so even if one VSC fails, the other controller will provide redundancy.
Note: Failure scenarios can include physical port failure, network path failure, or controller failure. In order to
maintain the same expected behaviour under all failure conditions, fate sharing between data and control-plane is
assumed. Thus, detection of OF-TLS session failure is indicative of link or network path failure.
IPv6 can be enabled on static or dynamic uplinks by configuring the Address Family parameter on the uplink con-
nection configuration form. Refer to Define Uplink Connections (page 54) for more information about configuring
uplinks.
Consider the following before configuring a network uplink for IPv6:
• If a VSC infrastructure profile with IPv6 is assigned to an uplink VLAN, IPv6 must be enabled on the network
uplink.
• IPv6 must be enabled at the domain level before IPv6 can be selected for an uplink connection. Refer to the
VSP User Guide for more information about configuring L2 or L3 domains.
• NAT probes are enabled by default on network ports, but NAT traversal is not supported for IPv6. The probes
must be disabled before configuring an IPv6 uplink connection. Disable the NAT Probes Enabled parameter
on the NSG port configuration form before creating an IPv6 uplink connection. Refer to Configuring NAT-T
settings at the NSG Port level (page 143) for more information.
Feature support
IPv6 support is planned to be introduced over multiple releases of the VNS solution. The following table lists the
current level of IPv6 support for VNS features.
The following statistics are displayed graphically in the statistics window, and also available via ReST API:
• Bytes: total number of bytes egressing out of a queue
• Packet Count: total number of packets egressing out of a queue
To open the graphical display on the VSD UI, select the statistics button associated with either:
• network port, or
• network port/VLAN
There are two views:
• Bytes view: Transmit (Tx) and Received (Rx) Bytes.
• Packets view: Transmit (Tx)/Received (Rx) packets count, packets dropped count, errored packets count dis-
played.
To open the graphical display on the VSD UI, select the statistics button associated with the LTE connection uplink
(via Infrastructure -> NSG -> Port -> VLAN -> ).
Note: The VSD UI displays statistics data over a 2-hour window for a given start time. In the UI, the start time may
be varied but the window is fixed at 2 hours. However, via ReST, statistics for a longer duration may be retrieved.
• Ready: This state applies when the dongle is configured in auxiliary mode. The dongle is plugged in, but no
services running on it, and it is not connected to the network.
• Available: Reflects the initial state of the dongle.
Note: The states displayed on the VSD reflect the status of the modem processes on the NSG. In addition, the dongle
itself will have LED status indicators as defined by the provider.
To view information about the LTE dongle, select the information icon associated with the LTE connection uplink
(via Infrastructure -> NSG -> Port -> VLAN -> ). Note that some information in the example graphics below is
intentionally obfuscated.
===============================================================================
Virtual Switch Table
===============================================================================
vswitch-instance : va-10.15.3.254/5
Personality : NSG
Uptime : 0d 00:05:02 VM Count : 0
Num of hostIf : 4 Num of bridgeIf : 4
Num of multiVMs : 0
OF version : 1 OF nego. version : 1
OF Conn. port : 6633
Cntrl. role : primary Cntrl. Conn. type : tls
Cntrl. auth type : tls Cntrl. crl lookup : false
Cntrl. Conn. mode : secure
Cntrl. Conn. state : ready
Cntrl. client verification : false
Cntrl. client IP verification : false
Gateway Hold Time(sec) : 15 Gateway Echo Time(sec) : 5
Gateway Topic : nuage_gateway_id_194.211.53.254
Gateway Retry/Audit Time : 644
XMPP error code : 0
XMPP error text : (Not Specified)
JSON Conn. State : Up
Static Peer : False
Datapath-Id : va-194.211.53.254
-------------------------------------------------------------------------------
Dual Uplink Table
-------------------------------------------------------------------------------
IP Addr Preference Behind
NAT
-------------------------------------------------------------------------------
10.15.3.254 primary no
10.18.3.254 secondary no
-------------------------------------------------------------------------------
No. of Dual Uplink Mappings: 2
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
No. virtual switches: 1
===============================================================================
===============================================================================
NSG NAT Traversal Mappings
===============================================================================
------------------------------------------------------------------------------
Legend:
Flag : P -> Primary, S -> Secondary, V -> VXLAN, I -> IPSEC
------------------------------------------------------------------------------
Flags Service Datapath Id Public Private Site Owner
Id Ip Address Ip Address Id
Port
------------------------------------------------------------------------------
PV 20001 12.240.216.51 10.15.33.254 10.15.33.254 0 BGP_VPN
4789
PV 188.102.166.2* 10.15.1.254 10.15.1.254 0 NVC
4789
SV 208.166.92.194 10.18.3.254 10.18.3.254 0 NVC
4789
PI 12.240.216.51 10.15.33.254 10.15.33.254 0 BGP_VPN
4500
PI 188.102.166.2* 10.15.1.254 10.15.1.254 0 NVC
4500
PI 208.166.92.194 10.15.3.254 10.15.3.254 0 NVC
4500
------------------------------------------------------------------------------
No. of NAT Traversal Mappings: 6
------------------------------------------------------------------------------
===============================================================================
Virtual Port Ingress Advanced Fwding ACL Table
===============================================================================
VP Name : va-10.15.1.254/1/3
VLAN ID : 3
ACL UUID : 00000000-0000-0000-0000-000000000000
Priority : 0
Proto : 0
Src IP : 0.0.0.0/0
Min. Src Port : 0
Max. Src Port : 0
Min. Dest Port : 0
-------------------------------------------------------------------------------
Total No. of Ingress Adv Fwd ACL's: 1
===============================================================================
==============================================================================
Virtual Port Table
==============================================================================
VP Name G/W PortName VLAN ID VPRN EVPN
VP IP Address WiFi Vport
VP IPv6 Address
------------------------------------------------------------------------------
va-105.137.212.225/1/3 port3 3 1449530380 2003665765
20.0.0.4/24 False
n/a
va-105.137.212.225/1/4 port3 4 1449530380 2003665765
20.0.0.5/24 False
n/a
va-105.137.212.225/1/7 port3 7 1449530380 289558567
20.0.1.4/24 False
n/a
va-105.137.212.225/1/8 port4 16 1449530380 289558567
20.0.1.5/24 False
n/a
va-70.109.71.78/1/3 port4 3 1449530380 237822901
20.0.2.4/24 False
n/a
va-70.109.71.78/1/4 port4 4 1449530380 237822901
20.0.2.5/24 False
n/a
va-70.109.71.78/1/7 port4 6 1449530380 2133782633
20.0.3.4/24 False
n/a
va-70.109.71.78/1/8 port4 7 1449530380 2133782633
20.0.3.5/24 False
n/a
------------------------------------------------------------------------------
No. of virtual ports: 8
==============================================================================
This section lists CLI output samples for commands that are useful for monitoring and debugging network acceleration.
The following command can be used to view a list of available commands.
ipsec/show-in-sas summary|stats|detail
ipsec/show-out-sas summary|stats|detail
ipsec/show-tun summary|stats|detail
ipsec/stats display|reset
lacp/show [port]
list-commands
mdb/flush [bridge]
mdb/show bridge
memory/show
netdev-dpdk/detach pci address of device
netdev-dpdk/mbuf-info
netdev-dpdk/set-admin-state [netdev] up|down
ofproto/list
ofproto/trace {[dp_name] odp_flow | bridge br_flow} [OPTIONS...] [-
˓→generate|packet]
The following command can be used to view a list of all traffic flows on the alubr0 and netbr0 bridges.
-bash-4.2$ ovs-appctl -t vrs-dpdk dpif/dump-flows alubr0
tunnel(tun_id=0x472aa6,src=112.137.36.114,dst=40.61.143.51,tos=0xc0,ttl=62,flags(-df-
˓→csum+key)),skb_mark(0),recirc_id(0),in_port(12),eth(src=00:0b:ab:59:29:26,dst=00:00:
˓→0a:0a:32:01),eth_type(0x0800),ipv4(src=50.94.0.54,dst=50.50.0.
˓→60)),set(ipv4(src=50.94.0.54,dst=50.50.0.26,ttl=62)),set(skb_mark(0xc0)),11
4.5. Network Uplinks (Wired and LTE) 230
VNS User Guide, Release 5.3.2
The following command can be used to view a list of tunnels and ports with network acceleration enabled.
-bash-4.2$ ovs-appctl -t vrs-dpdk dpif/show
netdev@dpdk-netdev: hit:3700596560 missed:97971
alubr0:
alubr0 65534/2: (tap)
ti292022711dab3d0c 70/12: (vxlan: df_default=false, dst_port=5770,
˓→key=4663974, local_ip=40.61.143.51, remote_ip=113.34.32.41)
The following command can be used to view a list of IPsec in SAs and related statistics.
-bash-4.2$ ovs-appctl -t vrs-dpdk ipsec/show-in-sas stats
INDX SPI SRC DST DPORT PKTS AUTH_F CRYPTO_F OLD_SEQ SAME_SEQ
˓→PAD_ERR
The following command can be used to view a list of IPsec out of SAs and related statistics.
-bash-4.2$ ovs-appctl -t vrs-dpdk ipsec/show-out-sas stats
INDX SPI SRC DST DPORT PKTS AUTH_F CRYPTO_F OLD_SEQ SAME_SEQ
˓→PAD_ERR
The following command can be used to view network acceleration IPsec statistics.
outsa_add_alloc_failures : 0 outsa_del_success :
˓→ 7040 outsa_lkup_active_success : 850815464
outsa_add_tun_lkup_failures : 0 outsa_del_spi_lkup_failures : 0
˓→ outsa_lkup_backup_success : 0
outsa_add_success : 8072 outsa_del_tun_lkup_failures : 16
˓→ outsa_lkup_failures : 0
insa_add_alloc_failures : 0 insa_del_hash_failures : 0
˓→ insa_lkup_hash_failure : 0
insa_add_hash_failures : 0 insa_del_lkup_failures : 0
˓→ insa_lkup_success : 442501775
insa_add_dup_ignored : 480 insa_del_success :
˓→ 7360
insa_add_success : 7544
The following command can be used to view network acceleration global statistics and errors.
The following command can be used to view PMD statistics and view per-core utilization for network acceleration.
lost:0
idle cycles:42482768164080 (99.42%)
processing cycles:247887136940 (0.58%)
avg cycles per packet: 564242.65 (42730655301020/75730992)
avg processing cycles per packet: 3273.26 (247887136940/75730992)
main thread:
emc hits:0
megaflow hits:0
avg. subtable lookups per hit:0.00
miss:0
lost:0
idle cycles:1685390056 (100.00%)
processing cycles:0 (0.00%)
The following command can be used to view per-port statistics. Valid port options are <uplink>-net, dpdkr1,
and <access>.
Port port1-net
FIVE
NETWORK SERVICES
236
VNS User Guide, Release 5.3.2
5.1.1 Overview
In a VNS deployment, it is expected that multiple hosts are connected to the NSG via one or more host ports and/or
bridge ports as depicted in the figure Host Connectivity to NSG via Host and Bridge Port Types (page 237). Whenever
a virtual port is instantiated in a domain, a unique IP address may be assigned based on the subnet to which it belongs.
The DHCP on Bridge Ports feature refers to NSG’s ability to service requests from multiple unique hosts connected
behind the same vPort-type bridge and allocating a unique IP address to all such host requests.
The NSG serves as the DHCP server for the subnet. The DHCP pool is created in the VSD as part of the subnet
definition. In addition, the feature also allows for static MAC-to-IP address bindings to be defined in the VSD in order
to assign specific IP addresses for a set of MAC addresses.
Fig. 5.1: Host Connectivity to NSG via Host and Bridge Port Types
It is not mandatory to define a DHCP pool. The NSG will service DHCP requests differently depending on whether
such requests are received over a host or bridge vPort type:
• IP address assignment for DHCP request received on vPort Host:
– IP address assignment for host ports is handled by the VSD
– If a DHCP pool type “host” is defined then the host is assigned an IP address from the specified range.
– If not defined, then the host is assigned from the address range = subnet range - DHCP pool type “bridge”
• IP address assignment for DHCP request received on vPort Bridge:
– IP assignment is handled locally by NSG.
– If a DHCP pool type “bridge” is defined then the host is assigned an IP address from the specified range.
– If it is not defined, then any request on vPort Bridge will not be serviced.
There is a global DHCP IP lease expiry timer associated with the Organization profile that applies to all subnets defined
in the VSD. Default is 24 hours.
When a DHCP address is allocated by the NSG to a client, the client may send a DHCP Decline message if it deter-
mines that the IP address is already in use by another host. The DHCP decline handling is as follows:
• On receipt of decline message, the offered IP address will be moved to a decline list for a non-configurable
duration of one hour provided no ARP is learnt with that IP from another port. After the hour timer expires, the
IP address is moved back to the available list.
• In case ARP is learned for a declined IP, that IP is moved to allocated list and when the ARP entry expires, the
IP will be moved to available list for DHCP allocation.
When a subnet is defined, either at template or instance level, a DHCP address pool for IP address alloca-
tion/management is specified. From the provisioned address range, either the entire subnet or a part of it can be
specified for IP address allocation via DHCP on a bridge or host ports.
In addition, at the subnet instance level, selected hosts (i.e. specified MAC address) can be assigned static IP addresses.
So if the DHCP request matches a configured MAC address, then the configured IP address is assigned to the host.
2. In the Organization view, navigate to Networks -> (Layer 3 Domains ), and select a Domain -> Zone ->
Subnet for which DHCP Address Pool is to be defined.
3. Once a subnet is selected, click on the icon on the far right. The Address Ranges list is displayed (if already
defined). An existing address Range can be edited ( ) or a new address range can be added ( ) via the
popup New Address Range (page 239).
4. In the popup, specify Address Range by entering the First Address and the Last Address. In addition, the DHCP
Pool Type may be selected as Bridge or Host.
5. In order to create static binding of MAC addresses to IP addresses, select the icon for IP Reservations at
the top of the far right panel. Any existing static bindings will be listed and may be edited ( ) and/or new
bindings can be added ( ) using the New IP Reservation popup.
6. In the popup, a valid MAC address and IP address from the subnet range can be entered to create the static
binding.
Existing DHCP address ranges can be expanded or shrunk even when there are existing vPorts and host/bridge inter-
faces configured on the subnet. However, if static IP addresses would be impacted, address range expansion is not
permitted. If there are static IP bindings defined and an address range shrink is attempted, the VSD prompts the user
to confirm before proceeding. If the action is confirmed, the static IP bindings are automatically deleted.
If IP addresses fall outside of a shrunken address range, they are allocated a new IP address when the lease is renewed.
Consider the following scenarios regarding IP address reallocation. In the following scenarios, host1 is assigned IP9.
The address range 1-10 has been reduced to 2-5.
• When host1 renews the lease on IP9, the NSG sends a NAK message and offers a new available IP address from
the shrunken address range, such as IP2.
• When host1 renews the lease on IP9 and host2 has been assigned IP9, there is an IP conflict until the host1
renews its lease and is assigned a new IP.
• When host1 renews the lease on IP9, but a new address range 6-10 is defined, the lease is successfully renewed
and the IP address is not reallocated.
• Host1 renews the lease on IP9, but a new address range 6-10 is defined. A static reservation MAC2:IP9 is
defined, and host2 with the same MAC2 address requests an IP address. IP9 is assigned to host2, resulting in an
IP conflict. If host2 detects the duplicate IP and declines it, IP9 is no longer offered to host2. If host2 accepts
IP9, host1 is reallocated a new IP address.
Existing DHCP address ranges can be deleted only if there are no host or bridge interfaces configured on the subnet.
All interfaces on the subnet must be deleted before the address range can be deleted.
If vPorts are configured on the subnet with no interfaces, existing DHCP address ranges can be deleted or modified
without restriction.
DHCP lease times can be specified at the subnet or enterprise level. A DHCP lease time may also be requested by the
client. The preference order for the lease time to be used is as follows:
1. If specified, the lease time on the subnet is always preferred.
2. If a lease time is not specified on the subnet, the client lease time is preferred.
3. If neither the subnet nor the client specifies a lease time, the enterprise lease time is used.
Note: In the scenario where lease times are specified by the client and the enterprise, but not the subnet, the client-
requested lease time is used. However, if the client IP is deleted and the link flaps before requesting a new IP without
specifying a client lease time, the enterprise-specified lease time is not used. Instead, the last-known client-requested
lease time is still used.
DHCP Support
===============================================================================
DHCP Pool Range Table
===============================================================================
Start Address End Address Domain Name Subnet Name
-------------------------------------------------------------------------------
+----------------+------------------+-------------------+-----------------+
| 20.0.1.5 | 20.0.1.100 | ncpeDomain1 | ncpeEvpn2 |
+================+==================+===================+=================+
| 20.0.0.5 | 20.0.0.100 | ncpeDomain2 | ncpeEvpn4 |
+----------------+------------------+-------------------+-----------------+
| 20.0.6.5 | 20.0.6.100 | ncpeDomain2 | ncpeEvpn4 |
+----------------+------------------+-------------------+-----------------+
| 20.0.7.5 | 20.0.7.100 | ncpeDomain2 | ncpeEvpn4 |
+----------------+------------------+-------------------+-----------------+
-------------------------------------------------------------------------------
No. of DHCP Pool Ranges: 4
===============================================================================
===============================================================================
DHCP Static Mapping Table
===============================================================================
Ip Address Mac Address Domain Name Subnet Name
-------------------------------------------------------------------------------
20.0.6.99 ca:12:12:12:12:12 ncpeDomain2 ncpeEvpn1
-------------------------------------------------------------------------------
No. of Static DHCP Mappings: 1
===============================================================================
5.2.1 Overview
The Nuage NSG connects the access or LAN side of an enterprise network and the WAN-facing network uplinks. The
current NSG hardware is deployed as a standalone unit with no in-built resiliency, and an enterprise may experience
widespread outage due to NSG or network link related failures. The access resiliency feature addresses resiliency of
the access side links of the NSG or alternatively can be viewed as port resiliency for the NSG. Access-side resiliency
feature enables NSGs co-located at a single customer site to be deployed as a redundant pair whereby one NSG is
designated authoritative and the other as secondary. In the event of a failure, the NSG pair serves as backup for each
other for traffic forwarding purposes.
Another feature called Dual Uplink provides redundancy for the network uplinks. The two features are complementary
and an organization may deploy any combination of single/redundant NSGs with single/dual uplinks.
5.2.2 Terminology
• Backup: Refers to the NSG entity that will assume the responsibility of forwarding the traffic when the master
fails.
• Authoritative refers to the NSG or port that is configured to be the designated master.
• Secondary is standby or backup NSG or port.
• RG Member Designation: Configured as either “authoritative” or “secondary”
• Resilient Subnet: A subnet becomes resilient on attaching/resolving a resilient vPort to it. All hosts present in
the subnet are expected to be resilient and connect to the NSG via a switch or a router (i.e. not directly attached
to the NSG). Only the ports that are part of the RG can be associated with resilient subnets.
• RG Ports: Access ports that are members of an RG for offering protection during failure. Only the RG ports
can be associated with resilient subnets.
The feature enables two co-located NSGs’ deployed at a single customer site to be designated as a Redundant Group
(RG), whereby one NSG will act as a master NSG and the other acts as backup to provide access side resiliency. The
feature utilizes the detection of LAN side port-failure to trigger the mastership to change to the backup NSG. The
failure detection is implemented using a heartbeat mechanism between the NSGs. The capability is also supported for
the NSG-BR personality (page 178).
Note: Every 10s the DHCP lease information is exchanged between the RG NSGs.
RG Creation Considerations
• The RG NSGs can have different port counts. For instance, one NSG can have 6 ports and the other 8 ports.
• A resilient subnet can support a maximum of one vPort.
• NSGs can have more than one RG ports.
• Each RG NSG can have an active OF-TLS session established to the same or different VSC controller(s).
• A subnet cannot have a combination of resilient and non-resilient ports. In other words, a subnet may have either
one resilient port or multiple non-resilient ports.
• At any one time, only one RG NSG is forwarding for any subnet instance.
• RG NSGs cannot be inter-connected physically via a dedicated link.
• RG ports cannot be added to a RG with a single NSG.
• The backup NSG will detect a heartbeat protocol timeout and assume mastership by reporting the change to the
VSC. It is assumed that the vPorts on the backup NSG are already resolved.
• vPorts on the master NSG will be de-resolved.
• VSC will advertise the backup NSG as the next-hop for the LAN subnets
• Upon port recovery, once the heartbeat is established, the mastership is resumed by master NSG.
A direct physical port failure on the secondary NSG does not trigger any changes in VSC route advertisements. Also
the behavior is unchanged for NSG with single or dual uplink(s).
• Until vPorts are not de-resolved on the master NSG, and as long as the master NSG responds to the heartbeat
messages, master NSG retains mastership in the RG.
• Once the vPorts are de-resolved on the master NSG, backup NSG claims mastership.
• Once the OF-TLS session is reinitiated, the master assumes ownership of forwarding traffic.
An RG can be created out of two instantiated gateways by a CSPRoot or enterprise administrator at the organization
level. In this step, the user designates an authoritative and a secondary NSG.
1. Select two NSGs and click on the icon which will open the New Redundancy Group popup.
2. Enter a Name and Description for the RG.
3. The selected NSGs will get designated as Authoritative and Secondary. The designated roles can be switched
using by clicking the little X icon in the middle of the popup, between the peers. If the group is created with one
NSG selected, then it will be designated as Authoritative, and the user will have to associate a secondary NSG
separately.
4. Enter a VLAN number for the Heartbeat VLAN (default is 4094). This will serve as a reserved VLAN used
for hearbeats for each resilient physical access port. Enter 0 to create an untagged VLAN.
Note: If you attempt to change a tagged control VLAN to untagged, then any existing VLANs on RG ports will have
to be deleted before you can proceed.
5. Enter a Heartbeat Interval in milliseconds to declare the master dead. Defaults is 500 ms. Valid range is 500
ms to 2000 ms. After three consecutive failures, the backup NSG declares itself as master.
6. Click Create to form the RG.
Note:
• The RG group can have a bootstrapped and a non-bootstrapped NSG to form a RG.
• The non-bootstrapped NSG will need to be bootstrapped before it can participate in any services, which means
that the non-bootstrapped NSG can only act as a secondary.
• An RG with one NSG is not permitted.
• On breaking up an RG group, the master NSG retains the service configuration while the service configurations
are removed from the secondary NSG.
• RG ports have to be added to the RG pair to create resilient ports.
Modifying an existing RG
1. To modify a redundancy group, either right click the group and select Edit, or select the group and click the
pencil icon at the bottom of the panel.
2. To change both NSGs in an RG group, the existing group has to be deleted and a new RG group with the selected
NSGs must be created.
3. Only a secondary NSG may be removed or replaced from an RG. However, the secondary NSG should not have
vPorts on the RG ports resolved. Upon removal, the service configuration on the secondary NSG will be deleted.
4. The user can switch the designated roles of the authoritative/secondary NSG. The designated roles can be
switched using by clicking the little icon in the middle of the popup, between the peers.
Deleting an existing RG
To delete a redundancy group, either right click the group and select Delete, or select the group and click the minus
icon (-). To complete the operation, click the red confirm button.
Add RG Ports
1. Select an RG and select click the plus sign (+) at the bottom of second panel from the left for Redundant Port.
2. The New Redundant Port popup appears. The popup will list all the available common ports. Select ports from
the list that will be part of the RG and click Create. After the creation of the first port, it will be displayed in the
panel, and you can right click it to add additional ports, edit, or delete them or continue to use the plus sign.
Note: An RG port will appear in the individual gateway instance as a “read only” port.
If the port profiles of the selected RG ports are different, then the port profiles for the secondary NSG will be over-
written with the port profiles of the authoritative NSG. A warning will be displayed that the port profiles for protected
ports are different and will overwritten during the next configuration window.
Note: While adding a port to RG, it should not have any vPorts on it.
1. Select a RG Port and select click the plus sign (+) at the bottom of third panel from the left for VLANs. When
a RG port is created, a control VLAN is displayed as read-only and cannot be modified by a user.
2. A new VLAN popup appears. Only VLAN numbers that are not the same as the control VLAN will be accepted.
3. On the far right panel is a checkbox to create an untagged control VLAN for the selected port. When the
checkbox is selected, the tagged control VLAN will be automatically deleted. However, if there are any existing
VLANs on the port, then an error will be displayed when Update (at the bottom of the screen) is clicked to
complete the operation. Thus, it is recommended that you first remove any existing VLANs and then initiate the
creation of the untagged control VLAN.
Note: The switch ports option can be used to switch the master/backup roles of the NSGs for the selected port.
1. This is similar to creating VPorts on an NSG. However instead of selecting an NSG, a RG must be selected in
the workflow.
Note:
• RG port member vPorts belonging to a secondary NSG do not forward/respond to arp etc.. All traffic will be
dropped in secondary NSG.
• vPorts are created on both NSGs.
• Host and Bridge vPorts of a subnet cannot be present in both resilient and non-resilient ports.
Important: Refer to the Nuage VNS Release Notes for all the supported use case scenarios involving interactions
with features such as dual-uplink etc..
Egress/Ingress QoS:
• The ports that are part of the RG do not automatically inherit the ingress QOS profiles from the authoritative
NSG.
• The QOS profiles need to be attached to the P/V constructs for both authoritative and secondary NSGs.
For resilient subnets that have PAT enabled, there are two cases:
• PAT to the uplink IP: The source IP of the outgoing packet will be the uplink WAN IP address of the NSG that
is operationally the master. If the NSG has two uplinks, then the dual uplink feature will dictate which uplink
gets selected.
• PAT Pools: The source IP of the outgoing packet will be the configured IP address from the pool specified for
the NSG that is operationally the master.
Note: It is expected to have two independent PAT pools per NSG forming the RG pair. PAT provisioning workflow
will remain unchanged as a result of this feature.
5.3.1 Overview
The Port Address Translation (PAT) feature addresses local Internet offload uses cases when the Nuage NSG is de-
ployed as a WAN router for connectivity to business Internet services. The following scenarios are supported whereby
LAN subnet traffic is routed to the underlay for Internet access instead of connecting to an overlay VPN:
• Private LAN subnets are not Internet routable and therefore must be mapped to a single routable public IP
addresses which get advertised to upstream PEs.
• Private LAN subnets host certain services that must be accessed from external networks, and therefore must be
mapped 1:1 to routable public IP addresses and allow incoming connection requests even when the internal host
has not initiated a request.
• LAN-side hosts have routable public IP addresses, therefore traffic from such hosts is required to be sent to the
underlay without PAT.
In order to address all the local Internet offload use cases, the following address translation configurations are offered:
• PAT where private user/application IP addresses are mapped to a single external routable address (referred to as
PAT IP). The single external routable address can be the IP address of the WAN uplink or an IP address that is
specified from a configured address pool. If the PAT IP is not defined, it defaults to the WAN uplink IP address
(provided the behavior is enabled via configuration).
• 1:1 NAT (or Static Source NAT) where private IP address of an external facing user/application is statically
mapped to an external routable address.
• N:1 PAT (or Static Port Forwarding) where private IP address and port of an external facing user/application is
statically mapped to an external routable address and port. This is more restrictive than static 1:1 NAT capability
because only certain ports are exposed to public as compared to all ports.
• Dynamic Source NAT (DSNAT) where private IP address of any external facing user/application in a subnet is
dynamically mapped to an external routable address in the defined address pool. In other words, with DSNAT,
hosts in an NSG subnet will dynamically be assigned outside IP addresses from the pool, and not be limited to
a single IP (with a maximum of 65000 ports).
DSNAT feature must be explicitly enabled, via a flag, when the address pool is defined. The pool for which the flag
is enabled is referred to as a DSNAT pool. The entire DSNAT pool range is added by the VSC into the BGP underlay
as individual /32 routes pointing back to the NSG. The default conntrack timeouts are used to clear out the dynamic
address translations to free up the IP addresses for re-assignment.
Address pools are created by the CSPRoot and assigned to enterprises for consumption.
Note: Release 4.0.R1 onward, the address pools have a per network port/VLAN scope to allow for enterprise owned
portable pools. Any existing configurations with pools assigned to NSG instances will continue to be supported from
a forwarding perspective.
However, to take advantage of the port translation feature enhancements introduced in 4.0.R1, it is recommended that
the any pools assigned to NSG instances be delinked and equivalent pools using a begin-end range format be associated
with that same NSG instance or with the network port/VLAN of the NSG instance instead.
Note: PAT pools with default source IPs in the same subnet as a PPPoE uplink IP are not supported.
The following Local Internet Offload use scenarios are supported by configuring the necessary parameters.
Note: Following example scenarios assume single uplink with address pool assigned to untagged VLAN of Port 1
(referred to as Port 1 for readability in each scenario). For dual uplinks, the address pools will be per port/VLAN and
default forwarding behavior of Primary over Secondary will apply.
Scenario 1: Customer wants all domain service traffic to go directly to the Internet using the WAN uplink on Port 1.
Configure as follows:
Domain Address Translation Support Enabled
Subnet Address Translation Support Enabled or Inherited
Domain Underlay Support Enabled
Subnet Underlay Support Enabled or Inherited
Port 1 Address Pool Not Configured
Scenario 2: Customer wants all domain service traffic to go directly to the Internet using a public IP address that is
not the WAN uplink IP address. This would be the case if the customer wants to keep the transport provider’s address
separate from the public address for service routing. It is assumed that there is a route, provisioned by the WAN
transport provider, to reach the non-WAN public IP address. Configure as follows:
Domain Address Translation Enabled
Support
Subnet Address Translation Enabled or Inherited
Support
Domain Underlay Support Enabled
Subnet Underlay Support Enabled or Inherited
Port 1 Address Pool Configured with a default PAT pool IP address (non-WAN uplink IP
address)
Scenario 3: Customer wants to locally offload traffic from some subnet(s) in a domain while preserving the source IP
address. Configure as follows:
Domain Address Translation Support Enabled
Subnet Address Translation Support Disabled
Domain Underlay Support Enabled
Subnet Underlay Support Enabled or Inherited
Port 1 Address Pool Not Applicable
Scenario 4: Customer wants to invoke PAT’ing for specific subnet(s) in a domain allowing traffic to go directly to the
Internet using the WAN uplink IP address. Configure as follows:
Domain Address Translation Support Disabled
Subnet Address Translation Support Enabled
UDomain Underlay Support Enabled
Subnet Underlay Support Enabled or Inherited
Port 1 Address Pool Not Configured
Scenario 5: Customer wants to create 1:1 NAT mapping using public IP addresses that are not the WAN uplink address
or the default pool IP address. It is assumed that there is a route, provisioned by the WAN transport provider, to reach
all such public IP addresses. Configure as follows:
Note: When traffic from any subnet is to be tunnelled via the overlay, the Subnet Underlay Support flag MUST be
set to Disabled. The reason is that if a route it not found in the overlay, then the desired behaviour for such traffic is
that it be dropped, and not be inadvertently offloaded to the Internet.
Assuming that address pool support and underlay support is enabled at domain and inherited at subnet level, forwarding
is as follows (assuming single uplink and address pool assigned to NSG):
1. For traffic sourced from the LAN destined to WAN
• If address translation pool is not configured, then the NSG will PAT to the underlay using the network uplink
port IP address
• If address translation pool is configured, then the forwarding is determined by matching port mapping rules in
the following order:
– 1:1 NAT
Underlay routing and NAT can be enabled at the uplink level. In a dual uplink scenario, this means that one uplink
can be configured for underlay routing to the MPLS WAN and one uplink can be configured for underlay NAT to the
Internet.
Per uplink NAT is supported as part of the SaaS routing solution See Per uplink NAT (page 566) in the “SaaS routing”
chapter for more information.
Address pools with exactly or partially overlapping private IP address ranges are supported and can be assigned to
uplinks on different NSGs. This allows you to use 1:1 or N:1 address maps when the address pool contains private IP
addresses within a subnet that is reused across multiple NSGs.
Consider the following when configuring PAT pools with overlapping IP ranges:
• Overlapping address pools can be assigned to two uplinks on the same NSG.
• Overlapping address pools are supported with redundancy groups only with BGP configured on the uplinks and
with both NSGs on different CPEs.
• Although identical address pools can be created and assigned to NSGs in VSD, the same address pool object
cannot be assigned to multiple NSGs.
Note: Overlapping PAT pools are intended to be used with private IP address ranges or on disjoint underlays.
However, the VSD does not prevent you from configuring overlapping public IP address ranges. These public ranges
would be advertised by BGP on the WAN or from the VSC.
Consider the following when defining address ranges for NAT or PAT pools:
• There can be multiple pools associated with a single uplink port/VLAN instance, provided the address ranges
do not overlap.
• Separate pools can be assigned to each uplink on a dual uplink NSG.
• A maximum of one PAT IP can be defined across all pools assigned to one uplink port/VLAN instance. Dual
uplink NSGs can have up to two PAT IPs - one per uplink.
• A host (located in a LAN) can have only one 1:1 NAT mapping entry across all the pools assigned to a single
uplink.
• A LAN-side host can have up to two 1:1 NAT entries - one per pool per port.
• A host can have multiple N:1 PAT entries in one or more pools regardless of which port instance the pools are
attached to.
Enabling PAT
The feature can be enabled or disabled at the domain level. By default it is disabled at domain level.
Note: It is strongly recommended that PAT and Underlay Support be enabled at the domain level to allow the
enablement of PAT at subnet level once vPorts are resolved.
If PAT is enabled at the domain level, then all subnets are eligible to be PATed by inheritance (default). PAT may be
enabled or disabled selectively at subnet level.
The following workflow describes how PAT and Underlay Support can be enabled/disabled at the Domain and Subnet
Instance level.
1. In the Organization view, navigate to Networks -> Layer 3 Domains ( ) -> Design. Select an instantiated
domain displayed in the the Layer 3 Domains panel.
2. Once the domain is selected, the feature can be enabled or disabled using the Domain level parameter “Address
Translation Support” on the right side of the screen in the Address Translation sub-section as shown in the figure
Domain Level Parameters (page 261). The parameter can be set to Enabled or Disabled. Default is disabled.
3. For the selected domain, the “Underlay Support” parameter can be set to enabled (local offload) or disabled
(drop). The default is disabled.
4. On the selected domain, the topology can be expanded to display the defined zone and subnets. By selecting
a specific subnet, the subnet level parameter for “Address Translation Support” can be set to either Inherited,
Enabled, or Disabled as shown circled in Subnet Level Parameters (page 262) . The default is inherited which
means that it will inherit the Domain level setting. Otherwise the user can select an explicit Enabled or Disabled.
5. For the selected subnet, the “Underlay Support” parameter can be set to enabled or disabled. The default is
inherited which means that it will inherit the Domain level setting.
Note: Prior to 4.0.R1, the pools had a gateway instance scope. It is recommended that the address pools be unlinked
from the NSG instances and added to network port(s) VLAN.
• A network port VLAN can have multiple pools assigned. However, at most one pool must have a default IP
configured.
• 1:1 NAT and N:1 PAT entries can be added once an address pool is assigned to an instance. The workflow is
described in more detail as follows:
3. Select the Infrastructure tab, and click on Address Translation Pools icon . The window displays a list of
existing address pools (if they exist). Click on towards the bottom of the screen to create a new address pool
which appears as a popup displayed in Figure Defining a new Address Translation Pool (page 263).
4. Enter the Name, Description, a pool of IP addresses, and optionally a Port Address Translation IP (default
IP) address from the pool that will be used for PAT.
It is recommended that the default IP be defined by the Enterprise admin when assigning the pool to the network port
VLAN. In case a default IP address is specified by CSPRoot, then the enterprise administrator may override it.
The address pool is specified as a range using a start address (First IP) (e.g. 135.10.0.24) and an end address (Last
IP) (e.g. 135.10.0.34). The entire range, inclusive of First:Last IP addresses will be used.
Note:
• The First:Last IP addresses must be unicast IP addresses and cannot be part of special purpose IP ranges as
specified in RFC6890 (0/8, 127/8, 169.254/16, 224/4, 240/4, 255.255.255.255/32).
• A maximum of 16 IPs can be defined in any pool, with a maximum of 32 across all pools.
Note: If the address pool is in a different subnet than the WAN uplink IP address, then refer to Advertising Address
Pools (page 266) for ensuring that return traffic can be correctly routed from the network to the configured address
range.
5. For Enterprise Address Translation Pool Assignment, click on the icon which pops up a list of existing
enterprises, from which one enterprise can be selected. CSPRoot can assign more than one address pool to an
enterprise.
6. Check Dynamic Source NAT (if DSNAT capability is desired) and specify the source address range using the
Start Source Address and End Source Address fields. A pool with DSNAT flag enabled is referred to as
DSNAT pool.
If the start and end source addresses are not specified, then there is no specific source matching and will serve as
default source match.
Note:
• There can be at most one DSNAT pool with both start and end source addresses not specified.
• If DSNAT is enabled, then default PAT IP is not applicable and will not be allowed.
• If DSNAT is enabled, then address map creation is also not applicable and not allowed.
1. At the Enterprise level, the CSPRoot or the Enterprise administrator can assign one or more of the created
address pools to an NSG or network port VLAN.
2. For assigning pool to NSG, select the NSG instance by navigating to Infrastructure -> NSG . On the far
right, click on the icon for associating address pools. If a pool is already assigned, it will be listed in the
column below the icon.
3. For assigning pool to network port VLAN, first select the NSG by navigating to Infrastructure -> NSG .
From the Ports panel select the network port (port1 or port2) and the VLAN from the VLAN panel. On the far
right, click on the icon for associating address pools. If a pool is already assigned, it will be listed in the
column below the icon.
4. Depending on whether it is a first time assign or not, either icon or icon will be displayed towards the
lower part of the panel. Clicking on the icon will pop up a list of address pools available (for the enterprise) for
consumption as shown in Assigning an address pool to network port VLAN (page 265)
Note:
• Multiple pools may be assigned, but a maximum of one pool may have a default IP address configured. So if
you assign one pool with a default IP address, and then attempt to assign another pool that also has a default IP
address, you will receive a validation error and will not be able to proceed.
• When assigning pools, you can have only one pool with default source match, that is either a regular pool with
default IP or a DSNAT pool with both start and end addresses not specified.
1. The CSPRoot or the enterprise admin can also define 1:1 NAT map and N:1 PAT map from an address pool.
2. Navigate to the address pools specified for the enterprise, by selecting the Infrastructure tab, and clicking on
Address Translation Pools icon . The window displays a list of existing address pools (if they exist).
3. Select an address pool and click on icon or icon in the Address Maps panel of the screen which will
popup a New Address Map screen in which the static binding (1:1 or N:1) can be configured using IP addresses
There are two options for ensuring that return traffic can be correctly routed from the network to the configured address
range:
1. Static routes
Configure a static route on the upstream router for the address pool subnet with the NSG uplink IP address as next-hop.
2. Route Advertisements from VSC
The VSC leaks the default IP, and the public IP’s from 1:1 NAT maps and N:1 PAT maps (referred to as “PAT Pool
routes” hereafter) into the base routing table, with the NSG uplink IP as the next-hop. These routes are installed in the
VSC route table as “Remote Static” routes with the lowest preference of 255.
To advertise the PAT Pool routes to BGP peered PE routers, the Remote Static routes can be exported as IPv4 routes
using BGP import policies (refer to 7750 user guide).
Pools associated with a network port VLAN:
The PAT pool routes will be leaked with a next-hop that equals the uplink IP address of the network port VLAN the
pool is associated with.
The VSC will leak the PAT pool routes for the address pool(s) associated with the network port from which the open
flow connection is established.
Pools associated with an NSG:
In the case of dual uplinks, the address pool is reachable from both uplinks, all connected VSCs leak the PAT Pool
routes in their base routing table with both uplink IPs as next-hops.
PAT statistics collection is enabled by default when PAT is enabled at the domain level.
The PAT statistics may be:
• Viewed graphically via the Statistics display window on the VSD UI,
• Retrieved using CLI on the primary VSC
• Accessed via VSD ReST API.
Note: For network ports, the collection interval is set to 60 seconds and is not configurable.
An address translation pool which can be selected using either of the following two navigation options:
• Navigate to Infrastructure -> NSG -> Address Translation Pool ), Select a pool and click on the statistics
button associated with the pool.
• Navigate to Infrastructure -> NSG instance -> NS Ports -> VLANs, and select address pool icon on the
upper right, which will display a list of available pools in the right most panel. Select a pool and click on the
statistics button associated with the pool.
1. If the selected pool has Dynamic Source NAT disabled, then the statistics window displays all the configured
address maps and provides a Bytes or Packets view of ingress (In) and egress (Out) traffic for one or more
address map(s).
Note: If Ingress/Egress rate is same, then the color overlaps and only one colors is displayed. Select In or Out to view
individual statistics for ingress/egress.
2. If the selected pool has Dynamic Source NAT enabled, then the statistics window displays a combined count
for all DSNATed traffic (all egress traffic which is source NAT’ed via the Dynamic Source NAT IP tables rule).
A Bytes or Packets view may be selected for egress (Out) statistics.
Fig. 5.23: Statistics for Dynamic Source NAT-enabled Pool (Packets View)
Navigate to Infrastructure -> NSG -> Address Translation Pool ) -> Address Maps, and select a specific map.
Click on the statistics button associated with the selected static address map. A Bytes or Packets view may be
selected for ingress (In) or egress (Out) statistics.
Note: If Ingress/Egress rate is same, then the color overlaps and only one colors is displayed. Select In or Out to view
individual statistics for ingress/egress.
Fig. 5.24: Statistics for Specific Static Address Map (Bytes View)
Navigate to Infrastructure -> NSG instance -> NS Port -> VLANs, and select the untagged VLAN for the network
port. Click on the statistics icon associated with the VLAN0. A Bytes or Packets view may be selected for egress
(Out) statistics for traffic PAT’ed to Default IP or Uplink IP (as applicable).
1. NSG Datapath Id is 154.78.127.221 and Dut-G is the VSC on which the command is run:
===============================================================================
Gateway Ports PAT Information Table
===============================================================================
PAT Config :
Default PAT IP : 8.8.8.10
-------------------------------------------------------------------------------
PAT Pool UUID : 13347338-4133-4ed7-81a3-6775bf4c190b
PAT Pool : 8.8.8.1 to 8.8.8.10
NAT Map Info :
NAT Map UUID : 5ee4fdcd-fcf5-4369-a372-5784cd108a8b
Private IP address : 20.0.0.5 Public IP address : 8.8.8.5
Private Port : 2000 Public Port : 20000
NAT Map Type : N:1 PAT
===============================================================================
Gateway Ports PAT Information Table
===============================================================================
3. Display PAT pool routes in the underlay. Assumption is that the VSC and Uplink Router are BGP peers and
capable of exchanging “IPv4” BGP routes.
In these examples, Dut-G is the VSC, Dut-F is the uplink router and Dut-I (10.20.1.9) is the BGP RR (route-reflector);
that is both the VSC and uplink router are BGP peers with the RR.
Step 1: The VSC (controller Dut-G) leaks these routes in the underlay route table with the respective uplink next-hop.
===============================================================================
Route Table (Router: Base)
===============================================================================
Step 2: User must configure a BGP policy on the VSC to export static-routes via BGP IPv4 and then apply the policy
under BGP:
*A:Dut-G>config>router# bgp
*A:Dut-G>config>router>bgp# info
----------------------------------------------
family ipv4 vpn-ipv4 evpn
connect-retry 5
hold-time 120
min-route-advertisement 1
export "VSPnoTunnelsBGPPolicy"
router-id 10.20.1.7
rapid-withdrawal
rapid-update evpn
group "test"
neighbor 10.20.1.9
med-out 100
peer-as 1000
exit
exit
no shutdown
----------------------------------------------
Step 3 : The pat-pool routes (/32s for the default IP and public IPs in the address maps) should now be available on the
uplink router (Dut-F in this example) pointing to the correct respective next-hop routing towards the respective uplink:
===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
7.7.7.1/32 Remote BGP 00h06m59s 170
10.10.1.2 0
7.7.7.2/32 Remote BGP 00h06m59s 170
10.10.1.2 0
7.7.7.3/32 Remote BGP 00h06m59s 170
10.10.1.2 0
8.8.8.4/32 Remote BGP 00h06m59s 170
10.10.2.3 0
8.8.8.5/32 Remote BGP 00h06m59s 170
10.10.2.3 0
8.8.8.10/32 Remote BGP 00h06m59s 170
10.10.2.3 0
--------------------------------------------------------------------------------------
˓→-------------------------------------------
Commands to see the advertised (from VSC) and received (by uplink router) BGP IPv4 routes:
===============================================================================
BGP IPv4 Routes
===============================================================================
Flag Network LocalPref MED
Nexthop Path-Id VPNLabel
As-Path
-------------------------------------------------------------------------------
? 7.7.7.1/32 100 0
10.15.1.254 None -
No As-Path
? 7.7.7.2/32 100 0
10.15.1.254 None -
No As-Path
? 7.7.7.3/32 100 0
10.15.1.254 None -
No As-Path
? 8.8.8.4/32 100 0
10.18.1.254 None -
No As-Path
? 8.8.8.5/32 100 0
10.18.1.254 None -
No As-Path
? 8.8.8.10/32 100 0
10.18.1.254 None -
No As-Path
-------------------------------------------------------------------------------
Routes : 6
===============================================================================
===============================================================================
BGP IPv4 Routes
===============================================================================
Flag Network LocalPref MED
Nexthop Path-Id VPNLabel
As-Path
-------------------------------------------------------------------------------
? 7.7.7.1/32 100 0
10.15.1.254 None -
No As-Path
? 7.7.7.2/32 100 0
10.15.1.254 None -
No As-Path
? 7.7.7.3/32 100 0
10.15.1.254 None -
No As-Path
? 8.8.8.4/32 100 0
10.18.1.254 None -
No As-Path
? 8.8.8.5/32 100 0
10.18.1.254 None -
No As-Path
? 8.8.8.10/32 100 0
10.18.1.254 None -
No As-Path
-------------------------------------------------------------------------------
Routes : 6
===============================================================================
5.4.1 Overview
The PAT to Overlay feature enables the NSG with a distributed destination based PAT function from a branch domain
to a local or remote destination domain. The destination domain can be shared by multiple branch or source domains.
The requirement arises when domains with overlapping IP addressing need to communicate. For example when
multiple source domains require access to a destination domain. A destination domain subnet can be local to the
branch or remote.
Use Case Scenario 1: The NSG is deployed in a shared office environment, where multiple domains need access to a
shared resource such as a printer or local web server.
Domains DOM_A and DOM_B have subnets with overlapping IP addresses on the same NSG. Packets from DOM_A
and Dom_B destined to a DOM_Shared specific route will be PAT’ed into DOM_Shared
Use Case Scenario 2: Is a variation of Scenario 1 where the destination domain DOM_Shared is in a remote, say DC
location, and hosts ERP, NTP, NFS type functions.
Use Case Scenario 3: Is a case for 1:1 NAT capability in the overlay. The 1:1 NAT mapping allows a branch host
to be accessed from the shared domain. For example this enables a B2B services model. This typically requires two
or more existing business networks with potentially overlapping IP addresses to be integrated without changing the IP
addressing.
The feature utilizes Domain Linking capability.
Note: In the case where the shared domain is connected to a core nextwork via BGP, PAT pools are not advertised to
BGP neighbors on the uplinks of NSGs in the shared domain. Only locally learned BGP routes are advertised to BGP
neighbors on the uplink.
5.4.2 Terminology
• Destination Domain is the outside NAT domain, owning the PAT pool. It is the shared domain to which other
domains initiate connections.
• Source Domain is the inside NAT domain. It is the domain from which connections are initiatied to the shared
domain.
Note: Terminology, such as PAT pools, 1:1 NAT, NAT Map, from the Port Address Translation (page 255) also
applies to this feature.
You can configure a 1:1 NAT pool for a PAT to Overlay link to allow you to assign specific source IP addresses to
specific destination IP addresses. However, this can result in scenarios where a source IP address is reachable by more
than one NSG. For example, two or more NSGs can learn the source IP address for an access side BGP neighbor. This
results in indeterministic route selection where the VSC selects routes based on the lowest data path ID and the route
reflector.
It is recommended that you associate a routing policy to a PAT to Overlay link to prevent indeterministic routing in
situations like the one described above. A routing policy allows you to assign next hop preferences to groups of NSGs
for all 1:1 NAT maps in a 1:1 NAT pool. For example, a routing policy could specify that all data center traffic always
prefers a particular NSG as a next hop.
Routing policies for PAT to Overlay links are only applicable for 1:1 NAT mappings. PAT IP addresses are always
unique, so there is no need to use a routing policy to resolve address duplication.
Configuration Objects
Policy Object Group: Used to assign NSGs to a group for routing policy entries. Most use cases would require only
one NSG for a routing policy entry, but policy object groups allow you to assign multiple NSGs to an entry.
Policy Statement: Assigned to a PAT to Overlay link. You can create only one policy statement per domain link.
Routing Policy Entry: Assigns a next hop preference to a policy object group and associated 1:1 NAT pool.
Preference Values
For each routing policy entry, you can specify the Next Hop Priority in the range of 1-8. Each priority value in the
VSD correlates to a preference and local preference value for both a primary and secondary VSC.
Local preference values are used for iBGP sessions only. The value is checked only for traffic from within the same
AS. If both the source and destination NSG are associated with the same VSC, the preference value is used. If both
NSGs are associated with different VSCs, the local preference value is used.
Note: For the preference, a lower value is more preferred than a higher value. For the local preference, a higher value
is more preferred than a lower vaue.
The following table lists the VSC preference and local preference values associated with each VSD preference value.
To enable PAT to a destination domain, the branch or source domain is linked to the destination domain using a PAT
pool. The PAT pool addressing conforms to the destination domain IP address space.
The configuration of this functionality is available to the Enterprise. Once all the domains have been instantiated, the
enterprise administrator can configure PAT to Overlay.
The end-to-end configuration workflow is shown in the figure below, and involves the following steps:
• Link source domain to a destination domain
• Create Address Translation Pools
• Define 1:1 NAT Maps
• Add Static Route of type Overlay Address Translation
• Configure a Routing Policy, if required
Link Domains
1. Navigate to the source domain instance from Networks -> Layer 3 Domains -> My L3 Domains.
2. Select the Linking tab.
3. In the Links panel, select icon to define the domain linking between the source domain and a destination
domain.
4. In the popup for New Link, select Type as Overlay Address Translation.
5. The source domain will be pre-populated. For the destination domain, click on to select a domain from the
list of domains that popup. This should be the destination domain to which the source domain must be linked.
1. Select the created link, and in the Address Translation Pools panel, click on to create a new address pool.
2. In the popup, enter the Name, Description, and address pool. The address pool is specified as a range using a
start address (First IP) (e.g. 135.10.0.24) and an end address (Last IP) (e.g. 135.10.0.34). The entire range,
inclusive of First:Last IP addresses will be assigned to NSGs that have vPorts in the source domain.
Note:
• IP addresses in the PAT pool cannot overlap with subnets in the destination domain.
• The number of IP address in the PAT pool needs to be equal or greater than the number of NSGs in the source
domain, as well as 1:1 NAT Maps.
1. Select an address pool and click on in the Address Maps panel of the screen which will popup a New 1:1
NAT Entry screen. Configure the static 1:1 IP binding using IP addresses within the IP range of the PAT pool.
Note: The panel will also display (as read-only) dynamic PAT IPs which get auto assigned when a vPort in the source
domain is resolved on a NSG.
1. For the selected domain, select the Static Route icon from the top right configuration actions.
2. Specify the Network (destination) prefix and select the route Type as Overlay Address Translation.
If you defined a 1:1 NAT pool, you may choose to configure a routing policy to prevent indeterministic routing when
source IP addresses are reachable by more than one NSG. You must create a policy object group with NSGs before
creating the routing policy. You can create only one routing policy per domain link.
Create a Policy Object Group
1. From the Networks tab, click on the Policy Object Groups button.
2. Click on the button and configure the Name and Description parameters. Click Create.
3. Select the policy from the Policy Object Groups panel and click on the button.
4. Select an NSG to add to the Policy Object Group and click Select.
5. Repeat steps 3 and 4 to add additional NSGs to the Policy Object Group, if required.
Create a Policy Statement and Policy Entries
6. From the Networks tab, click on the L3 Domains button and select an L3 domain.
7. Click on the Linking tab and select a domain link of type Overlay Address Translation.
11. Configure the Name, Description, and Next Hop Priority parameters.
12. Select a 1:1 NAT pool and policy object group and click Create.
13. Repeat steps 10 to 12 to create more policy entries, if required.
===============================================================================
Domain Linking Information
===============================================================================
Src Domain Src Domain Name Dst Domain Dst Domain Name Link Type
SvcId SvcId
-------------------------------------------------------------------------------
1720836511 ncpeDomain3 1444815876 ncpeDomain1 PAT
-------------------------------------------------------------------------------
No. of domain links: 1
===============================================================================
To list the 1:1 NAT Maps on an NSG, run the following whitelisted command using the destination domain service
ID.
[nuage@nsg ~]# ovs-appctl vrf/nat-routes 1444815876 alubr0
---------+-----------------+-----------------+----------+--------+------------+-------
˓→------
---------+-----------------+-----------------+----------+--------+------------+-------
˓→------
5.5.1 Overview
Bi-directional NAT enables performing source NAT (SNAT) and destination NAT (DNAT) on a packet simultaneously
between a customer and a provider domain. The primary use case for this feature is in extranet scenarios where
addressing might overlap on both sides of the network or to anchor traffic to a specific link/device.
Topology assumes that many Customer domains (spoke) link to a Provider domain (hub):
• A Customer domain will only have one customer site (1 NSG or 1 NSG-RG)
• Provider domain may have multiple Provider sites
The feature enables:
• Provider to Customer SPAT/SNAT (page 287)
• Provider to Customer DNAT (page 288)
• Customer to Provider SPAT/SNAT (page 289)
Hides Provider topology in unique space at Customer side, using a single public address per service (allowing ac-
tive/standby failover in Provider DCs)
• Allows different provider source addresses to be SPAT’d to a single address per NSG in the customer domain.
For example, source addresses 172.16.1.1 and 172.17.1.1 SPAT’d to 192.0.2.200.
• A single application in the provider domain is exposed in the customer domain via 1:1 SNAT mapping.
• SPAT mapping is only for configured prefixes in Provider domain (source list)
• SPAT address may be the same for every customer domain
• SPAT translations are applied at the customer NSG
• SPAT/SNAT only supported with DNAT to Customer domain (page 288)
• Mapping specific Customer domain destination IP addresses 1:1 to Customer alias IP addresses (from the
Provider DNAT Pool) in the Provider Domain
• Every Customer domain will have a DNAT pool assigned by the Provider (e.g. 100.64.0.0/24, 100.64.1.0/24) to
hide customer topologies and eliminate overlapping address space between Customer and Provider domain
In the illustrated example, Provider_Source = 172.16.1.1 and Provider_Destination = 100.64.0.1 translates to Cus-
tomer_Source = 192.0.2.200 and Customer_Destination = 192.168.22.1
Note:
• SPAT/SNAT pool (Provider alias) must not overlap with Customer domain routes
• SPAT/SNAT routes are installed (and routable) in each customer domain.
• Static route from customer domain to provider domain is required. Customer domain routes are not leaked back
into Provider domain.
• SPAT source pool configured per customer. A pool identifies a group of applications in the Provider domain.
• A collection of Provider domain IP ranges which will serve as alias IPs of Customer domain IPs.
• SPAT IPs (reserved from the Provider domain IP ranges). There should be at least one SPAT IP per NSG in the
customer domain.
• Provider to Customer Translation Map:
– 1:1 NAT mapping of Customer domain IP to the alias IP in the Provider domain.
– SPAT mapping, whereby mapping of a SPAT source pool to a SPAT IP gets dynamically assigned to an
NSG (Datapath ID). The SPAT IP to NSG assignment cannot be statically configured.
• A collection of customer domain IP ranges which will serve as alias IPs of Provider domain IPs.
• Customer to Provider Translation Map:
– 1:1 NAT mapping of Provider domain IP to the alias IP in the customer domain.
– Auto-created N:1 PAT mapping of NSG Datapath ID to a alias IP in the customer domain. In the case of
NSG-RG, two PAT maps are auto-created (one for each NSG)
• As in the PAT to Overlay case, a static route (of type Overlay Address Translation) from customer domain to
provider domain is required.
Domain Links
A new link type called Bi-Directional NAT is required as part of the configuration. The destination (Customer) domain
owns the links.
– If packet source IP match is found in N:1 Provider to Customer Translations, then corresponding SPAT IP
is used for SNAT in the customer domain.
• If no matching entry is found, then packet source is unchanged.
For traffic from customer domain to provider domain:
DNAT
• If packet destination IP match is found in 1:1 Customer to Provider Translations, then the corresponding Provider
IP is used for DNAT in the provider domain.
• If there is a matching entry, traffic is forwarded as PAT to Overlay using static route.
SNAT
• If packet source IP match is found in 1:1 Customer to Provider Translations, then corresponding alias IP is used
for SNAT in the provider domain.
• If no matching entry is found, then packet source is unchanged.
1. Navigate to Provider domain instance and select the IP configuration icon from the rightmost panel to
specify the SPAT Source Pool (which is the source IPs of applications for SPAT).
2. Enter a pool name and a list of IP addresses.
1. For the created Bi-Directional link, select the Provider to Customer tab, and create Provider Source Pool
(which are the alias IPs of Customer domain IPs).
2. For the selected Provider Source Pool, select Provider to Customer Translation Map tab and add 1:1 NAT
maps (Customer IPs to Alias IPs).
3. Select Provider SPAT tab to specify the SPAT IP (from the Provider Source Pool) for the reserved SPAT source
pool. The PAT map will be displayed in the Provider to Customer Translation Map tab.
1. For the created Bi-Directional link, select the Customer to Provider tab, and create Customer Source Pool
(which are the alias IPs of Provider domain IPs).
2. Select Customer to Provider Translation Map to specify 1:1 NAT maps (provider IPs to alias IPs)
Note: When Customer Source Pool is created, PAT IP is auto-created and dynamically assigned to customer domain
NSG. Dynamically assigned PAT IP will always use datapath ID.
===============================================================================
Domain Linking Information Detail
===============================================================================
------------------------------------------------------------------------------
Bidir Mapping Information
------------------------------------------------------------------------------
Pool Uuid Ip/Nsg-Id Alias/Spat-Ip Map Type
------------------------------------------------------------------------------
d4896404-a9b4-46cb-b71d-4ba0d3566339 30.0.0.2 200.0.0.2 c-nat
30.0.0.3 200.0.0.24 c-nat
193.6.26.77 200.0.0.77 c-spat
f8339e0d-3686-4266-a1f8-0d114ca5ea39 20.0.0.2 100.0.0.10 p-nat
193.6.26.77 100.0.0.60 p-spat
------------------------------------------------------------------------------
No. of Bidir Mappings: 5
------------------------------------------------------------------------------
-------------------------------------------------------------------------------
No. of domain links: 1
===============================================================================
5.6.1 Overview
Using advanced forwarding policy rules, an enterprise administrator can apply service chaining rules to one or more
hosts in the service, and redirect all or specific application flows, from a branch domain, to a L3 Redirection Target
(RT). Return path from redirection target towards actual destination (in branch domain) will follow existing behavior.
Following use cases are supported to enable service chaining from NSG in branch site to:
• A linked DC domain, where linking is enabled by an NSG-BR (Use Case 1 (page 295))
• Another branch NSG in a deployment with disjoint underlays, where the datapath between the sites is enabled
via the NSG-UBR (Use Case 2 (page 296))
• NSG-BR or NSG-UBR vPort in common underlay (Use Case 3 (page 296))
The corresponding Service Chaining configuration (page 296) workflow (which is common to all use cases) is de-
scribed later in this chapter.
Note: ECMP is not supported for redirection targets in DC domain when there are multiple BR links from an NSG.
In such a scenario, one NSG-BR will be selected using an internal heuristic and the selection is not predictable.
Service chaining is also supported across enterprises, such as branch domain in Enterprise 1 and L3 redirection target
in a DC domain in Enterprise 2. Service chaining to a redirection target of type virtual wire is not supported.
In this scenario, traffic will traverse underlay uplinks (in common underlay). The vPort on the NSG-BR or NSG-UBR
is in the same domain as the branch NSG vPort. The NSG-UBR use case is depicted below:
Note: For use case 3, NSG Group to UBR Group Bindings (page 173) must also be configured in addition to the
service chaining configuration.
1. As Enterprise administrator, navigate to Networks -> Layer 3 Domains, and select a Domain instance in which
the RT is to be defined.
3. In the Redirection Target panel, select the at the bottom of the panel to define a new RT.
4. In the Redirection Target popup, enter Name, Description, and Service Insertion Type as L3. Select the Allow
Redundant Appliances checkbox, if more than one VPort is to be specified.
5. Select Create to define the RT.
Associate RT to a vPort
1. Select the RT, and in the VPorts panel, select an existing destination vPort per the use case being configured.
A Virtual IP will be automatically created. If redundancy is enabled on the RT, then two VPorts may be associated.
Note: Unlinking a VPort does not delete the associated Virtual IP. It must be explicitly deleted.
1. As Enterprise administrator, navigate to Networks -> Layer 3 Domains, and select a Branch Domain instance
for which the forwarding policy is to be defined.
3. In the Forwarding Policies panel, select the at the bottom of the panel to define a new advanced policy.
4. In the Forwarding Policy Entry popup, enter Name, Priority and application flow match rules.
5. Select ACL Type as Local.
6. Enter the Origin Location and Destination Network. If a policy group is desired, then it should be defined
separately (not shown in this workflow).
7. If the RT is in a Linked domain, then Select enterprise (if different) and Select domain of the redirection target.
Otherwise skip this step.
8. Select Action as Redirect. Link to the created redirection target.
9. Select Create/Update to create/update the policy.
===============================================================================
ESI Routes
===============================================================================
===============================================================================
Legend:
Flag : P -> Primary, S -> Secondary, V -> Virtual Next Hop on NAT, I -> IPSEC
===============================================================================
Flag ESI NextHop Owner
-------------------------------------------------------------------------------
--- ff:ff:ff:00:00:00:00:00:27:11 10.15.34.254 BGP_VPN
-------------------------------------------------------------------------------
No. of ESI routes: 1
===============================================================================
===============================================================================
===============================================================================
ESI Routes
===============================================================================
===============================================================================
Legend:
Flag : P -> Primary, S -> Secondary, V -> Virtual Next Hop on NAT, I -> IPSEC
===============================================================================
Flag ESI NextHop Owner
-------------------------------------------------------------------------------
--- ff:ff:ff:00:00:00:00:00:27:11 10.15.34.254 BGP_VPN
-------------------------------------------------------------------------------
No. of ESI routes: 1
===============================================================================
===============================================================================
===============================================================================
ESI Routes
===============================================================================
===============================================================================
Legend:
Flag : P -> Primary, S -> Secondary, V -> Virtual Next Hop on NAT, I -> IPSEC
===============================================================================
Flag ESI NextHop Owner
-------------------------------------------------------------------------------
-V- ff:ff:ff:00:00:00:00:00:27:11 10.15.1.254 NVC_LEAK
-------------------------------------------------------------------------------
No. of ESI routes: 1
===============================================================================
===============================================================================
ESI Routes
===============================================================================
===============================================================================
Legend:
Flag : P -> Primary, S -> Secondary, V -> Virtual Next Hop on NAT, I -> IPSEC
===============================================================================
Flag ESI NextHop Owner
-------------------------------------------------------------------------------
-V- ff:ff:ff:00:00:00:00:00:27:11 10.15.1.254 NVC_LEAK
-------------------------------------------------------------------------------
No. of ESI routes: 1
===============================================================================
===============================================================================
===============================================================================
ESI Routes
===============================================================================
===============================================================================
Legend:
Flag : P -> Primary, S -> Secondary, V -> Virtual Next Hop on NAT, I -> IPSEC
===============================================================================
Flag ESI NextHop Owner
-------------------------------------------------------------------------------
-V- ff:ff:ff:00:00:00:00:00:27:11 10.15.1.254 NVC_LEAK
-------------------------------------------------------------------------------
No. of ESI routes: 1
===============================================================================
===============================================================================
===============================================================================
ESI Routes
===============================================================================
===============================================================================
Legend:
Flag : P -> Primary, S -> Secondary, V -> Virtual Next Hop on NAT, I -> IPSEC
===============================================================================
Flag ESI NextHop Owner
-------------------------------------------------------------------------------
-V- ff:ff:ff:00:00:00:00:00:27:11 10.15.1.254 NVC_LEAK
-------------------------------------------------------------------------------
No. of ESI routes: 1
===============================================================================
===============================================================================
ESI Routes
===============================================================================
===============================================================================
Legend:
Flag : P -> Primary, S -> Secondary, V -> Virtual Next Hop on NAT, I -> IPSEC
===============================================================================
Flag ESI NextHop Owner
-------------------------------------------------------------------------------
-V- ff:ff:ff:00:00:00:00:00:27:10 va-10.15.2.254/1/4 NVC
-------------------------------------------------------------------------------
No. of ESI routes: 1
===============================================================================
˓→local_tep_ip 74.191.36.199
Output on other NSG with same/different underlay as the NSG with redirect targert:
Output on NSG-UBR
5.7.1 Overview
Do Not Advertise (DNA) subnets allow you to configure a subnet with routes that are not advertised into the network
overlay or into the WAN. With limited advertising, DNA subnets allow for more flexibility with overlapping IP ad-
dresses within a domain. This allows you to use the same DNA subnet behind NSGs in different branch sites that are
all on the same domain. .. .. Local static routes configured on a DNA subnet are advertised to the LAN using a local
routing protocol such as BGP or OSPF. These static routes must be configured with the NSG as the next hop. .. ..
Secondary IP addresses can be configured outside or inside the range of the DNA subnet. The secondary IP address
must be advertised by the NSG with itself as the next hop.
Overlapping IP addresses between DNA subnets are allowed based on the following requirements:
• Overlapping IP addresses are allowed between DNA subnets in the same domain, unless the two DNA subnets
are situated behind the same NSG.
• Overlapping IP addresses are allowed between DNA subnets in different domains behind the same NSG.
• Overlapping IP addresses are not allowed between a DNA subnet and a non-DNA subnet.
• The virtual IP (VIP) must be unique for each DNA subnet.
Note: In DNA subnets, only static route and VIP endpoints are eligible to receive traffic from other subnets.
Proxy ARP
In cases where VIPs are used in a duplicated DNA subnet, you can configure a proxy ARP to blacklist used IP ranges
to ensure VIPs are not duplicated.
When ARP is enabled, ARP probes are sent at regular intervals to verify connectivity between hosts. For regular and
redirect VIPs, ARP probes are sent every 5 seconds on the V-Port until a VIP is learned. When the VIP is learned,
probes continue to be sent every 60 seconds. If the VIP is unlearned, the NSG continues probing at 5 second intervals.
As long as the next-hop IP is not learned, ARP probes are flooded on all local V-Ports into the EVPN.
Sample #1
In the following example, a DNA subnet is configured and used behind multiple NSGs. The associated static routes
(VSD-configured) need to be unique across the domain and are advertised to the network overlay or by BGP to the
WAN.
Each switch has a management secondary IP address that faces the PE. Local static routes assign each secondary IP to
a next hop within the DNA subnet.
Sample #2
In the following example, a DNA subnet is configured and used behind multiple NSGs. The subnet consists of WiFi
access points that are reusing private IP address space in multiple branches. These WiFi access points are controlled
by a master access point with a VIP. The master VIP in each subnet is statically assigned, and is unique to the subnet.
It is the only IP that communicates with the management VRF outside of the subnet. The master IP address can switch
from one VIP to the other, so a proxy ARP is required to blacklist previously used VIPs and prevent any duplication
among the reused DNA subnets. The VSC installs a route to the VIP with a next-hop of the respective DNA subnet
NSG uplink IP. This allows the VIP to be the only IP advertised into the VPN MPLS.
5.7.3 Configuration
Perform the following steps to disable advertising to the overlay and BGP WAN on an existing subnet.
1. From the top-level menu, click on the Networks tab and click the L3 Domains button.
2. Select an L3 domain and a subnet.
3. On the Subnet tab, disable the Advertise to Overlay parameter.
4. Click Update to save the changes.
Perform the following steps to enable proxy ARP on a subnet and configure a filter.
1. From the top-level menu, click on the Networks tab and click the L3 Domains button.
2. Select an L3 domain and a subnet.
3. On the Subnet tab, enable the Enable Proxy ARP parameter and click Update to save the changes.
6. Configure the Network Type, First Address, and Last Address parameters to define a range of blacklisted IP
addresses.
7. Click Create.
Use the following command to check the list of static route next-hops.
evpn_id: 1569489553
EVPN ARP VIP IP: 20.0.0.3 gen_id: 15 arp_probe: true del_pending: false
evpn_id: 94500459
EVPN ARP VIP IP: 192.0.102.6 gen_id: 15 arp_probe: true del_pending: false
Regular Vips:
VIP IP: 192.0.102.200 VIP MAC: 00:00:00:00:00:00
VIP IP: 192.0.102.100 VIP MAC: 00:00:00:00:00:00
FIP Vips:
5.8 QoS
Nuage VNS Quality of Service (QoS) allows you to configure the rate at which traffic ingresses or egresses NSG
ports. QoS uses ingress traffic policing and egress traffic shaping to ensure that performance-sensitive applications are
prioritized, fairness is maintained, and packet loss is minimized.
Key functionality of QoS includes the following:
• DSCP mapping for up to eight forwarding classes.
• Traffic rate limiting and classification for both network and access ingress points.
• Hierarchical shaping, scheduling, and queueing per port/VLAN for both network and access egress points.
• DSCP and CoS remarking for up to eight forwarding classes.
• DSCP and CoS remarking for self-generated NSG control traffic.
As part of the workflow for this feature, VNS supports the DSCP mapping and access LAN-side ingress traffic policing
functionalities included as part of the VSP solution. DSCP mapping and access LAN-side ingress traffic policing can
be configured for VNS deployments at the domain, zone, subnet, or vPort level. See the QoS chapter in the VSP User
Guide for more information about these functionalities.
Nuage VNS currently provides support for the following QoS features on the NSG:
• Ingress and egress QoS (page 308)
• Control traffic QoS (page 312)
Ingress and egress QoS entails the policing of ingress traffic and shaping of egress traffic from either the access LAN-
side or network WAN-side.
The following workflow describes the QoS process in the example of a packet received on the LAN side and forwarded
to the WAN.
1. Ingress rate limiting (policing) — Access LAN-side traffic ingresses a service-specific port/VLAN and is
controlled with rate limiters. Rate limiters allow you to define the maximum rate at which traffic can be received
from specific sources. You can specify separate rate limiters for unicast and BUM traffic.
2. Ingress classification — Traffic is mapped to one of eight forwarding classes based on the IPv4 DSCP or CoS
value in the customer packet.
3. DSCP remarking for customer packet — DSCP bits for the inner payload packets are modified based on
actions defined for the ingress forwarding policy entry.
4. DSCP and CoS remarking for the uplink outer tunnel header — DSCP or CoS bits for the uplink outer
tunnel header are modified based on remarking policies. Remarking policies allow you to redefine forwarding
class assignments per uplink based on a user-defined mapping table. Inner packet markings from the LAN side
are not modified.
5. Egress queueing — Traffic is assigned to four egress queues based on forwarding classes. One queue is based
on strict priority queuing and three are based on weighted round robin. Bandwidth is allocated to the four queues
based on the QoS algorithm.
Note: In addition to the user traffic queues, there is also a network control queue reserved for VNS control traffic
(such as OpenFlow and JSON). The control traffic queue is assigned the highest priority by default. Refer to Control
traffic QoS (page 312) for more information about control traffic QoS.
The use cases in this section show some examples of traffic flow along with the process of ingress policing and egress
shaping.
In the following use case, the NSG is deployed at a site to provide WAN connectivity to another site using an overlay
tunnel.
In the following use case, the NSG is deployed at a site to provide local Internet breakout at a site without an overlay
tunnel.
In either case, the network WAN-side port of the NSG can be a potential congestion point if the network uplink is
of a lower speed than the aggregate rate of the access LAN-side ports bandwidth. In such deployments, QoS enables
service-unaware traffic shaping rules at port level using the ingress DSCP values present in the customer header.
Shaping the network egress port allows the NSG to ensure that the WAN link is not congested. The feature is used as
a bandwidth-on-demand capability to apply a QoS profile for a predetermined amount of time, or to address a WAN
uplink bandwidth upgrade or downgrade.
In the following use case, QoS is used at the port/VLAN level when the cumulative bandwidth of the traffic destined to
a single access port/VLAN from a combination of network uplink ports or other LAN-side ports is greater than what
the egress port/VLAN can support.
In the following use case, QoS is used at the port/VLAN level when the NSG is deployed as an NSG-V at a CO or
data center and an L2 point-to-point service is extended between the NSG and the customer site. The L2 P2P service
itself is prescribed a certain bandwidth profile and consequently the NSG is required to shape the rate.
QoS algorithm
VNS QoS uses a Hierarchical Token Bucket (HTB) scheduler to shape customer traffic. The scheduler includes a
parent queue with four child queues. Bandwidth is allocated to the child queues based on strict priority and weighted
round robin (WRR) queueing methods. The queueing method used for each child queue does not change if the
available bandwidth falls below the CIR of the parent queue.
• Queue 1 (Q1): strict priority queue
• Queues 2-4 (Q2-4): weighted round robin queues
The QoS algorithm allows you to assign low latency and delay-sensitive traffic to the priority queue (Q1) for guaranteed
throughput without starving the lower priority queues (Q2-4) during times of network congestion.
During network congestion, bandwidth is distributed in the following order:
1. Bandwidth is allocated to Q1 up to the configured CIR value.
2. Bandwidth is distributed among Q2, Q3, and Q4 using WRR up to their configured CIR values. The CIR values
are used to determine the weight.
3. Bandwidth is allocated to Q1 up to the configured PIR value.
4. Bandwidth is distributed among Q2, Q3, and Q4 using WRR up to their configured PIR values. The CIR values
are used to determine the weight.
The HTB scheduler uses a deficit round robin (DRR) algorithm to de-queue packets from the WRR queues. The queue
length is defined by the Limit parameter in the SFQ qdisc attached to each HTB class. The default limit is 127 packets.
If there are multiple traffic flows in each queue, there is the same number of internal queues from which packets are
de-queued via round robin. The Quantum SFQ qdisc parameter defines the number of bytes de-queued from each
internal queue.
Q0 is the parent queue and Q1-4 are child queues with the following configured attributes:
Queue CIR PIR
Q0 1 Mbps 1.5 Mbps
Q1 400 Kbps 1.5 Mbps
Q2 200 Mbps 1.5 Mbps
Q3 300 Kbps 1.5 Mbps
Q4 100 Kbps 1.5 Mbps
Scenario 1: In the following scenario, bandwidth is first allocated to Q1 up to the configured CIR value. Then,
bandwidth is distributed among Q2, Q3, and Q4 up to their configured CIR values using WRR. The remaining 500
Kbps is allocated to Q1.
Queue Input Rate Scheduling Rate Weight
Q1 1.5 Mbps 900 Kbps n/a
Q2 1 Mbps 200 Kbps 2
Q3 500 Kbps 300 Kbps 3
Q4 200 Kbps 100 Kbps 1
Scenario 2: In the following scenario, bandwidth is first allocated to Q1 up to the configured CIR value. Then,
bandwidth is distributed among Q2, Q3, and Q4 up to their configured CIR values using WRR. Then, bandwidth is
allocated to Q1 up to the input rate. The remaining 180 Kbps is distributed among Q2, Q3, and Q4 using WRR.
Queue Input Rate Scheduling Rate Weight
Q1 720 Kbps 720 Kbps n/a
Q2 800 Kbps 260 Kbps 2
Q3 1.2 Mbps 390 Kbps 3
Q4 400 Kbps 130 Kbps 1
QoS statistics
QoS statistics collection is enabled by default when an egress QoS policy is assigned to a port/VLAN. QoS statistics
are collected and reported for each queue.
Refer to QoS statistics configuration specifics (page 315) for more information on accessing and configuring QoS
statistics collection.
NSG-UBR QoS
Egress QoS is supported on the NSG-UBR in a single-tenant use case only. This means that the ability to prioritize
traffic between two different customers is not supported. If traffic from multiple customers is routed through the
NSG-UBR, all priority queues are treated equally and all WRR queues are part of the same hierarchy.
You can configure DSCP and CoS remarking for self-generated control traffic on the NSG. This includes traffic gener-
ated for OpenFlow, DTLS, BGP, JSON, IKE, DHCP, DNS, NTP, BFD and other control plane traffic. For each NSG,
you can specify a DSCP value (0-63) and CoS value (0-7).
You can set these values by configuring the Control Traffic COS and Control Traffic DSCP parameters at the NSG
instance level. Refer to Control Traffic QoS Provisioning Workflow (page 320) for more information.
Note: Configuration of DSCP and CoS remarking for self-generated traffic is available at the NSG instance level
only. You must perform a reload configuration before the changes take effect.
You can configure DSCP and CoS remarking for self-generated control traffic on the VSC. Refer to Configuring
remarking for control traffic on the VSC (page 322) for a sample configuration.
The following VSD objects and policies are relevant to ingress and egress QoS.
QoS policies
QoS policies allow you to apply rate limiting, forwarding class mapping, and remarking policies to access LAN-side
ingress traffic. QoS policies can be created at the domain, zone, subnet, or vPort level, with the most granular level
taking precedence.
QoS policies are applicable to both the VSP and VNS solutions. Refer to the QoS chapter in the VSP User Guide for
more information about QoS policies.
DSCP mapping tables define a list of mappings between customer DSCP markings and VNS forwarding classes. QoS
policies reference these mapping tables. A DSCP table can have up to 63 entries. Multiple DSCPs can map to a single
forwarding class. Only a single mapping table can be referenced by a QoS policy.
Note: The configured DSCP mapping table is implicitly referenced for NSG access LAN-side traffic. It is recom-
mended that only one DSCP mapping table be configured per domain.
DSCP mapping tables are applicable to both the VSP and VNS solutions. Refer to the QoS chapter in the VSP User
Guide for more information about DSCP mapping tables.
DSCP remarking for customer payload packets can be defined in an ingress forwarding policy entry. Configure the
DSCP Remarking parameter on the Action tab and specify a forwarding class to be assigned to the customer packet.
Navigate to Network -> Domain -> Policies -> Ingress Forwarding Policies -> Policy -> Policy Entries.
Refer to the “Security and Forwarding Policies” chapter of the VSP User Guide for more information and configuration
steps for ingress forwarding policies.
Egress QoS policies allow you to apply rate limiting, forwarding class mapping, and remarking policies to access
LAN-side egress and network WAN-side egress traffic. Egress QoS policies can be applied at the port/VLAN level
only.
Navigate to Platform Configuration -> Infrastructure -> Network Service Gateways -> QoS Configuration .
The following parameters can be configured for egress QoS policies:
• Name
• Description
• Default Service Class: Specifies the default service class. Whichever queue is assigned to that service class is
the default egress queue.
• Overall Rate: Assigns an overall rate limiter applied to the entire policy.
• Service Classes and Rates: Specify forwarding class mappings and rate limiters for the priority queue and three
WRR queues.
• DSCP Remarking Profile: Assigns a DSCP remarking profile to the policy.
• CoS Remarking Profile: Assigns a CoS remarking profile to the policy.
Consider the following when configuring an egress QoS policy:
• The eight service classes must be assigned to one or more of the four queues.
• Queues that do not have assigned service classes are not used.
• Each queue with an assigned service class must have an associated rate limiter.
Consider the following when assigning rate limiters to queues in an egress QoS policy:
– The sum of the Guaranteed Information Rate for all child queues must be less than or equal to the parent CIR. –
The Peak Information Rate for each of the child queues must be less than or equal to the parent PIR. – The Burst
Size for each of the child queue is less than or equal to the parent Burst size.
Note: A minimum CIR value of 120 kbps is recommended for each queue. If a value of 0 is assigned to a queue, the
HTB algorithm may assign a minimum default value which may be unknown and result in inconsistent allocation to
the other queues.
Rate limiters
Rate limiters allow you to specify the guaranteed (or committed) and peak rates of traffic throughput for access LAN-
side and network WAN-side egress traffic. Rate limiters are assigned to egress QoS policies and their child queues to
specify the rates at which traffic each service class egresses through the NSG.
Navigate to Platform Configuration -> Infrastructure -> Network Service Gateways -> QoS Configuration
-> Rate Limiters .
The following parameters can be configured for rate limiters:
• Name
• Description
• Guaranteed Information Rate: Specifies the committed aggregate shaped rate for parent scheduler.
• Peak Information Rate: Specifies the ceiling for the aggregate shaped rate that may be sent by the parent
scheduler.
• Burst Size: Specifies the amount that can be burst at peak speed in excess of the configured rate.
Note: Guaranteed and peak information rate values are calculated based on the traffic as it appears on the wire.
When specifying these values, you must account for the different tunnelling overheads for egress WAN QoS, VxLAN,
VxLAN+IPsec, and VxLAN+IPsec+VxLAN.
Remarking profiles
Remarking profiles allow you to configure DSCP and CoS remarking for the NSG to rewrite DSCP and CoS bits in
the uplink tunnel header. These policies allow you to redefine forwarding class assignments based on mapping tables.
For each remarking policy, you can map eight forwarding classes (A-H) to a DSCP value (0-63) or CoS value (0-7).
These policies can be associated with an egress QoS policy.
The VSD automatically assigns a default egress QoS policy and DSCP remarking policy to each uplink VLAN. If the
VLAN is tagged, the VSD also assigns a default CoS policy.
Navigate to Platform Configuration -> Infrastructure -> Network Service Gateways -> QoS Configuration
-> DSCP Remarking Profiles or CoS Remarking Profiles .
The following parameters can be configured for DSCP and CoS remarking profiles:
• Name
• Description
• Forwarding Class to DSCP/CoS: Selects a forwarding class (A-H)
• Map to DSCP/CoS: Specifies the DSCP or CoS value to be mapped to the selected forwarding class.
Consider the following when configuring DSCP or CoS remarking profiles:
• You can define only eight forwarding class mappings for each policy.
• DSCP and CoS remarking profiles cannot be created with the same forwarding class.
• DSCP and CoS remarking profiles can be associated with egress QoS policies on uplink VLANS only.
• CoS remarking profiles can be associated with egress QoS policies on tagged VLANs only.
Ingress QoS policers allow you to specify the rate at which network WAN-side traffic ingresses on an uplink VLAN.
You can specify a packet rate and maximum burst size for traffic ingressing via the overlay, underlay, or both. The
packet rate and burst size for underlay and overlay QoS policers are independent of one another. When the policing
threshold is crossed, the VSD raises an alarm.
Navigate to Platform Configuration -> Infrastructure -> Network Service Gateways -> QoS Configuration
-> QoS Policers.
The following parameters can be configured for ingress QoS policers:
• Name
• Description
• Rate: Specifies the rate, in Mb/s, that WAN-side traffic ingresses on the assigned VLAN.
• Burst: Specifies the maximum amount, in Kb, that can burst at peak speed in excess of the configured rate.
Note: QoS policers can be configured and applied to NSG uplinks only by users with CSProot privileges. QoS
policers can be applied only at the enterprise level. They can not be applied to a VLAN template.
QoS statistics collection is enabled by default when an Egress QoS policy is applied to a port/VLAN. QoS statistics
are collected and reported for each queue. You can view statistics for the parent queue, network control queue, and
each child queue.
QoS statistics can viewed or retrieved using the following methods:
Statistics panel
The Statistics panel can be accessed in the VSD UI from the information form for any port/VLAN. From the Statistics
panel, you can select either the Bytes or Packets to generate bar-line graphs for statistics at the byte or packet level.
The Bytes view displays a bar graph of the total bytes of traffic on the port/VLAN. The Packets view displays a bar-line
graph with total packets depicted with lines and packets dropped depicted with bars.
For each graphical view, you can configure the following:
• Date and time, using the calendar and Hourly Precision parameter.
• Ingress or Egress: Narrow statistics displayed to only ingress or egress traffic.
• Parent, Network Control, and Queue *n*: Specify one or more queues to display graphically.
On access LAN-side ports, you can also configure the following:
• Enable Stats Collection: Enables or disables statistics collection on the port.
• Collection Frequency: Specifies the frequency at which statistics are are collected on the port. The default and
recommended value is 60s.
Note: The network WAN-side ports, statistics collection is enabled with a collection frequency of 60s. This cannot
be configured.
This section provides a high-level workflow of the tasks required to configure VNS QoS.
Step 1 Configure an organization profile with Advanced QoS enabled. Refer to the QoS chapter in the
VSP User Guide for more information.
Step 2 Configure a DSCP mapping table. Refer to the QoS chapter in the VSP User Guide for more
information.
Step 3 Configure a QoS policy. Refer to the QoS chapter in the VSP User Guide for more information
Step 4 Configure rate limiters. Refer to Creating rate limiters (page 318) for more information.
Step 5 Configure an ingress forwarding policy to define DSCP customer packet remarking. Refer to the
“Security and Forwarding Policies” chapter in the VSP User Guide for more information.
Step 5 Configure a DSCP remarking profile. Refer to Creating DSCP remarking profiles (page 318) for
more information.
Step 6 Configure a DSCP remarking profile. Refer to Creating CoS remarking profiles (page 319) for
more information.
Step 7 Configure a QoS policer. Refer to Creating QoS policers (page 319) for more information.
Step 8 Configure an egress QoS policy. Refer to Creating egress QoS policies (page 319) for more
information.
Step 9 Assign QoS policers and a QoS policy to a port/VLAN. Refer to Assigning QoS policies to a
port/VLAN (page 320) for more information.
Step 10 View QoS statistics. Refer to Displaying egress QoS statistics (page 320) for more information.
This section provides the detailed steps required to configure VSD objects and policies required to enable the features
described in this chapter.
Step 1 As CSProot, navigate to Platform Configuration -> Infrastructure -> Network Service Gate-
ways -> QoS Configuration -> Rate Limiters .
Step 1 As CSProot, navigate to Platform Configuration -> Infrastructure -> Network Service Gate-
ways -> QoS Configuration -> DSCP Remarking Profiles .
Step 4 Select the DSCP remarking profile and click in the DSCP Remarking Policy panel.
Step 5 Enter a Forwarding Class To DSCP and Map DSCP and click Create.
Step 6 Repeat steps 4 and 5 to create up to eight forwarding class mappings, as required.
Step 1 As CSProot, navigate to Platform Configuration -> Infrastructure -> Network Service Gate-
ways -> QoS Configuration -> CoS Remarking Profiles .
Step 4 Select the CoS remarking profile and click in the CoS Remarking Policy panel.
Step 5 Enter a Forwarding Class To CoS and Map CoS and click Create.
Step 6 Repeat steps 4 and 5 to create up to eight forwarding class mappings, as required.
Note: QoS policers can be configured and applied to NSG uplinks only by users with CSProot privileges. QoS
policers can be applied only at the enterprise level. They can not be applied to a VLAN template.
Step 1 As CSProot, navigate to Platform Configuration -> Infrastructure -> Network Service Gate-
ways -> QoS Configuration -> QoS Policers.
Step 1 As CSProot, navigate to Platform Configuration -> Infrastructure -> Network Service Gate-
ways -> QoS Configuration .
Note: This procedure can be performed at the gateway template level by CSProot or at the gateway instance level
by the enterprise admin. If a gateway instance has inherited an egress QoS policy from the gateway template, the
enterprise administrator can override them by associating a new policy at the instance level. This allows individual
gateways to have their egress QoS policies amended to suit new network uplink bandwidth profiles without affecting
the configuration of other NSGs.
Note: Existing infrastructure Egress QoS policies can be edited only if there are no associated gateway port objects.
Once the infrastructure egress QoS policy is created and is associated with gateway port/VLANs, its attributes cannot
be changed until all associations are removed. It is recommended that the CSProot or enterprise admin create a new
infrastructure egress QoS policy, disassociate the old policy, and assign the new one.
Step 1 From the enterprise view, navigate Infrastructure -> Network Service Gateways -> NSG ->
Port -> VLAN.
Step 1 From the enterprise view, navigate Infrastructure -> Network Service Gateways -> NSG ->
Port -> VLAN.
Note: For access ports, the collection interval is configurable at the vPort level. For network ports, the collection
interval is set to 60 seconds and is not configurable.
Step 5 Enable or disable statistics collection, if required, by checking Enable Stats Collection.
Step 6 Enter a Collection Frequency, if required.
Step 1 From the enterprise view, navigate Infrastructure -> Network Service Gateways .
Step 2 Right-click an NSG and choose Edit.
Step 3 Enter a a Control Traffic COS and Control Traffic DSCP to assign remarking values for self-
generated control traffic.
Step 4 Click update.
Step 5 Perform a reload configuration to finalize the changes.
===============================================================================
Gateway Ports Qos Information Table
===============================================================================
QoS Queue ID : 1
Egress Shaping PIR(Mbps) : 10.000 Egress Shaping PBS(kb) : 25
Egress Shaping CIR(Mbps) : 3.000
Egress Shaping Svc Classes : h1 nc
Number of Bytes : 0 Number of Packets : 0
Num of Packets Dropped : 0 Overlimits : 0
Requeues : 0 Lended : 0
Borrowed : 0
QoS Queue ID : 2
Egress Shaping PIR(Mbps) : 10.000 Egress Shaping PBS(kb) : 16
Egress Shaping CIR(Mbps) : 2.000
Egress Shaping Svc Classes : h2 ef
Number of Bytes : 0 Number of Packets : 0
Num of Packets Dropped : 0 Overlimits : 0
Requeues : 0 Lended : 0
Borrowed : 0
QoS Queue ID : 3
Egress Shaping PIR(Mbps) : 10.000 Egress Shaping PBS(kb) : 20
Egress Shaping CIR(Mbps) : 1.000
Egress Shaping Svc Classes : af l1
Number of Bytes : 0 Number of Packets : 0
QoS Queue ID : 4
Egress Shaping PIR(Mbps) : 10.000 Egress Shaping PBS(kb) : 22
Egress Shaping CIR(Mbps) : 1.000
Egress Shaping Svc Classes : be l2
Number of Bytes : 0 Number of Packets : 0
Num of Packets Dropped : 0 Overlimits : 0
Requeues : 0 Lended : 0
Borrowed : 0
-------------------------------------------------------------------------------
FC to DSCP remarking profiles
-------------------------------------------------------------------------------
FC Value DSCP Value
-------------------------------------------------------------------------------
ef 46
l1 18
be 0
h1 48
nc 56
l2 8
h2 34
af 10
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
FC to COS remarking profiles
-------------------------------------------------------------------------------
FC Value COS Value
-------------------------------------------------------------------------------
h2 4
ef 5
h1 6
nc 7
l1 3
be 0
l2 1
af 2
-------------------------------------------------------------------------------
No. of Ports: 1
===============================================================================
The following sample shows how to display QoS statistics on an access port:
You can configure DSCP and CoS remarking for self-generated control traffic on the VSC. The following example
shows DSCP remarking configured with a value of 56 for OpenFlow.
----------------------------------------------
application openflow dscp nc2
----------------------------------------------
*A:vsc-G>config>router>sgt-qos#
[no] application - Configure DSCP/Dot1p re-marking for applications
[no] dscp - Configure DSCP name to FC mapping
*A:vsc-G>config>router>sgt-qos# application
- application <dscp-app-name> dscp {<dscp-value>|<dscp-name>}
- application <dot1p-app-name> dot1p <dot1p-priority>
- no application {<dscp-app-name>|<dot1p-app-name>}
<dscp-app-name> : bgp|cflowd|dhcp|dns|dtls-ipsec|dtls-vxlan|ftp|icmp|igmp|igmp-
˓→reporter|json-rpc|l2tp|ldp|mld|msdp|ndis|ntp|openflow|ospf|pim|radius|rip|rsvp|snmp|
snmp-
˓→notification|srrp|ssh|syslog|tacplus|telnet|tftp|traceroute|vrrp|xmpp
<dscp-value> : [0..63]
<dscp-name> :
˓→none|be|ef|cp1|cp2|cp3|cp4|cp5|cp6|cp7|cp9|cs1|cs2|cs3|cs4|cs5|nc1|nc2|af11|af12|af13|af21|af22|af2
˓→cp17|cp19|cp21|cp23|cp25|cp27|cp29|cp31|cp33|cp35|cp37|cp39|cp41|cp42|cp43|cp44|cp45|cp47|cp49|cp50
cp61|cp62|cp63
<dot1p-priority> : [none|0..7]
<dot1p-app-name> : arp|isis|pppoe
SIX
ROUTING PROTOCOLS
324
VNS User Guide, Release 5.3.2
6.1 BGP
BGPv4 control-plane is supported on NSGs to enable advertisement/learning of LAN/WAN subnets to/from the NSG.
The primary use cases are:
1. NSG connected to upstream PE advertising LAN side subnets while learning remote routes from the PE.
2. NSG is advertising/learning routes from routers (CPE) located within the LAN (same AS) or from peering
networks (different AS).
Onboard BGP runs as CE-PE/CE-CPE protocol directly on the underlay to upstream/downstream router.
When an NSG is configured with an access-side BGP peer, it creates a TLS-encrypted MP-BGP session with the
VSC(s). There can be a maximum of two MP-BGP sessions — two on a single uplink, or one on each uplink in a dual
uplink scenario. The MP-BGP session is used to advertise BGP routes learned from the downstream CPE to the VSC,
which advertises the routes to remote NSGs. The NSG programs the data path locally after learning BGP routes, and
the VSC programs the data path for remote NSGs. BGP IPv4 routes are translated to BGP EVPN routes before being
advertised to the VSC.
The NSG-VSC BGP session fate shares with NSG-VSC OpenFlow session.
BGP routes are advertised with attribute transparency. Route attributes such as AS path, local preference, MED, and
community are retained by BGP neighbors when the route is advertised. Export and import routing policies can be
used to influence BGP path selection.
• If the same prefix is advertised by two CPEs to two different NSGs, traffic to the prefix will be forwarded using
ECMP.
• If the same prefix is advertised by two CPEs to the same NSG, only the best BGP route is advertised.
• ECMP is not used towards CPEs behind the same NSG.
• If the routes have equal attributes, the route which was learned first is selected.
Note: The NSG creates an iBGP session with the VSC using AS 65500. To prevent unexpected AS path loops, avoid
using AS 65500 elsewhere.
For Redundant Groups in the context of BGP, the following statements apply:
• Access side BGP peers on RG backup ports are kept in the “shut” state.
• When RG port mastership changes from backup to master, access side BGP peers are brought up.
• It may take until the keepalive timer expires (for stateless ACLs) or the holdtime timer (for stateful ACLs) for
the new BGP peering to come up with the new RG port master.
When an NSG goes into controllerless mode, the VSC will re-advertise the access side BGP routes learned from this
NSG with local preference as -50 from the existing local preference (or default value of 100 if no local preference was
set). In this case, remote NSGs will prefer NSGs that are not in controllerless mode over those that are.
When an NSG in an RG goes into controllerless mode, the routes from backup NSG RG will be withdrawn or adver-
tised by the VSC with -50 local preference (depending on how the NSG goes into controllerless mode). This causes
the remote NSGs to switch to the master NSG RG as soon as the new master learns the BGP routes via its access side
peers.
Note: When two NSG are advertising the same route with a local preference set at a difference of 50, if the NSG with
the higher local preference goes controllerless mode the result is ECMP between the two remaining next hops.
MD5 Authentication
MD5 authentication is supported for LAN and WAN BGP peers. Authentication is performed between neighboring
routers before establishing the BGP session by verifying a password using the MD5 message-based digest. The
authentication key can be any combination of ASCII characters up to 255 characters long.
The authentication key can be configured in a BGP neighbor blob using the authentication-key parameter. See
Sample BGP Neighbor XML Blob (page 339) for more information.
Multi-hop
When enabling EBGP multi-hop support, you must configure static routes on the VSD to resolve the BGP peer IP
address. The NSG advertises these static routes by default to the BGP peers. In order to avoid peering issues, it is
recommended to add a BGP export policy to restrict the advertisement of these static routes or alternatively install
static routes with a prefix length that is shorter than or equal to the BGP peer subnet.
Multihop can be configured in a BGP neighbor blob using the multihop parameter. See Sample BGP Neighbor
XML Blob (page 339) for more information.
The NSG can be configured with two BGP sessions to two different PEs on a single uplink. From 5.2.2, routes learnt
from BGP PE will be preferred over static routes pointing to Gateway (defined in Uplink connection). For example,
let us say that the gateway points to PE1 and the route to VSC is learnt from PE2. Traffic to VSC will be directed
towards PE2. The default route advertised by PE/s is handled as well. If the same route is received from both PEs, the
next-hop will be determined based on BGP attributes. The user can apply the import policy on the PE to prefer one
PE over the other. In the case of the active PE going down, routes from the other PE will be used. To avoid routes
received from PE1 being advertised to PE2, policies can be applied. For example, add an import policy on PE1 to tag
routes with community C1, import policy on PE2 to tag routes with community C2; export policy on PE1 to reject
routes with community C2 and export policy on PE2 to reject routes with community C1.
Dual PE redundancy is also supported on an uplink with secondary IP provisioned (post-bootstrap ONLY). Only a
single BGP peer can be associated to uplink connection for bootstrap. The second PE information will be downloaded
via Openflow/JSON). All traffic (except BGP session packets) will be sourced with Secondary IP. Please refer to
Secondary IP chapter for more details.
Until VNS 5.2.2, when PE redundancy was employed where an L2 underlay aggregated many CPEs and provided L2
underlay connectivity to two or more PEs, VRRP was used because it is transparent to the NSG. With release 5.2.2,
BGP too can be used. In other words, BGP route advertisements can provide redundancy for the NSG when it has
two BGP sessions to two separate PEs over a single physical uplink. The following graphic captioned “Single Uplink,
Dual PE” illustrates that use case, with textual descriptions relevant to the graphic below it.
Route policy
• PE1 “primary”
• PE2 “secondary”
• Option 1:
– Downstream traffic: NSG does AS path prepending towards PE2
– Upstream traffic: PE2 does AS path prepending towards NSG
• Option 2 (preferred):
– Downstream traffic: NSG sets MED 100 on primary BGP sessions advertised routes, MED 200 on sec-
ondary BGP session advertised routes
– Upstream traffic: NSG sets higher local preference on routes received from primary BGP session.
Note: When BGP is used on a redundant NSG vPort, it is recommended to create stateless ACL allow rules for
BGP, to improve the convergence time. The convergence time can be improved by having shorter keep-alive and hold
timers. For example, having keep-alive as 3 sec and hold-timer as 9 sec will have the peering to get established within
3-4sec if there is a mastership flap.
From release 5.2.2, default route from BGP LAN is handled. Routes learnt from BGP LAN / VSD static routes / VSD
subnet routes are written in a new table called ‘uplink_rx’, which installs these routes with next-hop as svc-pat-tap
(OVS) .
Example
Remote NSG and NSG-UBR reachability is assessed per NSG separately. This assessment is made by the NSG in its
OVS data path computation, however, NSG BGP does not take NSG reachability into consideration while advertising
remote NSG routes to CE BGP peers. NSG BGP performs a separate NSG reachability check to determine whether a
route can be advertised downstream. This is done by maintaining a VIF RTM to resolve remote NSGs and NSG-UBRs.
The VIF keyword represents both NSGs and NSG-UBRs. The VIF RTM is used to determine underlay reachability
for NSG BGP route advertisement purposes. The VIF RTM populates its table with remote VIFs using information
from NAT and UBR routes. When resolving a BGP EVPN IP prefix, the next hop remote VIF is considered reachable
if a routing table lookup of the VIF RTM results in a match.
The VIF RTM table is updated as follows:
• When the NSG receives a NAT or UBR route, a VIF route is added to the VIF RTM if the route contains an
underlay common to one of the NSG uplinks.
• When the NSG-UBR receives a UBR route, a VIF route is added to the VIF RTM if the NSG-UBR is in a
common NSG-UBR group and belongs to one of the underlays of the source and destination NSGs.
Use the VIF RTM CLI Commands (page 377) to view VIF routes and assess route or underlay reachability.
Step 1 As CSPRoot, navigate to Organization Policies -> Organization Profiles, to create a new or modify
an existing profile.
Step 2 Check the Enable Routing Protocols option. Unless this option is enabled, BGP functionality
and related configuration options will not be available.
Step 3 Create a new Organization (enterprise) and associate the BGP-enabled enterprise profile.
Step 4 Configure Local AS for the enterprise, which is required when BGP is enabled and is used for all
neighbors created in this enterprise.
Note: For LAN and WAN BGP peer ASs and enterprise ASs, you can specify an AS number in
2-byte notation, or in 4-byte notation using the ASPLAIN format. The range for a 4-byte AS is 0 to
4,294,967,295.
Note: The NSG floating default route (0.0.0.0/0 with pref 255) can be advertised or blocked depending on the applied
policy.
BGP-related information associated at the Domain instance level complements any definition by the Enterprise Admin
at the Domain Template or at the enterprise level.
The domain-specific routing policies will not be visible in other domain instances.
Step 1 As Network user, navigate to Networks -> L3 Domains, and select an instantiated Domain.
Step 2 From the far right panel, select icon, and click on to open new Routing Policy popup. Add
the new policy as described earlier.
BGP routing profiles are used to assign default import / export policies and dampening configuration to the neighbors.
Profiles are assigned to Uplink Port VLAN for uplink/PE neighbors, and to domain templates for access side/CPE
neighbors. Only a CSPRoot or Enterprise administrator may delete a BGP profile and that only when it is not in use.
Step 1 As Enterprise administrator, navigate to Infrastructure -> BGP Profiles. Click on icon in
the panel to add a BGP Profile or edit an existing one.
• When the penalty goes above the Suppression Period, the routes are suppressed and are not
advertised or used. Default is 3000 mins.
• The Half-Life Period is the duration after which the penalty is reduced by half. Default is 15
mins.
• After the Maximum Suppress Period elapses, the suppressed route it reused and advertised.
Default is 60 mins.
• When the penalty is below the Route Reuse Limit, the route is used and advertised. Default is
750.
Step 1 As Enterprise administrator, navigate to Infrastructure -> Network Service Gateways -> NSG
instance -> Network Port -> VLAN.
Step 2 Assign BGP Profile to Uplink: Select at the top of the right panel and click on to select a
BGP profile to assign.
will be evaluated first. In other words, import/export policies specified at the peer level in this
window are appended to the policies at the profile level. Refer to order of inheritance of default
actions (page 345) for additional details.
As Enterprise administrator, navigate to Networks -> L3 Domains, and select an L3 Domain Template.
Note: Routing profiles assigned to domain templates get applied to all the peers created at the subnet.
Note: Each NSG has a default 0.0.0.0/0 route with a preference of 255 in each RTM.
Step 2 Select at the top of the far right panel. Click on the in the panel to add a BGP neighbor as
described earlier.
Refer to BGP CLI (page 353) chapter for all the relevant show commands and sample output.
A blob is an opaque object (as seen by VSD) based on an extensible OpenConfig schema whereby configuration
elements are defined as part of an XML document. The user may define such elements in order to configure BGP
policies on the NSG ultimately controlling route-import/export behavior.
<neighbor xmlns="alu:nuage:bgp:neighbor">
<config>
<description>Neighbor description goes here</description>
<advertise-inactive>false</advertise-inactive>
<disable-4byte-asn>false</disable-4byte-asn>
<disable-capability-negotiation>false</disable-capability-negotiation>
<local-preference>200</local-preference>
<next-hop-self>true</next-hop-self>
<remove-private-as>true</remove-private-as>
<set-med-out>1234</set-med-out>
<split-horizon>false</split-horizon>
</config>
<timers>
<connect-retry>1234</connect-retry>
<hold-time>1234</hold-time>
<keepalive>10</keepalive>
<minimum-advertisement-interval>20</minimum-advertisement-interval>
</timers>
<transport>
<passive-mode>false</passive-mode>
<authentication-key>key</authentication-key>
<multihop>5</multihop>
</transport>
</neighbor>
Attention: Passive mode must be set to false for access and uplink neighbors. NSG needs to initiate BGP session
with peer.
config — The config element and its parameters are optional. If undefined, true and false values listed in the
sample above are the default values for each parameter.
timer — The timer element and its parameters are optional.
connect-retry — Defines the length of time, in seconds, to wait for attempting to reconnect. The default is 60
seconds.
hold-time — Defines the length of time, in seconds, to maintain a TCP session if no keepalive messages are
received from the remote neighbor. The default is 60 seconds.
keepalive — Defines the interval, in seconds, to send session keepalive messages to the neighbor. The default is
10 seconds. A value of 0 disables keepalive messages.
minimum-advertisement-interval — Defines the minimum interval, in seconds, in which BGP policies are
reevaluated.
authentication-key — Defines an MD5 authentication key.
multihop — Defines the multi-hop TTL for EBGP multihop support.
|-- neighbor
| |-- config
| | |-- description
| | |-- advertise-inactive
| | |-- disable-4byte-asn
| | |-- disable-capability-negotiation
| | |-- local-preference
| | |-- local-as
| | |-- next-hop-self
| | |-- remove-private-as
| | |-- set-med-out
| | |-- split-horizon
| | |-- prefix-limit
| | +-- host-advertisement
| |
| |-- timers
| | |-- connect-retry
| | |-- hold-time
| | |-- keepalive
| | +-- minimum-advertisement-interval
| |
| |-- transport
| | |-- mtu-discovery
| | |-- passive-mode
| | |-- authentication-key
| | |-- authentication-key-hash2
| | +-- multihop
| |
| +-- error-handling
| +-- treat-as-withdraw
<?xml version="1.0"?>
<routing-policy xmlns="alu:nuage:bgp:routing:policy">
<defined-sets>
<prefix-sets>
<prefix-set>
<prefix-set-name>prefix_list_1</prefix-set-name>
<prefix>
<ip-prefix>1.1.1.1/32</ip-prefix>
<masklength-range>exact</masklength-range>
</prefix>
<prefix>
<ip-prefix>2.2.2.0/24</ip-prefix>
<masklength-range>24..28</masklength-range>
</prefix>
</prefix-set>
<prefix-set>
<prefix-set-name>prefix_list_2</prefix-set-name>
<prefix>
<ip-prefix>11.11.0.0/16</ip-prefix>
<masklength-range>16..24</masklength-range>
</prefix>
</prefix-set>
</prefix-sets>
<community-sets>
<community-set>
<community-set-name>comm_1</community-set-name>
<community>
<community-name>100:101</community-name>
</community>
<community>
<community-name>100:102</community-name>
</community>
<community>
<community-name>100:103 100:104</community-name>
</community>
</community-set>
<community-set>
<community-set-name>comm_2</community-set-name>
<community>
<community-name>101:101</community-name>
</community>
<community>
<community-name>101:102</community-name>
</community>
</community-set>
</community-sets>
<as-path-sets>
<as-path-set>
<as-path-set-name>as_path_1</as-path-set-name>
<as-path-expression>*100*</as-path-expression>
</as-path-set>
<as-path-set>
<as-path-set-name>as_path_2</as-path-set-name>
<as-path-expression>*200*</as-path-expression>
</as-path-set>
</as-path-sets>
</defined-sets>
<policy-definition>
<statements>
<statement>
<name>entry_1</name>
<conditions>
<match-prefix-set>
<prefix-set>prefix_list_1</prefix-set>
</match-prefix-set>
<match-community-set>
<community-set>comm_1</community-set>
</match-community-set>
<match-as-path-set>
<as-path-set>as_path_1</as-path-set>
</match-as-path-set>
<install-protocol-eq>BGP</install-protocol-eq>
</conditions>
<actions>
<accept-route-set>
<accept-route/>
<as-path-set>as_path_2</as-path-set>
<community-set>comm_2</community-set>
<local-preference>200</local-preference>
<metric>
<add>10</add>
<subtract>10</subtract>
<set>110</set>
</metric>
<next-hop>10.10.1.1</next-hop>
<next-hop-self>true</next-hop-self>
<preference>100</preference>
</accept-route-set>
<reject-route/>
</actions>
</statement>
<statement>
<name>entry_2</name>
<conditions>
<match-prefix-set>
<prefix-set>prefix_list_2</prefix-set>
</match-prefix-set>
<install-protocol-eq>STATIC</install-protocol-eq>
</conditions>
<actions>
<reject-route/>
</actions>
</statement>
</statements>
<default-action>
<accept-route-set>
<accept-route/>
<community-set>comm_1</community-set>
<local-preference>200</local-preference>
</accept-route-set>
<reject-route/>
</default-action>
</policy-definition>
</routing-policy>
|-- routing-policy
| |-- defined-sets
| | |-- prefix-sets
| | | +-- prefix-set
| | | |-- prefix-set-name
| | | +-- prefix
| | | |-- ip-prefix
| | | +-- masklength-range
| | |
| | |-- neighbor-sets
| | | +-- neighbor-set
| | | |-- neighbor-set-name
| | | +-- neighbor
| | | +-- address
| | |
| | |-- community-sets
| | | +-- community-set
| | | |-- community-set-name
| | | +-- community
| | | +-- community-name
| | |
| | +-- as-path-sets
| | +-- as-path-set
| | |-- as-path-set-name
| | +-- as-path-expression
| |
| +-- policy-definition
| |-- statements
| | +-- statement
| | |-- name
| | |-- conditions
| | | |-- match-prefix-set
| | | | +-- prefix-set
| | | |
| | | |-- match-neighbor-set
| | | | +-- neighbor-set
| | | |
| | | |-- match-community-set
| | | | +-- community-set
| | | |
| | | |-- match-as-path-set
| | | | +-- as-path-set
| | | |
| | | +-- install-protocol-eq
| | |
| | +-- actions
| | |-- accept-route-set
| | | |-- accept-route
| | | |-- as-path-set
| | | |-- community-set
| | | |-- community-remove
| | | |-- community-replace
| | | |-- local-preference
| | | |-- metric
| | | | |-- add
| | | | |-- subtract
| | | | +-- set
| | | |
| | | |-- next-hop
| | | |-- next-hop-self
| | | |-- preference
| | | +-- as-path-prepend
| | |
| | +-- reject-route
| |
| +-- default-action
| |-- accept-route-set
| | |-- accept-route
| | |-- as-path-set
| | |-- community-set
| | |-- community-remove
| | |-- community-replace
| | |-- local-preference
| | |-- metric
| | | |-- add
| | | |-- subtract
| | | +-- set
| | |
| | |-- next-hop
| | |-- next-hop-self
| | |-- preference
| | +-- as-path-prepend
| |
| +-- reject-route
prefix-list "RP-1_prefix_list_1"
prefix 1.1.1.1/32 exact
prefix 2.2.2.0/24 prefix-length-range 24-28
exit
prefix-list "RP-1_prefix_list_2"
prefix 11.11.0.0/16 prefix-length-range 16-24
exit
community "RP-1_comm_1" members "100:101" "100:102" "100:103"
as-path "RP-1_as_path_1" "100*"
policy-statement "RP-1"
entry 10
from
protocol static
prefix-list "RP-1_prefix_list_1"
as-path "RP-1_as_path_1"
community "RP-1_comm_1"
exit
action accept
as-path add "RP-1_as_path_2"
community add "RP-1_comm_2"
preference 100
metric set 110
next-hop-self
exit
exit
default-action accept
community add "RP-1_comm_1"
exit
exit
BGP routing policies may be specified during different stages of the BGP workflow, such as in BGP Profile and/or
BGP Neighbor definition. Default action can be specified either by using the drop down menu in the routing policy
object or can be specified inside the policy definition blob.
Default action for routing policy evaluation follows an ordered inheritance model as follows:
• Rule 1: Default action specified in the policy definition blob will take precedence over the Default Route Action
in the policy object.
• Rule 2: If routing policy is assigned at BGP Profile level as well as at BGP Neighbor level, then routing policy
at BGP Profile level will be evaluated first.
If default action of routing policy at BGP Profile level (as evaluated per Rule 1) is:
• Accept, then routing policy at Neighbor level will be evaluated. If none of the entries of this policy match, then
default action of routing policy at neighbor level will be applied to the route (per Rule 2).
• Reject, then the route will be rejected. Routing policy at Neighbor level will not be evaluated in this case.
Similarly, if any entry of routing policy at BGP Profile level is matched and this entry’s action is accept, then routing
policy at Neighbor level will be evaluated. Else if action is reject, the route will be rejected and routing policy at
Neighbor level will not be evaluated.
On an NSG, the nuage-bgp-show rtm-routes command displays the following route types:
• Static: Default routes are programmed as static routes. Static routes are advertised to neighbors if
the protocol STATIC is allowed by routing policies.
• NVC_LOCAL: VSD-configured subnets and local /32 routes from those subnets.
• BGP: Routes learned from local BGPv4 peers.
• BGP_VPN: Remote routes in access-side domains learned from the controller; or, routes leaked
between uplink and access-side domains.
For an NSG BGP instance, an import routing policy can be used to the access-side or uplink BGP peer to
set a BGP protocol preference high or lower than the BGP VPN preference. A preference values applied
on the uplink VRF and the access-side domain VRF are retained when routes are leaked between the two.
For example, if an NSG should prefer a remote NSG route over a local BGP route, an import routing
policy can be applied on the BGP neighbor to increase the BGP protocol preference to a value greater
than 170 (the default BGP protocol preference for BGP VPN remote NSG routes).
If that NSG should prefer routes from an uplink neighbor over remote NSG routes, an import routing
policy can be applied on the uplink BGP peers to decrease the BGP protocol preference to a value lesser
than 170. If remote NSG routes should be preferred over uplink routes, the policy should increase the
BGP protocol preference to a value greater than 170.
Central Gateway
In this use case, the SD-WAN service is integrated with an isolated MPLS WAN and provides connectivity between
endpoints via a network of central gateways. In this case, the central gateways are redundant NSG-UBRs at a hub site.
By default, the offnets use ECMP to one of the NSG-UBRs to reach the legacy IPVPN networks.
If a specific NSG-UBR needs to be preferred, you can configure policies to ensure traffic is routed through that NSG-
UBR. There are multiple ways to configure the policy. If multiple BGP VPN routes exist with varied BGP attributes,
the controller does not collate these routes into ECMP routes, and the best route is selected.
The following use case examples show how offnet NSGs can route traffic to the NSG-UBR connected to the same
controller.
Example #1
Apply an import routing policy to the access-side neighbor behind the preferred UBR that tags the routes with a
community. Apply an import routing policy on the VSC that matches on the community and sets the preference to a
value lower than the default of 170 for these routes. Together, these policies route traffic to the preferred NSG-UBR
from NSG that share the same controller.
Note the community-set parameter in the following sample.
Sample BGP neighbor blob:
</accept-route-set>
</default-action>
</policy-definition>
</routing-policy>
*vsc>config>router>policy-options# info
----------------------------------------------
community "comm" members "1:1"
policy-statement "comm"
entry 10
from
community "comm"
exit
action accept
preference 160
exit
exit
default-action accept
exit
exit
*vsc>config>router>bgp# info
----------------------------------------------
family ipv4 vpn-ipv4 evpn
vpn-apply-import
connect-retry 5
hold-time 120
min-route-advertisement 1
import "comm"
router-id 10.20.1.7
rapid-withdrawal
rapid-update evpn
group "test"
neighbor 10.20.1.9
med-out 100
peer-as 1000
exit
exit
no shutdown
Example #2
Apply an import routing policy to the access-side neighbor behind the non-preferred UBR with a higher MED so that
other UBR learning routes with the default MED are preferred. This policy routes traffic to the preferred NSG-UBR
from all NSGs.
Note the metric parameter in the following sample.
Sample BGP neighbor blob:
<?xml version="1.0" encoding="UTF-8"?>
<routing-policy xmlns="alu:nuage:bgp:routing:policy">
<defined-sets>
<prefix-sets>
<prefix-set>
<prefix-set-name>prefix_list_1</prefix-set-name>
<prefix>
<ip-prefix>1.1.1.0/24</ip-prefix>
<masklength-range>exact</masklength-range>
</prefix>
</prefix-set>
</prefix-sets>
</defined-sets>
<policy-definition>
<statements>
<statement>
<name>entry_1</name>
<conditions>
<match-prefix-set>
<prefix-set>prefix_list_1</prefix-set>
</match-prefix-set>
<install-protocol-eq>BGP</install-protocol-eq>
</conditions>
<actions>
<accept-route-set>
<accept-route />
<metric>
<set>10</set>
</metric>
</accept-route-set>
</actions>
</statement>
</statements>
<default-action>
<accept-route-set>
<accept-route />
</accept-route-set>
</default-action>
</policy-definition>
</routing-policy>
Example #3
Apply an import routing policy to the access-side neighbor behind the non-preferred UBR with AS path prepend so
that other UBR learning routes with lower AS path length are preferred. This policy routes traffic to the preferred
NSG-UBR from all NSGs.
Note the as-path-set parameter in the following sample.
Sample BGP neighbor blob:
<?xml version="1.0" encoding="UTF-8"?>
<routing-policy xmlns="alu:nuage:bgp:routing:policy">
<defined-sets>
<prefix-sets>
<prefix-set>
<prefix-set-name>prefix_list_1</prefix-set-name>
<prefix>
<ip-prefix>1.1.1.0/24</ip-prefix>
<masklength-range>exact</masklength-range>
</prefix>
</prefix-set>
</prefix-sets>
<as-path-sets>
<as-path-set>
<as-path-set-name>as-path_list_1</as-path-set-name>
<as-path-expression>100</as-path-expression>
</as-path-set>
</as-path-sets>
</defined-sets>
<policy-definition>
<statements>
<statement>
<name>entry_1</name>
<conditions>
<match-prefix-set>
<prefix-set>prefix_list_1</prefix-set>
</match-prefix-set>
<install-protocol-eq>BGP</install-protocol-eq>
</conditions>
<actions>
<accept-route-set>
<accept-route />
<as-path-set>as-path_list_1</as-path-set>
</accept-route-set>
</actions>
</statement>
</statements>
<default-action>
<accept-route-set>
<accept-route />
</accept-route-set>
</default-action>
</policy-definition>
</routing-policy>
Example #4
If the central gateway forms an iBGP session with the IPVPN, this solution could be used.
Apply an import routing policy to the access-side neighbor behind the preferred UBR with a higher local preference.
This policy routes traffic to the preferred NSG-UBR from all NSGs.
Note the local-preference parameter in the following sample.
Sample BGP neighbor blob:
</defined-sets>
<policy-definition>
<statements>
<statement>
<name>entry_1</name>
<conditions>
<match-prefix-set>
<prefix-set>prefix_list_1</prefix-set>
</match-prefix-set>
<install-protocol-eq>BGP</install-protocol-eq>
</conditions>
<actions>
<accept-route-set>
<accept-route />
<local-preference>150</local-preference>
</accept-route-set>
</actions>
</statement>
</statements>
<default-action>
<accept-route-set>
<accept-route />
</accept-route-set>
</default-action>
</policy-definition>
</routing-policy>
In this use case, there are no fully isolated networks. Hybrid branch sites peer with the legacy IPVPN network on the
LAN side via BGP. By default, offnets use ECMP to both the NSG-UBR and the hybrid NSGs to reach the IPVPN.
This use case is similar to the previous one, except the hybrid site peers on the WAN side via BGP.
Route selection behavior in this use case is as follows:
Hybrid NSG traffic toward offnet NSG
• Overlay routes are received on the hybrid NSG via the following path: Offnet NSG - VSC - Hybrid NSG.
• Underlay routes are received on the hybrid NSG via the following path: Offnet NSG - VSC - NSG-UBR -
IPVPN - Hybrid NSG.
• Due to an AS path loop with underlay routes, only overlay routes are programmed into the hybrid NSG.
• To ensure that overlay routes are preferred over underlay routes, you must configure an export and import
routing policy. Configure an export routing policy that tags routes with a specific community and apply it to
the BGP peer of the NSG-UBR. Configure an import routing policy matching on the community to set an RTM
preference higher than the default 170 and apply it to the uplink BGP peer of the hybrid NSG.
Offnet NSG traffic toward hybrid NSG
• Overlay routes are received on the offnet NSG via the following path: Hybrid NSG - VSC - Offnet NSG.
• Overlay routes are also received on the offnet NSG via the following path: Hybrid NSG - IPVPN - NSG-UBR -
VSC - Offnet NSG.
• Due to an AS path loop with the second overlay route learning path, only routes from the first overlay route
learning path are programmed into the offnet NSG.
• To ensure that overlay routes learned from the hybrid NSG are preferred over routes learned from the NSG-
UBR, you must configure an export and import routing policy. Configure an export routing policy that tags
routes with a specific community and apply it to the uplink peer of the hybrid NSG. Configure an import routing
policy matching on the community to set a local preference lower than the default 100 and apply it to the access
side BGP peer of the NSG-UBR. When the hybrid NSG goes into controllerless mode, routes learned from the
NSG-UBR are used and the hybrid is still reachable via the underlay.
Hybrid NSG traffic toward IPVPN
• Underlay routes are received on the hybrid NSG via the following path: IPVPN - Hybrid NSG.
• Overlay routes are received on the hybrid NSG via the following path: IPVPN - NSG-UBR - VSC - Hybrid
NSG.
• To ensure that underlay routes are preferred over overlay routes received from the controller, you must configure
an import routing policy. Configure an import routing policy that sets an RTM preference lower than the default
170 and apply it to the uplink peer of the hybrid NSG.
IPVPN traffic toward hybrid NSG
• Routes are received on the IPVPN via the following path: Hybrid - IPVPN.
• Routes are also received on the IPVPN via the following path: Hybrid - VSC - NSG-UBR - IPVPN.
• Routes learned from both paths are installed, however underlays routes are preferred on the IPVPN due to a
lower AS path length. If routes from the first path are not available, routes from the second path are used.
• To ensure that routes from the hybrid NSG are preferred over routes from the NSG-UBR, you must configure
an export routing policy. Configure an export routing policy with a local preference that is higher than the
preference value for routes from the NSG-UBR and apply it to the uplink peer of the hybrid NSG.
optional arguments:
-h, --help show this help message and exit
and neighbor
===============================================================================
BGP Summary
===============================================================================
Neighbor
ServiceId AS PktRcvd InQ Up/Down State|Rcv/Act/Sent (Addr Family)
PktSent OutQ
-------------------------------------------------------------------------------
20.0.0.3
Svc: 20001 300 1322 0 01h52m05s 1/0/8 (IPv4)
1502 0
20.0.0.100
Svc: 20001 200 1322 0 01h52m05s 1/0/9 (IPv4)
1504 0
-------------------------------------------------------------------------------
===============================================================================
BGP Summary
===============================================================================
Neighbor
AS PktRcvd InQ Up/Down State|Rcv/Act/Sent (Addr Family)
PktSent OutQ
-------------------------------------------------------------------------------
20.0.0.3
300 1351 0 01h54m32s 1/0/8 (IPv4)
1535 0
20.0.0.100
200 1351 0 01h54m32s 1/0/9 (IPv4)
1537 0
-------------------------------------------------------------------------------
===============================================================================
BGP Summary
===============================================================================
Neighbor
AS PktRcvd InQ Up/Down State|Rcv/Act/Sent (Addr Family)
PktSent OutQ
-------------------------------------------------------------------------------
20.0.0.3
300 1361 0 01h55m24s 1/0/8 (IPv4)
1546 0
-------------------------------------------------------------------------------
===============================================================================
BGP Neighbor
===============================================================================
-------------------------------------------------------------------------------
Peer : 20.0.0.3
Group : 20.0.0.3
-------------------------------------------------------------------------------
Peer AS : 300 Peer Port : 57910
Peer Address : 20.0.0.3
Local AS : 200 Local Port : 179
Local Address : 20.0.0.1
-------------------------------------------------------------------------------
Neighbors : 1
===============================================================================
* indicates that the corresponding row element may have been truncated.
===============================================================================
BGP Neighbor
===============================================================================
-------------------------------------------------------------------------------
Peer : 20.0.0.3
Group : 20.0.0.3
-------------------------------------------------------------------------------
Peer AS : 300 Peer Port : 57910
Peer Address : 20.0.0.3
Local AS : 200 Local Port : 179
Local Address : 20.0.0.1
Peer Type : External
State : Established Last State : Established
Last Event : recvKeepAlive
Last Error : Cease (Connection Collision Resolution)
Local Family : IPv4
Remote Family : IPv4
Connect Retry : 120 Local Pref. : 200
Min Route Advt. : 30 Min AS Orig. : 15
Multihop : 0 (Default) AS Override : Disabled
Damping : Disabled Loop Detect : Ignore
MED Out : No MED Out Authentication : None
Next Hop Self : Enabled AggregatorID Zero : Disabled
Remove Private : Disabled Passive : Enabled
Peer Identifier : 20.0.0.3 Fsm Est. Trans : 1
Fsm Est. Time : 02h00m01s InUpd Elap. Time : 03h46m13s
Prefix Limit : No Limit
Prefix Log Only : Disabled Prefix Threshold : 90
Hold Time : 90 Keep Alive : 30
Min Hold Time : 0
Active Hold Time : 15 Active Keep Alive : 5
Cluster Id : None Client Reflect : Disabled
Preference : 170 Num of Update Flaps : 0
Recd. Paths : 1
IPv4 Recd. Prefixes : 1 IPv4 Active Prefixes : 0
IPv4 Suppressed Pfxs : 0 VPN-IPv4 Suppr. Pfxs : 0
VPN-IPv4 Recd. Pfxs : 0 VPN-IPv4 Active Pfxs : 0
Mc IPv4 Recd. Pfxs. : 0 Mc IPv4 Active Pfxs. : 0
Mc IPv4 Suppr. Pfxs : 0 IPv6 Suppressed Pfxs : 0
IPv6 Recd. Prefixes : 0 IPv6 Active Prefixes : 0
VPN-IPv6 Recd. Pfxs : 0 VPN-IPv6 Active Pfxs : 0
VPN-IPv6 Suppr. Pfxs : 0 L2-VPN Suppr. Pfxs : 0
L2-VPN Recd. Pfxs : 0 L2-VPN Active Pfxs : 0
MVPN-IPv4 Suppr. Pfxs: 0 MVPN-IPv4 Recd. Pfxs : 0
MVPN-IPv4 Active Pfxs: 0 MDT-SAFI Suppr. Pfxs : 0
MDT-SAFI Recd. Pfxs : 0 MDT-SAFI Active Pfxs : 0
FLOW-IPV4-SAFI Suppr*: 0 FLOW-IPV4-SAFI Recd.*: 0
FLOW-IPV4-SAFI Activ*: 0 Rte-Tgt Suppr. Pfxs : 0
Rte-Tgt Recd. Pfxs : 0 Rte-Tgt Active Pfxs : 0
Evpn Suppr. Pfxs : 0 Evpn Recd. Pfxs : 0
Evpn Active Pfxs : 0
Backup IPv4 Pfxs : 0 Backup IPv6 Pfxs : 0
Mc Vpn Ipv4 Recd. Pf*: 0 Mc Vpn Ipv4 Active P*: 0
Backup Vpn IPv4 Pfxs : 0 Backup Vpn IPv6 Pfxs : 0
Input Queue : 0 Output Queue : 0
i/p Messages : 1416 o/p Messages : 1607
i/p Octets : 26958 o/p Octets : 30643
-------------------------------------------------------------------------------
Neighbors : 1
===============================================================================
* indicates that the corresponding row element may have been truncated.
===============================================================================
BGP Router ID:78.129.167.75 AS:200 Local AS:200
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
Origin codes : i - IGP, e - EGP, ? - incomplete, > - best, b - backup
===============================================================================
BGP IPv4 Routes
===============================================================================
Flag Network LocalPref MED
Nexthop Path-Id VPNLabel
As-Path
-------------------------------------------------------------------------------
*i 20.0.0.0/24 n/a None
20.0.0.3 None -
300
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
===============================================================================
BGP Router ID:78.129.167.75 AS:200 Local AS:200
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
Origin codes : i - IGP, e - EGP, ? - incomplete, > - best, b - backup
===============================================================================
BGP IPv4 Routes
===============================================================================
Flag Network LocalPref MED
===============================================================================
Route Table (Router: Vrf 4)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
0.0.0.0/0 Remote Static 02h03m48s 0
Ukwn Interface 0
20.0.0.0/24 Local NVC 02h03m45s 0
0
20.0.1.0/24 Local NVC 02h03m45s 0
0
20.0.2.0/24 Local NVC 02h03m45s 0
0
20.0.3.0/24 Local NVC 02h03m45s 0
0
20.0.4.0/24 Local NVC 02h03m45s 0
0
20.0.5.0/24 Local NVC 02h03m45s 0
0
20.0.6.0/24 Local NVC 02h03m45s 0
0
20.0.7.0/24 Local NVC 02h03m45s 0
0
-------------------------------------------------------------------------------
No. of Routes: 9
Flags: L = LFA nexthop available B = BGP backup route available
n = Number of times nexthop is repeated * = Virtual Nexthop
===============================================================================
===============================================================================
BGP IPv4 Routes
===============================================================================
-------------------------------------------------------------------------------
Original Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.3
Path Id : None
From : 20.0.0.3
Res. Nexthop : 20.0.0.3
Local Pref. : n/a Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.3
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : External
AS-Path : 300
Modified Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.3
Path Id : None
From : 20.0.0.3
Res. Nexthop : 20.0.0.3
Local Pref. : None Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.3
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : External
AS-Path : 300
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Original Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.100
Path Id : None
From : 20.0.0.100
Res. Nexthop : 20.0.0.100
Local Pref. : 100 Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.100
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : Internal
AS-Path : No As-Path
Modified Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.100
Path Id : None
From : 20.0.0.100
Res. Nexthop : 20.0.0.100
Local Pref. : 100 Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.100
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : Internal
AS-Path : No As-Path
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
===============================================================================
BGP IPv4 Routes
===============================================================================
Flag Network LocalPref MED
Nexthop Path-Id VPNLabel
As-Path
-------------------------------------------------------------------------------
*i 20.0.0.0/24 None None
20.0.0.3 None -
300
*i 20.0.0.0/24 100 None
20.0.0.100 None -
No As-Path
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
value = 0 = 0x0
===============================================================================
BGP IPv4 Routes
===============================================================================
-------------------------------------------------------------------------------
Original Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.3
Path Id : None
From : 20.0.0.3
Res. Nexthop : 20.0.0.3
Local Pref. : n/a Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.3
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : External
AS-Path : 300
Modified Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.3
Path Id : None
From : 20.0.0.3
Res. Nexthop : 20.0.0.3
Local Pref. : None Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.3
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : External
AS-Path : 300
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Original Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.100
Path Id : None
From : 20.0.0.100
Res. Nexthop : 20.0.0.100
Local Pref. : 100 Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.100
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : Internal
AS-Path : No As-Path
Modified Attributes
Network : 20.0.0.0/24
Nexthop : 20.0.0.100
Path Id : None
From : 20.0.0.100
Res. Nexthop : 20.0.0.100
Local Pref. : 100 Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
Community : No Community Members
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 20.0.0.100
Fwd Class : None Priority : None
Flags : Valid IGP
Route Source : Internal
AS-Path : No As-Path
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
bgp
export "_nuage_int_pol_exp_bgpvpn"
group "20.0.0.3"
local-as 200
neighbor 20.0.0.3
connect-retry 120
keepalive 30
hold-time 90
local-preference 200
min-route-advertisement 30
next-hop-self
passive
local-as 200
peer-as 300
advertise-inactive
path-mtu-discovery
split-horizon
exit
exit
group "20.0.0.100"
local-as 200
neighbor 20.0.0.100
connect-retry 120
keepalive 30
hold-time 90
local-preference 200
min-route-advertisement 30
next-hop-self
passive
local-as 200
peer-as 200
advertise-inactive
path-mtu-discovery
split-horizon
exit
exit
no shutdown
exit
value = 0 = 0x0
===========================================
BGP Config Vrf: 2 RTM Vrf: 5
===========================================
===========================================
BGP Config Vrf: 3 RTM Vrf: 3
===========================================
===========================================
BGP Config Vrf: 20001 RTM Vrf: 4
===========================================
autonomous-system 200
router-id 78.129.167.75
route-distinguisher 65534:12148
bgp
export "_nuage_int_pol_exp_bgpvpn"
group "20.0.0.3"
local-as 200
neighbor 20.0.0.3
connect-retry 120
keepalive 30
hold-time 90
local-preference 200
min-route-advertisement 30
next-hop-self
passive
local-as 200
peer-as 300
advertise-inactive
path-mtu-discovery
split-horizon
exit
exit
group "20.0.0.100"
local-as 200
neighbor 20.0.0.100
connect-retry 120
keepalive 30
hold-time 90
local-preference 200
min-route-advertisement 30
next-hop-self
passive
local-as 200
peer-as 200
advertise-inactive
path-mtu-discovery
split-horizon
exit
exit
no shutdown
exit
===========================================
BGP Config Vrf: 20013 RTM Vrf: 2
===========================================
action accept
exit
exit
entry 30
from
protocol nvc-static
exit
action accept
exit
exit
entry 40
from
protocol nvc
exit
action accept
exit
exit
default-action accept
exit
exit
=================================
Info (0xf0987f18): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner
˓→STATIC: flags IMPORTED USED BEST : next (nil): attr 0xf2203228, orig 0xf2203228,
˓→path- id: 0
Attr: my ptr 0xf2203228: IPV4: ref 2: flags MED_PRSNT FC_PRSNT IMPORTED : num asn 0:
˓→as-len: 0:
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.0.0/24
my ptr 0xf514f520: route in head ptr 0xf0987118: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 47
Info (0xf0987118): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC_
˓→LOCAL: flags IMPORTED USED BEST : next 0xf09871c0: attr 0xf2202e38, orig
˓→0xf2202e38, path-id: 0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xd2fc5987: asp ptr 0xf2202ec0: comm ptr 0xf2202ec0
ext_comm ptr 0xf2202ec0: cluster_ptr 0xf2202ec0: pmsi_ptr 0xf2202ec0: uta
˓→0xf2202ec0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Info (0xf09871c0): VR 4: Group 20.0.0.3: Peer 20.0.0.3: addr type IPV4: label
˓→16777215: pref 170: owner BGP: flags NONE ADV-INACT : next 0xf0987188: attr
Attr: my ptr 0xf2209270: IPV4: ref 2: flags EBGP_LEARNED : num asn 1: as-len: 1:
nh_p 0xf3571d18: nh flags IPV4 RESOLVED
res nexthop 20.0.0.3: num_nh 1: metrics 0: out_ifid 0x0
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0x14767675: asp ptr 0xf22092f8: comm ptr 0xf2209300
ext_comm ptr 0xf2209300: cluster_ptr 0xf2209300: pmsi_ptr 0xf2209300: uta
˓→0xf2209300
nexthop 20.0.0.3
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 0
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 300
Info (0xf0987188): VR 4: Group 20.0.0.100: Peer 20.0.0.100: addr type IPV4: label
˓→16777215: pref 170: owner BGP: flags NONE : next (nil): attr 0xf2202c88, orig
˓→0xf2202c88, path-id: 0
Attr: my ptr 0xf2202c88: IPV4: ref 2: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
nh_p 0xf3573800: nh flags IPV4 RESOLVED
res nexthop 20.0.0.100: num_nh 1: metrics 0: out_ifid 0x0
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0x43b3e111: asp ptr 0xf2202d10: comm ptr 0xf2202d10
ext_comm ptr 0xf2202d10: cluster_ptr 0xf2202d10: pmsi_ptr 0xf2202d10: uta
˓→0xf2202d10
nexthop 20.0.0.100
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 100: aggr ip 0.0.0.0: aggr as 0: origin 0
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.1.0/24
my ptr 0xf514ed70: route in head ptr 0xf0986350: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 39
Info (0xf0986350): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC_
˓→LOCAL: flags IMPORTED USED BEST : next (nil): attr 0xf2202e38, orig 0xf2202e38,
˓→path-id: 0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xd2fc5987: asp ptr 0xf2202ec0: comm ptr 0xf2202ec0
ext_comm ptr 0xf2202ec0: cluster_ptr 0xf2202ec0: pmsi_ptr 0xf2202ec0: uta
˓→0xf2202ec0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.2.0/24
my ptr 0xf514ec20: route in head ptr 0xf0987c78: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 40
Info (0xf0987c78): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC_
˓→LOCAL: flags IMPORTED USED BEST : next (nil): attr 0xf2202e38, orig 0xf2202e38,
˓→path-id: 0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xd2fc5987: asp ptr 0xf2202ec0: comm ptr 0xf2202ec0
ext_comm ptr 0xf2202ec0: cluster_ptr 0xf2202ec0: pmsi_ptr 0xf2202ec0: uta
˓→0xf2202ec0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.3.0/24
my ptr 0xf514ece0: route in head ptr 0xf09862e0: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 41
Info (0xf09862e0): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC:
˓→flags IMPORTED USED BEST : next (nil): attr 0xf2202e38, orig 0xf2202e38, path- id:
˓→0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.4.0/24
my ptr 0xf514f3a0: route in head ptr 0xf09862a8: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 42
Info (0xf09862a8): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC:
˓→flags IMPORTED USED BEST : next (nil): attr 0xf2202e38, orig 0xf2202e38, path- id:
˓→0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xd2fc5987: asp ptr 0xf2202ec0: comm ptr 0xf2202ec0
ext_comm ptr 0xf2202ec0: cluster_ptr 0xf2202ec0: pmsi_ptr 0xf2202ec0: uta
˓→0xf2202ec0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.5.0/24
my ptr 0xf514ed10: route in head ptr 0xf0986cb8: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 43
Info (0xf0986cb8): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC_
˓→LOCAL: flags IMPORTED USED BEST : next (nil): attr 0xf2202e38, orig 0xf2202e38,
˓→path-id: 0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xd2fc5987: asp ptr 0xf2202ec0: comm ptr 0xf2202ec0
ext_comm ptr 0xf2202ec0: cluster_ptr 0xf2202ec0: pmsi_ptr 0xf2202ec0: uta
˓→0xf2202ec0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.6.0/24
my ptr 0xf514eb60: route in head ptr 0xf0987d20: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 44
Info (0xf0987d20): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC_
˓→LOCAL: flags IMPORTED USED BEST : next (nil): attr 0xf2202e38, orig 0xf2202e38,
˓→path-id: 0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xd2fc5987: asp ptr 0xf2202ec0: comm ptr 0xf2202ec0
ext_comm ptr 0xf2202ec0: cluster_ptr 0xf2202ec0: pmsi_ptr 0xf2202ec0: uta
˓→0xf2202ec0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.7.0/24
my ptr 0xf514f7c0: route in head ptr 0xf0987428: In Rtm/Ttm: NO/NO: Backup: NO:
˓→ Seq# 45
Info (0xf0987428): Local-Peer-RTM: addr type IPV4: label 16777215: pref 0: owner NVC:
˓→flags IMPORTED USED BEST : next (nil): attr 0xf2202e38, orig 0xf2202e38, path- id:
˓→0
Attr: my ptr 0xf2202e38: IPV4: ref 16: flags IMPORTED : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xd2fc5987: asp ptr 0xf2202ec0: comm ptr 0xf2202ec0
ext_comm ptr 0xf2202ec0: cluster_ptr 0xf2202ec0: pmsi_ptr 0xf2202ec0: uta
˓→0xf2202ec0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
value = 10 = 0xa
Attr: my ptr 0xf3e57870: IPV4: ref 1: flags MED_PRSNT FC_PRSNT : num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e578f8: comm ptr 0xf3e57900
ext_comm ptr 0xf3e57900: cluster_ptr 0xf3e57900: pmsi_ptr 0xf3e57900: uta
˓→0xf3e57900
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 200
Info (0xee1bbc00): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae968: withdraw 0
Attr: my ptr 0xf51ae968: IPV4: ref 1: flags MED_PRSNT FC_PRSNT LOC_PREF_PRSNT : num
˓→asn 0: as-len: 0:
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.0.0/24
my ptr 0xf514f520: ro_head ptr 0xee1bb6c0 label: 16777215
Info (0xee1bb6c0): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf3e57d30: withdraw 0
Attr: my ptr 0xf3e57d30: IPV4: ref 1: flags LOC_PREF_PRSNT GEN_LABEL : num asn 1: as-
˓→len: 1:
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 0
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
Route: 20.0.1.0/24
my ptr 0xf514ed70: ro_head ptr 0xee1bbea0 label: 16777215
Info (0xee1bbea0): Tribe 0xf5165928: Bitmap 0x1: Mod-Bitmap 0x0: next 0xee1bba20:
˓→label: 16777215 attr 0xf3e57e60: withdraw 0
Attr: my ptr 0xf3e57e60: IPV4: ref 7: flags NULL: num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e57ee8: comm ptr 0xf3e57ef0
ext_comm ptr 0xf3e57ef0: cluster_ptr 0xf3e57ef0: pmsi_ptr 0xf3e57ef0: uta
˓→0xf3e57ef0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 200
Info (0xee1bba20): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae9f8: withdraw 0
Attr: my ptr 0xf51ae9f8: IPV4: ref 7: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xf9634e2e: asp ptr 0xf51aea80: comm ptr 0xf51aea80
ext_comm ptr 0xf51aea80: cluster_ptr 0xf51aea80: pmsi_ptr 0xf51aea80: uta
˓→0xf51aea80
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.2.0/24
my ptr 0xf514ec20: ro_head ptr 0xee1bc440 label: 16777215
Info (0xee1bc440): Tribe 0xf5165928: Bitmap 0x1: Mod-Bitmap 0x0: next 0xee1bb9f0:
˓→label: 16777215 attr 0xf3e57e60: withdraw 0
Attr: my ptr 0xf3e57e60: IPV4: ref 7: flags NULL: num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e57ee8: comm ptr 0xf3e57ef0
ext_comm ptr 0xf3e57ef0: cluster_ptr 0xf3e57ef0: pmsi_ptr 0xf3e57ef0: uta
˓→0xf3e57ef0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 200
Info (0xee1bb9f0): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae9f8: withdraw 0
Attr: my ptr 0xf51ae9f8: IPV4: ref 7: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xf9634e2e: asp ptr 0xf51aea80: comm ptr 0xf51aea80
ext_comm ptr 0xf51aea80: cluster_ptr 0xf51aea80: pmsi_ptr 0xf51aea80: uta
˓→0xf51aea80
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.3.0/24
my ptr 0xf514ece0: ro_head ptr 0xee1bc410 label: 16777215
Info (0xee1bc410): Tribe 0xf5165928: Bitmap 0x1: Mod-Bitmap 0x0: next 0xee1bb9c0:
˓→label: 16777215 attr 0xf3e57e60: withdraw 0
Attr: my ptr 0xf3e57e60: IPV4: ref 7: flags NULL: num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e57ee8: comm ptr 0xf3e57ef0
ext_comm ptr 0xf3e57ef0: cluster_ptr 0xf3e57ef0: pmsi_ptr 0xf3e57ef0: uta
˓→0xf3e57ef0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 200
Info (0xee1bb9c0): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae9f8: withdraw 0
Attr: my ptr 0xf51ae9f8: IPV4: ref 7: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xf9634e2e: asp ptr 0xf51aea80: comm ptr 0xf51aea80
ext_comm ptr 0xf51aea80: cluster_ptr 0xf51aea80: pmsi_ptr 0xf51aea80: uta
˓→0xf51aea80
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.4.0/24
my ptr 0xf514f3a0: ro_head ptr 0xee1bbc30 label: 16777215
Info (0xee1bbc30): Tribe 0xf5165928: Bitmap 0x1: Mod-Bitmap 0x0: next 0xee1bb990:
˓→label: 16777215 attr 0xf3e57e60: withdraw 0
Attr: my ptr 0xf3e57e60: IPV4: ref 7: flags NULL: num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e57ee8: comm ptr 0xf3e57ef0
ext_comm ptr 0xf3e57ef0: cluster_ptr 0xf3e57ef0: pmsi_ptr 0xf3e57ef0: uta
˓→0xf3e57ef0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 200
Info (0xee1bb990): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae9f8: withdraw 0
Attr: my ptr 0xf51ae9f8: IPV4: ref 7: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xf9634e2e: asp ptr 0xf51aea80: comm ptr 0xf51aea80
Route: 20.0.5.0/24
my ptr 0xf514ed10: ro_head ptr 0xee1bbb40 label: 16777215
Info (0xee1bbb40): Tribe 0xf5165928: Bitmap 0x1: Mod-Bitmap 0x0: next 0xee1bbba0:
˓→label: 16777215 attr 0xf3e57e60: withdraw 0
Attr: my ptr 0xf3e57e60: IPV4: ref 7: flags NULL: num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e57ee8: comm ptr 0xf3e57ef0
ext_comm ptr 0xf3e57ef0: cluster_ptr 0xf3e57ef0: pmsi_ptr 0xf3e57ef0: uta
˓→0xf3e57ef0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 200
Info (0xee1bbba0): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae9f8: withdraw 0
Attr: my ptr 0xf51ae9f8: IPV4: ref 7: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xf9634e2e: asp ptr 0xf51aea80: comm ptr 0xf51aea80
ext_comm ptr 0xf51aea80: cluster_ptr 0xf51aea80: pmsi_ptr 0xf51aea80: uta
˓→0xf51aea80
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.6.0/24
my ptr 0xf514eb60: ro_head ptr 0xee1bbb70 label: 16777215
Info (0xee1bbb70): Tribe 0xf5165928: Bitmap 0x1: Mod-Bitmap 0x0: next 0xee1bbbd0:
˓→label: 16777215 attr 0xf3e57e60: withdraw 0
Attr: my ptr 0xf3e57e60: IPV4: ref 7: flags NULL: num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e57ee8: comm ptr 0xf3e57ef0
ext_comm ptr 0xf3e57ef0: cluster_ptr 0xf3e57ef0: pmsi_ptr 0xf3e57ef0: uta
˓→0xf3e57ef0
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 0: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
AS_SEQUENCE: 1: AS #s 200
Info (0xee1bbbd0): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae9f8: withdraw 0
Attr: my ptr 0xf51ae9f8: IPV4: ref 7: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xf9634e2e: asp ptr 0xf51aea80: comm ptr 0xf51aea80
ext_comm ptr 0xf51aea80: cluster_ptr 0xf51aea80: pmsi_ptr 0xf51aea80: uta
˓→0xf51aea80
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
Route: 20.0.7.0/24
my ptr 0xf514f7c0: ro_head ptr 0xee1bbf60 label: 16777215
Info (0xee1bbf60): Tribe 0xf5165928: Bitmap 0x1: Mod-Bitmap 0x0: next 0xee1bb960:
˓→label: 16777215 attr 0xf3e57e60: withdraw 0
Attr: my ptr 0xf3e57e60: IPV4: ref 7: flags NULL: num asn 1: as-len: 1:
len 144: asp len 8: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xb91081ab: asp ptr 0xf3e57ee8: comm ptr 0xf3e57ef0
ext_comm ptr 0xf3e57ef0: cluster_ptr 0xf3e57ef0: pmsi_ptr 0xf3e57ef0: uta
˓→0xf3e57ef0
nexthop 0.0.0.0
Info (0xee1bb960): Tribe 0xf5164548: Bitmap 0x1: Mod-Bitmap 0x0: next (nil): label:
˓→16777215 attr 0xf51ae9f8: withdraw 0
Attr: my ptr 0xf51ae9f8: IPV4: ref 7: flags LOC_PREF_PRSNT : num asn 0: as-len: 0:
len 136: asp len 0: comm len 0
ext_comm len 0: cluster len 0; pmsi len 0; tot_uta len 0
CRC checksum = 0xf9634e2e: asp ptr 0xf51aea80: comm ptr 0xf51aea80
ext_comm ptr 0xf51aea80: cluster_ptr 0xf51aea80: pmsi_ptr 0xf51aea80: uta
˓→0xf51aea80
nexthop 0.0.0.0
prio_modified 0: fc_modified 0: fc 0: priority:0
med 0: loc pref 200: aggr ip 0.0.0.0: aggr as 0: origin 2
AIGP 0 0, 0 0
Orig ID 0.0.0.0: rt_pref 0
igp_type 0: igp-inst: 0: opaque-igp-data: 0x0: proto-data: 0x0
orig_ifid 0x0: vr_id 0: orig_rcvd_lbl: 0
global_if_id 0x0:
The CLI commands in this section can be used to assess whether an underlay is reachable from an NSG via a VIF
route.
The following CLI commands are available:
• nuage-bgp-show vifs
• nuage-bgp-show vifs 2
• nuage-bgp-show underlays
• nuage-bgp-show underlays 2
The nuage-bgp-show vifs command lists the available VIF routes and indicates whether the remote VIF is
reachable. A value of 1 for the Reach parameter indicates that the VIF route is reachable.
The nuage-bgp-show vifs 2 command lists the available VIF routes in greater detail than the
nuage-bgp-show vifs command. In addition to indicating the reachability of each VIF route, the command
also displays the associated underlay for each NSG. A value of 1 for the Reach parameter indicates that the VIF route
is reachable.
The nuage-bgp-show underlays command lists the underlays that are known to the NSG and indicates whether
or not they are reachable. A value of 1 for the Reach parameter indicates that the underlay is reachable.
The nuage-bgp-show underlays 2 command lists the underlays that are known to the NSG in greater detail
that the nuage-bgp-show underlays command. In addition to indicating the reachability of the known under-
lays, the command also lists all associated NSGs and NSG-UBRs for each underlay. A value of 1 for the Reach
parameter indicates that the underlay is reachable.
6.2 OSPF
The Nuage VNS solution supports Open Shortest Path First version 2 (OSPFv2) on NSG V-Ports to enable the ex-
change and redistribution of route topology information into either a network overlay or an IPVPN underlay. OSPF is
a link state protocol that allows routers to exchange route topology information so that routers can calculate the lowest
cost routes before populating routing tables.
Link state advertisements (LSAs) are the messages that allow routers configured with OSPF to exchange route topol-
ogy information with OSPF neighbors. Each LSA type is handled differently. Some types are flooded only within an
OSPF area, and some types are generated or forwarded only by Area border routers (ABRs) depending on area type.
These limitations on LSA communication allow for more scalability network-wide.
Note: In the initial release of OSPF for VNS, “Super Backbone” is not supported. As such, the NSG will not function
as an ABR towards the overlay, and LSAs are not carried transparently over the overlay. This means that each area
attached to an NSG is essentially isolated from an OSPF perspective, i.e. there is no backbone area in the overlay.
Routes being advertised into or out of the area by the NSG are therefore “redistributed” and the NSG functions as an
ASBR i.e. all routes coming from the overlay will be redistributed into the area as type 5 or type 7 LSAs depending on
configuration. Area types and configurations are still applicable for LSA transmission between locally defined areas
on a given NSG.
OSPF Areas
OSPF relies on the concept of logical areas. Areas allow topology information between areas to be hidden while still
providing reachability. Each router in the area shares the same LSA database and routing tables, which simplifies the
network topology and helps to optimize the route calculation algorithm. All areas in the OSPF network must connect
to the backbone area (area 0). Area border routers (ABRs) are used to connect two OSPF areas. ABRs are used to
provide route summarization to neighboring areas. Autonomous system border routers (ASBRs) are used to connect
the OSPF network to another AS using a different routing protocol.
OSPF area types are defined by how they handle different LSAs. VNS supports the OSPF area types described below.
Backbone Area
A backbone area (area 0) is a normal area which has been configured as the central area which connects to all other
areas in the OSPF domain. The backbone area is responsible for distributing route topology information to connected
non-backbone areas. All other OSPF areas in the network must be connected to the backbone area. The backbone area
usually includes several routers configured as ABRs to connect with other areas in the network.
Normal Area
A normal area, by default, allows all LSA types. Normal areas allow type 3 LSAs — representing routes learned by
the ABR from a connected area — to be summarized and sent to and from the backbone area. Normal areas also allow
type 4 LSAs for ASBR-learned route summaries, as well as type 5 LSAs for external routes. This means that an NSG
can be configured as an ASBR and redistribute external routes into the normal area as type 5 LSAs. By default, an
NSG is always an ASBR and may optionally be an ABR depending on configuration.
The Area Range parameters specify a range of contiguous routes to be aggregated or suppressed within the area.
In a normal area, an aggregation and suppression Area Range can be specified for type 3 LSAs. When routes are
suppressed, they are not advertised into the overlay or underlay.
Stub Area
A stub area is an area that does not allow route advertisements from outside the AS. An ABR that is connected to a stub
area will not forward type 5 LSAs into the area, consequently the stub area will not receive any external routes from
the backbone area. Stub areas allow type 3 LSAs for internal route summarization, and by default, will accept Type 3
LSAs from the backbone area. All external routing is based on one default route (0.0.0.0) generated by the ABR. A
stub area must contain at least one ABR connecting to the backbone area. A stub area cannot contain an ASBR. Stub
areas are useful when a default route is sufficient for all external networks and type 5 LSAs from the backbone area
are not needed. If the area needs to allow an ASBR to inject AS-external routes then a Not So Stubby Area (NSSA)
should be used instead.
The Summaries Enabled parameter enables or disables type 3 LSAs. When type 3 LSAs are disabled in a NSSA, it
behaves as a Totally Stubby Area (TSA). The ABR generates Type 3 LSAs towards the backbone area representing
the stub area routes, but will not advertise any Type 3 LSAs into the area. In a TSA, the default route generated by the
ABR is the only route used for traffic flowing outside the area.
The Area Range parameters specify a range of contiguous routes to be aggregated or suppressed within the area. In a
stub area, an aggregation and suppression Area Range can be specified for type 3 LSAs. When routes are suppressed,
they are not advertised into the overlay or underlay. If the Summaries Enabled parameter is disabled, area ranges for
type 3 LSAs cannot be configured.
A Not So Stubby Area (NSSA) is a stub area that also supports type 7 LSAs for external route forwarding. NSSAs
cannot receive route advertisements from outside the AS arriving via the backbone area. Routers in the NSSA can
be an ASBR and advertise external routes as a type 7 LSA. The ABR translates these advertisements to type 4 and 5
LSAs for redistribution the backbone area. An NSSA must contain at least one ABR connecting to the backbone area.
NSSAs provide control over external routes from the backbone area. They also allow an external ASBR in the area to
redirect type 7 LSAs into the backbone area.
The generation of a default route can be enabled by configuring the Default Originate Option. The Summaries
Enabled parameter enables or disables type 3 LSAs. When type 3 LSAs are disabled in a NSSA, it behaves as a
Totally Not So Stubby Area (TNSSA). If default routes are enabled, and type 3 LSAs are disabled, no overlay or
underlay routes are redistributed into the NSSA — only the default 0.0.0.0/0 route. The default route is usually a type
3 LSA, but it can be configured as a type 7 LSA if required. The Default Originate Option parameter is disabled by
default.
If the Redistribute External parameter is enabled for an NSSA, the NSG injects routes learned from the overlay or
underlay as type 7 LSAs into the area.
The Area Range parameters specify a range of contiguous routes to be aggregated or suppressed within the area. In an
NSSA, an aggregation and suppression Area Range can be specified for each of type 3 LSAs and type 7 LSAs. When
routes are suppressed, they are not advertised into the overlay or underlay. If the Summaries Enabled parameter is
disabled, area ranges for type 3 LSAs cannot be configured.
The following network objects must be configured as part of the OSPF workflow.
OSPF Instance
The OSPF instance is the highest hierarchical OSPF configuration object in a domain. The OSPF instance assigns
global import and export routing policies for OSPF traffic in the domain. Routing policies can also be defined and
assigned locally to an NSG or NSG group by using an NSG routing policy binding, in which case the policies override
the globally defined policies. Only one OSPF instance can be configured per domain.
Configure the following parameters for an OSPF Instance:
• Name: This parameter defines a name for the OSPF instance.
• Description: This parameter defines a description for the OSPF instance.
• Import Routing Policy: This parameter assigns an import routing policy to the OSPF instance.
• Export Routing Policy: This parameter assigns an export routing policy to the OSPF instance.
• Preference: This parameter defines a routing preference value for OSPF internal routes.
• External Preference: This parameter defines a routing preference value for OSPF external routes.
• Export Limit
• Enable Route Redistribution to Overlay: This parameter enables route redistribution globally. When the
parameter is enabled, the NSG redistributes OSPF routes into the overlay.
OSPF Area
The OSPF area is configured at the OSPF instance level. Multiple OSPF areas can be configured per OSPF instance.
Configure the following parameters for an OSPF area:
• Area ID: This parameter identifies the OSPF area within the instance.
• Description: This parameter defines the description for the OSPF area.
• Area Type: This parameter defines the area type; choose Normal, NSSA, or Stub.
• Default Originate Option: This parameter enables the creation of a default route by the ABR or ASBR. Specify
Type 3 or Type 7 LSAs.
• Suppress Area Range/Aggregate Area Range: These parameters define address ranges on the ABR for route
suppression or aggregation. For all area types, area ranges can be configured for type 3 LSAs. For NSSAs, area
ranges can also be configured for type 7 LSAs using the Suppress Area Range NSSA/Aggregate Area Range
NSSA parameters.
• Summaries Enabled: This parameter enables or disables type 3 LSAs in the area. This parameter is applicable
only to NSSAs and stub areas.
• Enable Redistribute External: This parameter allows the NSG to inject routes learned from the overlay or
underlay as type 7 LSAs into the area. This parameter is applicable only to NSSAs.
• Default Metric: This parameter defines a route cost metric for routes advertised in the area. This parameter is
applicable only to stub areas.
Note: Once the area is created, the Area ID parameter cannot be configured. To change the area ID, delete the area
and recreate it. When an area is deleted, all associated OSPF interfaces are automatically deleted.
Note: Multiple areas with the same Area ID and Area Type is supported. The different areas can have different
attributes. This means that an area could be configured only once and used as a sort of template to configure the same
area accross multple NSGs/domains. Despite the areas using the same Area ID, however, it is not the same area.
In the case where two separate NSGs need to function as an ASBR/ABR for two separate areas but the areas have the
same area ID, but different area types, multiple copies of the configured area may need to be created.
For example, to configure Area 100 with type Normal on NSG 1 and type Stub on NSG 2, two copies of Area 100
must be created with interfaces for each NSG:
Area ID: 100 Area Type: Normal OSPF interface 1 Subnet: 1 NSG 1
Area ID: 100 Area Type: Stub OSPF interface 1 Subnet: 2 NSG 2
OSPF Interface
The OSPF interface represents the connection of a router to the OSPF network. The OSPF interface defines the
protocol metrics and security parameters for OSPF traffic on a V-Port on the specified subnet. An OSPF interface can
exist in only one OSPF area.
Configure the following parameters for an OSPF interface:
• Name: This parameter defines a name for the OSPF interface.
• Description: This parameter defines a description for the OSPF interface.
• Hello Interval: This parameter defines the time interval, in seconds, between OSPF hello messages sent on the
OSPF instance. Specify a lower value to ensure that link failures are detected sooner.
• Dead Interval: This parameter defines the time, in seconds, that the OSPF interface waits after failing to receive
an OSPF hello message before declaring the neighbor interface down.
• Metric: This parameter defines a route cost metric for routes advertised to the OSPF interface. This route cost
metric is preferred over a metric defined at the OSPF area level.
• Admin State: This parameter turns the OSPF interface up or down.
• Passive Enabled: This parameter enables passive mode on the OSPF interface. In passive mode, the OSPF
interface does not forward OSPF packets.
• Subnet: This parameter assigns the OSPF interface to a subnet. This is effectively how an NSG vPort is bound
to an area.
• Interface Type: This parameter specifies whether the OSPF interface is either Broadcast or Point-to-Point.
Specify Point-to-Point to eliminate the broadcast traffic on the interface and reduce overhead.
• MTU: This parameter defines the OSPF packet size on the OSPF interface.
• Priority: This parameter defines a priority value for the OSPF interface. If the interface is configured as a
broadcast interface, the priority value determines which interface is elected as a designated router on the subnet.
• Key Type: This parameter defines the key type on the OSPF interface. Choose Hash Key, Hash 2 Key, or Key.
• Authentication Type: This parameter enables authentication and defines the authentication type on the OSPF
interface. Choose Message Digest, Password, or None
• Authentication Digest Key: This parameter defines a password when password authentication is enabled on
the OSPF interface.
• Message Digest Key: This parameter defines an MD5 key when message digest authentication is enabled on
the OSPF interface.
• Message Digest Key ID: This parameter defines a unique MD5 key ID when message digest authentication is
enabled on the OSPF interface.
Routing Policy
A routing policy allows control over route import and export behavior for OSPF traffic. Route redistribution can be
configured such that certain routes are used exclusively, or preferred over other routes based on defined metrics. For
example, a policy can be configured such that routes are redistributed with a preference for the underlay instead of the
BGP overlay.
Routing policies can be configured at the organization or domain level. They can be applied at either the OSPF instance
or NSG level. Routing policies assigned at the NSG level are preferred over policies assigned at the instance level.
By default, all BGP routes in the domain are picked up and advertised by OSPF. This behavior can be prevented by
configuring a routing policy to drop all BGP routes.
Routing policy definitions use the blob model. See the OSPF Routing Policy Blob (page 388) for more information
about OSPF blobs.
Configure the following parameters for a routing policy:
• Name: This parameter defines a name for the routing policy.
• Description: This parameter defines a description for the routing policy.
• Default Route Action: This parameter defines a default action for received routes. Specify Accept or Reject.
• Policy Definition: This parameter defines the metrics and actions for OSPF traffic. Specify an OSPF routing
policy blob in the correct format.
Note: Default actions in the blob take precedence over the one configured with the Default Route Action parameter.
The policy object group is used to assign NSGs to a group for routing policy entries. Most use cases would require
only one NSG for a routing policy entry, but policy object groups allow multiple NSGs in an entry.
Configure the following parameters for a policy object group:
• Name: This parameter defines a name for the policy object group.
• Description: This parameter defines a description for the policy object group.
The NSG routing policy binding is used to assign routing policies to an NSG or group of NSGs as defined by the
routing policy group. The local routing policies assigned to an NSG in a policy binding are preferred over global
routing policies defined at the OSPF instance level.
If routing policies are configured at the domain level, they are automatically inherited locally.
Route Redistribution
OSPF route redistribution into the overlay can be enabled locally by configuring the Export to Overlay parameter.
When the parameter is enabled, NSGs in the policy object group redistribute OSPF routes into the overlay. OSPF route
redistribution from the overlay can be enabled locally by creating an export routing policy. By default, the Export to
Overlay parameter is disabled and no routes are redistributed to or from the overlay.
OSPF route redistribution into the underlay can be configured locally by creating export routing policies. By default,
all routes from a BGP underlay peer are not exported into OSPF, whereas all routes from OSPF are redistributed to the
BGP underlay peer.
OSPF route redistribution into the overlay can be configured globally by configuring the Enable Route Redistribution
to Overlay parameter on the OSPF instance. This setting is automatically inherited locally to all NSG policy bindings.
Configure the following parameters for an NSG routing policy binding:
• Name: This parameter defines a name for the policy binding.
• Description: This parameter defines a description for the policy binding.
• Export to Overlay: This parameter enables route redistribution locally. When the parameter is enabled, the
NSG redistributes OSPF routes into the overlay. When the parameter is set to Inherited, it inherits whatever
value is selected at the OSPF Instance level.
• Import Routing Policy: This parameter assigns an import routing policy to the policy binding.
• Export Routing Policy: This parameter assigns an export routing policy to the policy binding.
• Policy Group Binding: This parameter assigns a policy group binding (with an associated NSG or group of
NSGs) to the policy binding.
2. Under the Organization Policies tab, click on the Organization Profiles button.
3. Click on the button to create a new organization profile, or right-click an existing profile and choose Edit.
4. Enable the Enable Routing Protocols parameter.
Note: Unless the Enable Routing Protocols parameter is enabled, OSPF and BGP functionality is not available. If
routing is disabled while OSPF configurations already exist in the VSD, the configurations are not lost, they are just
hidden in the UI. If routing is enabled again later, the previously configured OSPF configurations are restored.
5. From the Organizations panel, click on the button to create a new organization.
6. Configure the Name, Description, Local AS, and Administrator Password parameters.
7. Assign the organization profile with routing enabled and click Create.
9. Click on the L3 Domains button and click on the button to create a new domain template.
10. Configure the Name and Description parameters and click Create.
11. Right-click on the domain template and choose Instantiate.
12. Configure the Name and Description parameters and click Instantiate.
13. From the right-hand information panel of the selected domain, click on the Routing Policies button.
14. Click on the Infrastructure tab and click on the Routing Policies button.
15. Configure the Name, Description, Default Route Action, and Policy Definition parameters.
Routing policy definitions use the blob model. See the OSPF Routing Policy Blob (page 388) for more informa-
tion about OSPF blobs.
Note: Default actions in the blob take precedence over the one configured with the Default Route Action parameter.
Note: Enterprise administrator privileges are required to configure routing policies at the organization level.
17. Click on the Infrastructure tab and click on the Routing Policies button.
Note: The OSPF tab is displayed only if routing protocols are enabled on the domain. If routing protocols are
disabled, the VSD database retains all previously configured OSPF parameters.
20. From the newly created domain, click on the OSPF tab and click on the OSPF Instances button.
24. Click on the newly created domain and click on the button to create a new OSPF area.
25. Configure the Area ID, Description, Area Type, Default Originate Option, Enable Summaries, Default
Metric, and Enable Redistribute External parameters.
26. Assign area ranges for the Suppress Area Range, Aggregate Area Range, Suppress Area Range NSSA, and
Aggregate Area Range NSSA parameters and click Create.
Note: Some parameters are available only for certain area types. See OSPF Area (page 382) for more information on
OSPF area parameters.
27. Click on the newly created area and click on the button to create a new OSPF interface.
28. Configure the Name and Description parameters.
29. From the Basic tab, configure the Hello Interval, Dead Interval, Metric, Admin State, and Passive Enabled
parameters.
30. Assign a Subnet to the OSPF interface.
31. Click on the Advanced tab.
32. Configure the Interface Type, MTU, Priority, Key Type, Authentication Type, Authentication Digest Key,
Message Digest Key, and Message Digest Key ID parameters and click Create.
Note: The Message Digest Key and Message Digest Key ID parameters are configurable only if Message Digest is
specified for the Key Type parameter.
Note: The Authentication Digest Key parameter is configurable only if Password is specified for the Key Type
parameter.
Note: The remainder of this workflow assumes NSGs have been discovered into the domain.
33. From the Networks tab, click on the Policy Object Groups button.
34. Click on the button and configure the Name and Description parameters. Click Create.
35. Select the policy from the Policy Object Groups panel and click on the button.
36. Select an NSG to add to the Policy Object Group and click Select.
38. Click on the NSG Routing Policy Bindings button and click on the button to create a new binding.
39. Configure the Name, Description, and Export to Overlay parameters.
40. Assign routing policies for the Import Routing Policy and Export Routing Policy.
41. Assign a Policy Group Binding and click Create.
A routing policy blob is an opaque object based on an extensible OpenConfig schema whereby configuration elements
are defined as part of an XML document. Define these elements in order to configure OSPF policies on the NSG to
control route import and export behavior.
This section shows the OSPF routing policy blob format and provides some examples of blob usage.
<routing-policy xmlns="alu:nuage:bgp:routing:policy">
<policy-definition>
<statements>
<statement>
<name>entry_1</name>
<conditions>
<match-prefix-set>
<prefix-set>prefix_list_1</prefix-set>
</match-prefix-set>
<match-neighbor-set>
<neighbor-set>neighbor_list_1</neighbor-set>
</match-neighbor-set>
<match-community-set>
<community-set>comm_1</community-set>
</match-community-set>
<match-as-path-set>
<as-path-set>as_path_1</as-path-set>
</match-as-path-set>
<install-protocol-eq>OSPF</install-protocol-eq>
<match-ospf-area>area-id</match-ospf-area>
<match-route-tag>Uint32</match-route-tag>
<match-ospf-type-metric>1 OR 2</match-ospf-type-metric>
</conditions>
<actions>
<!-- action can be either accept or reject, not both -->
<accept-route-set>
<accept-route />
<as-path-set>as_path_2</as-path-set>
<community-set>comm_2</community-set>
<local-preference>200</local-preference>
<metric>
<!-- select either of add/subtract/set options below -->
<add>10</add>
<subtract>10</subtract>
<set>110</set>
</metric>
<next-hop>10.10.1.1</next-hop>
<next-hop-self>true</next-hop-self>
<preference>100</preference>
</accept-route-set>
<!-- action can be either accept or reject, not both -->
<reject-route />
<match-ospf-tag>Uint32</match-ospf-tag>
<match-ospf-type>1 OR 2</match-ospf-type>
</actions>
</statement>
<statement>
...
</statement>
</statements>
<default-action>
<accept-route-set>
<accept-route />
<community-set>comm_1</community-set>
<local-preference>200</local-preference>
</accept-route-set>
</default-action>
</policy-definition>
</routing-policy>
This section lists samples of the CLI show commands available for OSPF.
optional arguments:
-h, --help show this help message and exit
##################################
===========================================
OSPF Config Vrf: 125668019 RTM Vrf: 2
===========================================
router-id 64.152.193.19
area 0.0.0.0
interface "Int-125668019-1657287575"
no shutdown
exit
interface "Int-125668019-602706402"
no shutdown
exit
exit
area 0.0.0.1
stub
exit
interface "Int-125668019-1696182375"
no shutdown
exit
exit
###################################
interface-type broadcast
advertise-subnet
priority 1
hello-interval 10
dead-interval 40
retransmit-interval 5
transit-delay 1
no mtu
no metric
no authentication-type
no authentication-key
no bfd-enable
no loopfree-alternate-exclude
no shutdown
exit
interface "Int-125668019-602706402"
no passive
interface-type broadcast
advertise-subnet
priority 1
hello-interval 10
dead-interval 40
retransmit-interval 5
transit-delay 1
no mtu
no metric
no authentication-type
no authentication-key
no bfd-enable
no loopfree-alternate-exclude
no shutdown
exit
exit
area 0.0.0.1
no loopfree-alternate-exclude
blackhole-aggregate
stub
summaries
default-metric 1
exit
interface "Int-125668019-1696182375"
no passive
interface-type broadcast
advertise-subnet
priority 1
hello-interval 10
dead-interval 40
retransmit-interval 5
transit-delay 1
no mtu
no metric
no authentication-type
no authentication-key
no bfd-enable
no loopfree-alternate-exclude
no shutdown
exit
exit
no shutdown
###################################
===============================================================================
OSPF Status
===============================================================================
OSPF Cfg Router Id : 64.152.193.19
OSPF Oper Router Id : 64.152.193.19
OSPF Version : 2
OSPF Admin Status : Enabled
OSPF Oper Status : Enabled
Graceful Restart : Disabled
GR Helper Mode : Disabled
Preference : 10
External Preference : 150
Backbone Router : True
Area Border Router : True
AS Border Router : True
Opaque LSA Support : True
Traffic Engineering Support : False
RFC 1583 Compatible : True
Demand Exts Support : False
In Overload State : False
In External Overflow State : False
Exit Overflow Interval : 0
Last Overflow Entered : Never
Last Overflow Exit : Never
External LSA Limit : -1
Reference Bandwidth : 100,000,000 Kbps
Init SPF Delay : 1000 msec
Sec SPF Delay : 1000 msec
Max SPF Delay : 10000 msec
Min LS Arrival Interval : 1000 msec
Init LSA Gen Delay : 5000 msec
Sec LSA Gen Delay : 5000 msec
Max LSA Gen Delay : 5000 msec
Last Ext SPF Run : Never
Ext LSA Cksum Sum : 0x0
OSPF Last Enabled : 0x0
Unicast Import : True
Multicast Import : False
Export Policies : None
Import Policies : None
OSPF Ldp Sync Admin Status : Enabled
LDP-over-RSVP : Disabled
RSVP-Shortcut : Disabled
Advertise-Tunnel-Link : Disabled
LFA : Disabled
Export Limit : 0
Export Limit Log Percent : 0
Total Exp Routes : 0
Ignore DN Bit : False
Suppress DN Bit : False
VPN Tag : 0
===============================================================================
###################################
####################################
===============================================================================
OSPF Neighbors
===============================================================================
-------------------------------------------------------------------------------
Neighbor Rtr Id : 20.0.2.100 Interface: Int-125668019-602706402
-------------------------------------------------------------------------------
Neighbor IP Addr : 20.0.2.100
Local IF IP Addr : 20.0.2.1
Area Id : 0.0.0.0
Designated Rtr : 64.152.193.19 Backup Desig Rtr : 20.0.2.100
Neighbor State : Full Priority : 1
Retrans Q Length : 0 Options : - E - - - - O --
Events : 4 Last Event Time : - E - - - - O --
Up Time : 0d 00:04:30 Time Before Dead : 34 sec
GR Helper : Not Helping GR Helper Age : 0 sec
GR Exit Reason : None GR Restart Reason: Unknown
Bad Nbr States : 1 LSA Inst fails : 0
Bad Seq Nums : 0 Bad MTUs : 0
Bad Packets : 0 LSA not in LSDB : 0
Option Mismatches: 0 Nbr Duplicates : 0
Num Restarts : 0 Last Restart at : Never
===============================================================================
####################################
================================================================================
OSPFv2 Routing Table
================================================================================
Destination Type(Dest) Stat
NHIP NHIF Cost[E2]
--------------------------------------------------------------------------------
20.0.0.0/24 IA (STUB) D (F)
DIRECT 2 10000
20.0.1.0/24 IA (STUB) D (F)
DIRECT 3 10000
20.0.2.0/24 IA (NET) D (F)
DIRECT 4 10000
20.0.3.0/24 IA (STUB) D (F)
DIRECT 5 10000
--------------------------------------------------------------------------------
5 OSPFv2 routes found (5 paths)
Stat: D = direct N = not direct
(RTM stat):(R) = added (F) = add failed
(N) = not added (D) = policy discarded
================================================================================
####################################
================================================================================
OSPFv2 Routing Table (detailed)
================================================================================
Destination Type(Dest) Stat
NHIP NHIF Cost[E2] Area Tunnel-Information
--------------------------------------------------------------------------------
20.0.0.0/24 IA (STUB) D (F)
DIRECT 2 10000 0.0.0.0
20.0.1.0/24 IA (STUB) D (F)
DIRECT 3 10000 0.0.0.1
20.0.2.0/24 IA (NET) D (F)
DIRECT 4 10000 0.0.0.0
20.0.3.0/24 IA (STUB) D (F)
DIRECT 5 10000 0.0.0.1
--------------------------------------------------------------------------------
5 OSPFv2 routes found (5 paths)
Stat: D = direct N = not direct
(RTM stat):(R) = added (F) = add failed
(N) = not added (D) = policy discarded
================================================================================
####################################
===============================================================================
OSPF Areas (Detailed)
===============================================================================
-------------------------------------------------------------------------------
Area Id: 0.0.0.0
-------------------------------------------------------------------------------
Area Id : 0.0.0.0 Type : Standard
Key Rollover Int.: 10 LFA : Include
####################################
===============================================================================
OSPF Interfaces (Detailed)
===============================================================================
-------------------------------------------------------------------------------
Interface : Int-125668019-1657287575
-------------------------------------------------------------------------------
IP Address : 20.0.0.1
Area Id : 0.0.0.0 Priority : 1
Hello Intrvl : 10 sec Rtr Dead Intrvl : 40 sec
Retrans Intrvl : 5 sec Poll Intrvl : 120 sec
Cfg Metric : 0 Advert Subnet : True
Transit Delay : 1 Auth Type : None
Passive : False Cfg MTU : 0
LFA : Include
IPsec InStatSA : IPsec OutStatSA :
IPsec InStatSATmp:
Admin Status : Enabled Oper State : Designated Rtr
Designated Rtr : 64.152.193.19 Backup Desig Rtr : 0.0.0.0
IF Type : Broadcast Network Type : Stub
Oper MTU : 1500 Last Enabled : Stub
Oper Metric : 10000 Bfd Enabled : No
Te Metric : 10000 Te State : Down
Admin Groups : None
Ldp Sync : outOfService Ldp Sync Wait : Disabled
Ldp Timer State : Disabled Ldp Tm Left : 0
Nbr Count : 0 If Events : 2
Tot Rx Packets : 0 Tot Tx Packets : 3436
Rx Hellos : 0 Tx Hellos : 3436
Rx DBDs : 0 Tx DBDs : 0
Rx LSRs : 0 Tx LSRs : 0
Rx LSUs : 0 Tx LSUs : 0
Rx LS Acks : 0 Tx LS Acks : 0
Retransmits : 0 Discards : 0
Bad Networks : 0 Bad Virt Links : 0
Bad Areas : 0 Bad Dest Addrs : 0
Bad Auth Types : 0 Auth Failures : 0
Bad Neighbors : 0 Bad Pkt Types : 0
Bad Lengths : 0 Bad Hello Int. : 0
Bad Dead Int. : 0 Bad Options : 0
Bad Versions : 0 Bad Checksums : 0
LSA Count : 0 LSA Checksum : 0x0
-------------------------------------------------------------------------------
Interface : Int-125668019-1696182375
-------------------------------------------------------------------------------
IP Address : 20.0.1.1
Area Id : 0.0.0.1 Priority : 1
Hello Intrvl : 10 sec Rtr Dead Intrvl : 40 sec
Retrans Intrvl : 5 sec Poll Intrvl : 120 sec
Cfg Metric : 0 Advert Subnet : True
Transit Delay : 1 Auth Type : None
Passive : False Cfg MTU : 0
LFA : Include
IPsec InStatSA : IPsec OutStatSA :
IPsec InStatSATmp:
Admin Status : Enabled Oper State : Designated Rtr
Designated Rtr : 64.152.193.19 Backup Desig Rtr : 0.0.0.0
IF Type : Broadcast Network Type : Stub
Oper MTU : 1500 Last Enabled : Stub
Oper Metric : 10000 Bfd Enabled : No
Te Metric : 10000 Te State : Down
Admin Groups : None
Ldp Sync : outOfService Ldp Sync Wait : Disabled
Ldp Timer State : Disabled Ldp Tm Left : 0
Nbr Count : 0 If Events : 2
Tot Rx Packets : 0 Tot Tx Packets : 3436
Rx Hellos : 0 Tx Hellos : 3436
Rx DBDs : 0 Tx DBDs : 0
Rx LSRs : 0 Tx LSRs : 0
Rx LSUs : 0 Tx LSUs : 0
Rx LS Acks : 0 Tx LS Acks : 0
Retransmits : 0 Discards : 0
Bad Networks : 0 Bad Virt Links : 0
Bad Areas : 0 Bad Dest Addrs : 0
Bad Auth Types : 0 Auth Failures : 0
Bad Neighbors : 0 Bad Pkt Types : 0
Bad Lengths : 0 Bad Hello Int. : 0
Bad Dead Int. : 0 Bad Options : 0
Bad Versions : 0 Bad Checksums : 0
LSA Count : 0 LSA Checksum : 0x0
-------------------------------------------------------------------------------
Interface : Int-125668019-602706402
-------------------------------------------------------------------------------
IP Address : 20.0.2.1
Area Id : 0.0.0.0 Priority : 1
Hello Intrvl : 10 sec Rtr Dead Intrvl : 40 sec
Retrans Intrvl : 5 sec Poll Intrvl : 120 sec
Cfg Metric : 0 Advert Subnet : True
Transit Delay : 1 Auth Type : None
Passive : False Cfg MTU : 0
LFA : Include
IPsec InStatSA : IPsec OutStatSA :
IPsec InStatSATmp:
Admin Status : Enabled Oper State : Designated Rtr
Designated Rtr : 64.152.193.19 Backup Desig Rtr : 20.0.2.100
IF Type : Broadcast Network Type : Transit
Oper MTU : 1500 Last Enabled : Transit
Oper Metric : 10000 Bfd Enabled : No
Te Metric : 10000 Te State : Down
Admin Groups : None
Ldp Sync : outOfService Ldp Sync Wait : Disabled
Ldp Timer State : Disabled Ldp Tm Left : 0
Nbr Count : 1 If Events : 2
Tot Rx Packets : 62 Tot Tx Packets : 3450
Rx Hellos : 51 Tx Hellos : 3438
Rx DBDs : 3 Tx DBDs : 3
Rx LSRs : 1 Tx LSRs : 1
Rx LSUs : 3 Tx LSUs : 6
Rx LS Acks : 4 Tx LS Acks : 2
Retransmits : 0 Discards : 0
Bad Networks : 0 Bad Virt Links : 0
Bad Areas : 0 Bad Dest Addrs : 0
Bad Auth Types : 0 Auth Failures : 0
Bad Neighbors : 0 Bad Pkt Types : 0
Bad Lengths : 0 Bad Hello Int. : 0
Bad Dead Int. : 0 Bad Options : 0
Bad Versions : 0 Bad Checksums : 0
LSA Count : 0 LSA Checksum : 0x0
-------------------------------------------------------------------------------
Interface : Int-125668019-1458500558
-------------------------------------------------------------------------------
IP Address : 20.0.3.1
Area Id : 0.0.0.1 Priority : 1
Hello Intrvl : 10 sec Rtr Dead Intrvl : 40 sec
Retrans Intrvl : 5 sec Poll Intrvl : 120 sec
Cfg Metric : 0 Advert Subnet : True
Transit Delay : 1 Auth Type : None
Passive : False Cfg MTU : 0
LFA : Include
IPsec InStatSA : IPsec OutStatSA :
IPsec InStatSATmp:
Admin Status : Enabled Oper State : Designated Rtr
Designated Rtr : 64.152.193.19 Backup Desig Rtr : 0.0.0.0
IF Type : Broadcast Network Type : Stub
Oper MTU : 1500 Last Enabled : Stub
Oper Metric : 10000 Bfd Enabled : No
Te Metric : 10000 Te State : Down
Admin Groups : None
Ldp Sync : outOfService Ldp Sync Wait : Disabled
####################################
===============================================================================
OSPF Link State Database (Type : All)
===============================================================================
Type Area Id Link State Id Adv Rtr Id Age Sequence Cksum
-------------------------------------------------------------------------------
Router 0.0.0.0 20.0.2.100 20.0.2.100 534 0x80000008 0x4394
Router 0.0.0.0 64.152.193.19 64.152.193.19 383 0x8000001a 0x24f7
Network 0.0.0.0 20.0.2.1 64.152.193.19 534 0x80000001 0x204d
Summary 0.0.0.0 20.0.1.0 64.152.193.19 59 0x80000012 0x74dd
Summary 0.0.0.0 20.0.3.0 64.152.193.19 382 0x80000001 0x80e0
Router 0.0.0.1 64.152.193.19 64.152.193.19 352 0x8000001a 0x45ef
Summary 0.0.0.1 0.0.0.0 64.152.193.19 352 0x8000002b 0x790d
Summary 0.0.0.1 20.0.0.0 64.152.193.19 1503 0x80000011 0x9fb6
Summary 0.0.0.1 20.0.2.0 64.152.193.19 533 0x80000013 0x85cc
-------------------------------------------------------------------------------
No. of LSAs: 9
===============================================================================
####################################
===============================================================================
OSPF Link State Database (Type : All) (Detailed)
===============================================================================
-------------------------------------------------------------------------------
Router LSA for Area 0.0.0.0
-------------------------------------------------------------------------------
Area Id : 0.0.0.0 Adv Router Id : 20.0.2.100
Link State Id : 20.0.2.100 (335544932)
LSA Type : Router
Sequence No : 0x80000008 Checksum : 0x4394
Age : 593 Length : 36
Options : E
####################################
===============================================================================
OSPF Statistics
===============================================================================
Rx Packets : 81 Tx Packets : 10430
Rx Hellos : 69 Tx Hellos : 10417
Rx DBDs : 3 Tx DBDs : 3
Rx LSRs : 1 Tx LSRs : 1
Rx LSUs : 3 Tx LSUs : 7
Rx LS Acks : 5 Tx LS Acks : 2
New LSAs Recvd : 0 New LSAs Orig : 10
Ext LSAs Count : 0 No of Areas : 2
No of Interfaces : 4 No of Neighbors : 1
Retransmits : 0 Discards : 0
===============================================================================
Route Table (Router: Vrf 2)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
0.0.0.0/0 Remote Static 09h00m29s 255
0
20.0.0.0/24 Local NVC 00h11m43s 0
0
20.0.0.104/32 Local NVC 00h11m43s 0
0
20.0.1.0/24 Local NVC 00h11m43s 0
0
20.0.2.0/24 Local NVC 00h11m42s 0
0
20.0.2.100/32 Local NVC 00h11m33s 0
0
20.0.3.0/24 Local NVC 00h11m42s 0
0
20.0.4.0/24 Remote BGP VPN 00h10m48s 170
Local VRF 0
20.0.5.0/24 Remote BGP VPN 00h10m48s 170
Local VRF 0
20.0.6.0/24 Remote BGP VPN 00h10m48s 170
Local VRF 0
20.0.7.0/24 Remote BGP VPN 00h10m48s 170
Local VRF 0
20.0.8.0/24 Remote BGP VPN 00h10m48s 170
Local VRF 0
-------------------------------------------------------------------------------
No. of Routes: 12
Flags: L = LFA nexthop available B = BGP backup route available
n = Number of times nexthop is repeated * = Virtual Nexthop
===============================================================================
SEVEN
ENCRYPTION
402
VNS User Guide, Release 5.3.2
7.1.1 Overview
Customers require encryption for traffic that traverses over WAN networks between branch sites or between branch
and headquarters. Nuage VNS incorporates a unique solution that provides IPsec encryption for WAN traffic over both
public and private networks.
VNS IPsec enables organizations to meet security compliance requirements where encryption is a mandatory require-
ment. Supported topologies include a highly scalable architecture for fully meshed branch to branch and hub-and-
spoke secure communication.
The feature enables:
• Traffic in a domain (L3-domain/unmanaged L2-domain) to be encrypted, which will effectively encrypt traffic
to/from all NSGs participating in a single domain.
• Traffic destined to a particular subnet to be encrypted.
• Traffic to/from multi-tenanted NSG-BR to other NSGs is encrypted using tenant specific keys that the destination
NSG belongs to.
From a VNS perspective, encryption is provided as a transport function that offers an encrypted communication path
between two or more end-points upon which overlay services (L3-domains/L2-domains) can be transparently enacted.
Thus, the VNS service layer behaviour is consistent regardless of whether encryption is enabled or not.
Feature highlights:
• Encryption is an addition to the existing VSP service policy framework with new constructs.
• Encryption policy is simple to configure and enforce. Complex IPsec parameters can be provisioned with a click
of a button or RESTful API and enforcement is distributed to all the VNS endpoints in a scalable way. Design
allows for very granular policy rules for encryption (subnet versus vPort)
• Interworking with NAT in tunnel-less mode (i.e no IKE)
• Designed to support both managed and unmanaged Key Server (KS) model of operations.
• All control/management communications to and from NSG is authenticated and encrypted.
• All data-plane communications between NSGs is encrypted (no local offload) regardless of transport type (pri-
vate or Internet).
• Support for sequence-based anti-replay in a group key architecture which is more secure than time-based.
• Perfect Forward Secrecy whereby current seed cannot be used to determine subsequent encryption keys or
subsequent seed.
• Revocation for a rogue NSG is built into the architecture.
• NAT traversal for ESP packets is provided as an inherent functionality without the need for IKE. See IPsec with
NAT-T (page 419)).
• Scalable implementation:
– Control plane designed to minimize impact on CPU for data plane functions
– Hardware acceleration for data plane
– Control plane separate from data plane. Thus, data path encryption is not disrupted even if connectivity to
KS is lost.
– Expensive computations such as key generation off-loaded to endpoint NSGs. Thus, the KS is lightweight
and a rekey for a large NSG network does not cripple the KS.
The VNS IPsec capability assumes that all encrypting/decrypting endpoints are VNS NSGs (physical or virtual form
factors). Key generation and distribution is based on a Nuage proprietary mechanism and Internet Key Exchange
(IKE) is not used for negotiating the encryption attributes between endpoints.For interoperability with 3rd party IPsec
gateways, refer to IKE-based IPsec (page 421) chapter.
7.1.2 Terminology
• NSG-P: Network Services Gateway appliance (physical) typically deployed at a branch site
• NSG-V: Network Services Gateway appliance (virtual) typically deployed at a CO or in a DC environment
• Key Server (KS): Entity that is responsible for generating encryption keys
• Tunnel-based IPsec : ESP based implementation that relies on IKE for authentication, key generation and dis-
tribution.
• Group-key based IPsec: ESP based implementation that relies on KS entity to handle end-point authentication
(member registration), key (re)generation and distribution.
• Security Association (SA): A policy that governs encryption and encapsulation parameters between a set of
IPsec peers belonging to a specific domain. Multiple domains on a single NSG will have different SAs.
• Seed Encryption Key (SEK): A symmetric key that is used to encrypt the seed material during transport to the
NSG via the VSD and VSC. The public key of the NSG, which is generated as part of the bootstrap process, is
used by the KS to encrypt the SEK. The encrypted SEK is distributed to every NSG. The NSG uses the SEK to
decrypt the seed material.
• Seed: Seed material that is generated by the KS, transported to NSG with additional attributes. Seed is encrypted
using the SEK and stored on the KS. The seed material is used by NSG to generate the Traffic Encryption Key
(TEK).
• Traffic Encryption Key (TEK) or Enterprise Group Key: Symmetric encryption keys that are used to encrypt
data traffic sent between NSGs
The deployment model supports VxLANoIPsec tunnels between NSG end-points as a full-mesh or hub-n-spoke:
• Full Mesh: Topology is referred to as full-mesh when traffic is encrypted between NSG end-points without
the use of point-to-point tunnels. In order to accomplish the tunnel-less communication, keying material is
distributed to the NSGs using a Nuage proprietary method.
• Hub-n-Spoke: Is a variation of the full mesh topology when encrypted traffic flow is between a hub site and
branch sites. In other words there is no branch to branch communication.
For IPsec, a new functional component is added to the existing VNS architecture. The component is a centralized Key
Server (KS) that is responsible for enforcing the encryption policy and for key management.
Under the current VNS deployment model, the KS is assumed to be a trusted entity of the VSD and is deployed as
a module within VSD. It is referred to as a managed KS whereby the enterprise administrator manages the security
policies for the organization, as well as the encryption policies on the KS. A KS that is a separate entity from the VSD
and is untrusted is referred to as an unmanaged KS and will be supported in a future release.
The primary functions of the KS are:
• Generation of encryption keys
• Generation of Seed
• Lifecycle management of keys/seed
• Enterprise/NSG registration, authentication and authorization
• X.509 certificate awareness
In the case of a managed KS, the setup and startup/initialization process occurs as part of the VSD startup. The
KS authenticates to the VSD using X.509 certificate generated by the VSD as root CA. Upon completion of the
initialization of VSD, the KS is in an operationally ‘ready’ state to generate the keying material for the enterprise. KS
subscribes to the event notification bus using the same key to listen to rekey and NSG revocation events which triggers
key/seed re-generation.
The IPsec capability is selected at the Organization level via a security option. The KS processes startup when the
security option is enabled. Once the KS process is started, the KS periodically generates for the Organization:
• SEK which is an object consisting of an internally generated key ID and configured encryption attributes. The
public key of the NSG, which is generated as part of the bootstrap process, is used by the KS to encrypt the
SEK. The SEK is stored on the VSD for delivery to NSGs.
• Seed which is the keying material for generating traffic encryption keys on the NSG. The seed material is
encrypted (using the SEK) and signed by the KS and stored on the VSD for delivery to NSGs.
Note: The generation of the SEK and the Seed occurs even if there are no NSGs present in an active state for that
enterprise.
Security policies that are configured in the VSD are pushed to the NSGs as follows:
• If policies are present at bootstrapping time, then they are sent as part of the infrastructure configuration once
the NSGs are authenticated. Keys are pushed using vPort resolution procedures.
• If policies are configured post-bootstrapping, they are pushed using same procedures used to update infrastruc-
ture configuration. Keys are pushed using domain/subnet configuration update procedures.
Key-distribution to the NSGs is handled via VSC unicasting over OF-TLS channel to individual NSGs that are part of
the same member group.
The KS generates the cryptographic data, namely the SEK, Seed and associated keying material, which is then dis-
tributed securely to all the active NSGs by the VSD. The NSG generates TEK from the Seed, and the TEK is used to
encrypt the data path.
SEK Processing
The SEK is used to encrypt/decrypt the Seed. For secure transport to the NSG, the SEK and related attributes are
encrypted and signed by the KS. The encrypted SEK is transported to the NSGs over XMPP-TLS (VSD -> VSC)
and OF-TLS (VSC -> NSG). The cryptographic parameters for the SEK are: (see SEK parameters (page 413) for
configuration details):
• SEK Payload Encryption Algorithm: RSA (Asymmetric encryption)
• SEK Payload Encryption Key: NSG’s Public Key (received as part of the bootstrapping process)
• SEK Payload Signature Algorithm: Configured by CSPRoot as part of the System Configuration. Cannot be
changed by Enterprise admin. The KS uses its Private Key for signing.
Upon receipt of the encrypted and signed SEK, the NSG processes the received data as follows:
• Verifies the signature using the KS Public Key that is received as part of the bootstrapping process.
• If signature is valid, then the NSG uses its private key to decrypt and retrieve the SEK data which it then uses
for Seed processing.
Seed Processing
Secure transport of Seed material to NSG utilizes encryption, authentication and digital signing. Thus, the crypto-
graphic parameters for the Seed are (see Seed parameters (page 413) for configuration details):
• Seed Payload Encryption Algorithm: Default value is configured by CSPRoot, but can be changed by Enterprise
Admin to another symmetric algorithm option.
• Seed Payload Encryption Key: SEK (generated by KS)
• Seed Payload Authentication Algorithm: Default value is configured by CSPRoot, but can be changed by En-
terprise Admin to another authentication algorithm option.
• Seed Payload Authentication Key: Generated by KS as part of the SEK data
• Seed Payload Signature Algorithm: Default value is configured by CSPRoot, but can be changed by Enterprise
Admin to another asymmetric algorithm option. The KS uses its Private Key for signing.
When the encrypted and signed Seed material is received by the NSG, it is processed as follows:
• Verify the authenticity of the received digest using the authentication algorithm and authentication key
received as part of SEK data.
• If authenticity is verified, then verify the signature using the KS Public Key.
• If signature is valid, then use SEK (retrieved as part of SEK processing) to retrieve the Seed material.
TEK Processing
TEK generation and processing is on the NSGs. All NSGs generate the same TEK from the Seed using a Nuage pro-
prietary implementation. The TEK is used to encrypt the data traffic sent between the NSGs. The TEK cryptographic
parameters are (see TEK Parameters (page 413) for configuration details):
• TEK Payload Encryption Algorithm: Default value is configured by CSPRoot, but can be changed by Enterprise
Admin to another symmetric algorithm option.
• TEK Payload Encryption Key: Generated on the NSG using the Seed and some additional Seed material.
• TEK Payload Authentication Algorithm: Default value is configured by CSPRoot, but can be changed by En-
terprise Admin to another authentication algorithm option.
• TEK Payload Authentication Key: The key for HMAC is generated by NSG as part of the TEK data.
Under certain scenarios, an Enterprise admin may want to refresh all the cryptographic keys in the network. The
capability is supported using a Force Re-Key function that can be invoked as follows:
1. In the Enterprise view, naviagate to Dashboard -> Key Server Monitor. On the far right towards the top is Force
Re-key button.
In addition, when a NSG is revoked, it is treated as a security event, and the SEK and Seed are regenerated by the KS
and distributed to all existing NSGs for immediate use. No explicit user action is required.
In order to support encryption for a multi-tenant NSG-BR, the KS generates tenant (enterprise) specific SEK and Seed
data. All seed material lifecycle events (creation, rekey, deletion, refresh, revoke) are handled on a per enterprise basis.
On a multi-tenant NSG-BR, traffic to other NSGs is encrypted using the keys for the enterprise to which the destination
NSG belongs. IPsec policies and traffic keys are associated with an enterprise. In other words, NSGs beloning to
different enterprises will not share the same traffic keys.
Revocation of a multi-tenant NSG-BR will trigger a rekey on all NSGs which share the enterprises with the revoked
NSG-BR.
In the event of a connectivity loss between NSG and VSC, or between VSC and VSD, the cryptographic data (Seed
etc.) may not be delivered to an NSG which results in keys not being available for encrypting traffic and hence
forwarding will stop.
Refer to IPsec Key Considerations (page 104) for decription of cryptographic processing using disaster recovery Seed
during controllerless contingency.
7.1.6 Workflows
The following is a high-level workflow of the cryptographic processing for enabling IPsec on NSG end-points (assum-
ing that the VSD is installed and the managed KS is also created and started).
• CSPRoot enters the default KS configuration parameters as part of the System Configuration (Enter System
Configuration (page 410)).
• Administrator enables the Organization for security (Enable Security for Organization (page 411)).
• Administrator configures the KS for the Organization by selecting cryptographic attributes related to SEK, Seed
and TEK management (KS Configuration (page 412)).
• Once KS configuration is complete, KS starts periodic generation of SEK and seed material.
• Administrator defines Domain/Zone/Subnet and enables security (Create secure L3 Domain/Zone/Subnet
(page 413)). Unmanaged L2 domains are also supported (Create secure L2 Domain (page 415)))
• All NSGs receives the SEK and encrypted seed material from the KS. Each NSG decrypts the seed using the
SEK, and generates the traffic encryption key from the seed. If a new NSG gets bootstrapped, it joins the domain
and receives the SEK and Seed from the KS.
• NSGs encrypt/decrypt the traffic data using the TEK (since all generate the same TEK for the shared Seed
material).
Once the VSD is installed, the CSPRoot sets up the default values for the KS attributes through the system configu-
ration. The enterprise administrator has the choice of either keeping these default values or specifying new values via
KS Configuration (page 412).
1. As CSPRoot, open Data Center Configuration ( ). Under the Settings tab, click on icon which opens
the System Configuration page. The majority of the system configuration variables should not be modified
without discussion with Nuage Networks Customer Support. This section describes only the variables required
for IPsec related configuration. Refer to the current version of the Nuage VSP User Guide for the remaining
parameters on the System Configuration page.
2. Enter the values for the variables in the Key Server Default Values section. These will be the defaults for the
Organization’s KS settings. The values in the Figure below are example values. The recommended defaults are
provided along with the detailed parameter explanation below.
Enable Key Server Monitor is a check box to indicate whether key server monitoring should be enabled from the
operating system command line. This is useful to the CSPRoot for troubleshooting. Recommended default is Enable.
Seed Payload Encryption Algorithm: Is the symmetric encryption algorithm. Supported options are 3DES CBC,
AES-128 CBC, AES-256 CBC. Recommended default is AES-256 CBC.
Seed Payload Signature Algorithm: Is the signing algorithm. Supported options are SHA-1 with RSA, SHA-221
with RSA, SHA-256 with RSA, SHA-384 with RSA, SHA-512 with RSA. Recommended default is RSA SHA-1.
Seed Generation Interval: Is the time in seconds before the expiry of the seed that a new seed must be generated.
Minimum Seed Generation Interval: Minimum value that can be configured for seed generation interval.
Minimum Seed Lifetime: Minimum value that can be configured for the seed lifetime.
Seed Lifetime: Is the duration in seconds after which the seed expires and must be regenerated. Valid range is 60
minutes to 2 days. In the event of a forced rekey or revoke event, the Seed is refreshed before the expiry of the lifetime.
SEK Payload Signature Algorithm: Is the signing algorithm. Supported options are RSA SHA-1 / SHA-221 / SHA-
256 / SHA-384 / SHA-512 SEK Generation Interval: Is the time in seconds before the expiry of SEK lifetime
that a new SEK is generated. It is the overlap interval when the old and new SEKs will coexist. However, only one
will be active at any given time. The interval value depends on the SEK lifetime value and the number of NSGs.
Recommended default is 1200 seconds.
Minimum SEK Generation Interval: Minimum value that can be configured for SEK generation interval. The
CSPRoot sets this value and it establishes the lowest value that can be configured by the Enterprise administrator in
the KS configuration.
SEK Lifetime: Is the duration in seconds after which the SEK expires and must be refreshed. In the event of a forced
rekey or revoke event, the SEK is refreshed before the expiry of the lifetime.
Minimum SEK Lifetime: Minimum value that can be configured for SEK lifetime. Traffic Authentication Al-
gorithm: Is the IPsec transform hashing algorithm. Supported options are HMAC SHA-1 / SHA-256 / SHA-384 /
SHA-512.
Traffic Encryption Algorithm: Is the IPsec transform encryption algorithm. Supported options are 3DES CBC,
AES-128 CBC, AES-192 CBC, AES-256 CBC.
Traffic Encryption Key Lifetime: Is the duration in seconds after which the TEK expires and must be refreshed.
In the event of a forced rekey or revoke event, the TEK is refreshed before the expiry of the lifetime as soon as a
new Seed/SEK is received. The TEK is used for outbound encryptions as soon as it is generated and any security
associations based on the old TEK are deleted.
Generation Interval On Forced ReKey: Is the duration in seconds after a forced rekey event that a newly generated
seed and SEK become active.
Generation Interval On Revoke: Is the duration in seconds after a NSG revoke event notification that a newly
generated seed and SEK become active.
The IPsec capability is selected at the Organization level via a security option in the Organization Profile referred to as
Encryption Management Mode. In order to enable/disable Encryption on an Organization it must be associated with
the appropriate Organization Profile that has the security option Enabled/Disabled using the following steps:
1. As CSPRoot, open Data Center Configuration ( ). Under the Organization Policies tab, click on for
Organization Profiles. To add a new profile, click the plus icon (+). The New Organization Profile popup
appears.
2. The option in the popup related to the IPsec feature is Management Mode. Default is Disabled. Select Enabled
to create a profile that can be associated with an Organization that requires encryption. All other configuration
parameters are explained in the current version of the VSP User Guide.
3. The newly created Organization Profile can be associated with an existing or new Organization to enable security
encryption. This architecture allows a CSPRoot to create multiple infrastructure encryption profiles, each with
varying attributes, to address 3rd party gateway interoperability in the future when such a capability is supported.
KS Configuration
The KS is configured by specifying all the the crypto attributes required for SEK, Seed and TEK generation for that
organization.
1. In the Organization view, go to the Settings tab and click on icon in the left sidebar for Key Server Config-
uration. The Key Server Configuration popup appears. Note it is a scrollable panel in the VSD UI, but a split
view is shown here for readability.
2. Enter the information related to SEK (Generation, Authentication, Encryption and Signature), Seed Generation,
and TEK (Generation, Authentication, Encryption). Defaults selected by the CSPRoot as part of the System
Configuration will be displayed.
Refer to System Configuration (page 410) section for detailed definitions for the following: SEK Parameters
• SEK Generation Interval
• SEK Lifetime
• Seed Payload Authentication Algorithm
• Seed Payload Encryption Algorithm
• Seed Payload Signing Algorithm
Seed Parameters:
• Seed Generation Interval
• Seed Lifetime
Traffic Encryption Key Parameters
• Lifetime
• Authentication Algorithm
• Encryption Algorithm
The Enterprise administrator defines Layer 3 networks using Domain templates that contains Zones and Subnets (refer
to current version of Nuage VSP User Guide for provisioning details). For an Organization that is enabled for security,
encryption can be specified at the Domain, Zone, and Subnet level. The rules for enabling encryption on the individual
Domain/Zone/Subnet objects are as follows:
• Each enterprise must have at least one Domain template defined by the administrator.
• Encryption can be enabled or disabled at the Domain template level. The Domain instance inherits the encryp-
tion settings from the Domain template and cannot be changed at the Domain instance level.
Enable encryption as follows:
1. In the Organization view, select Networks -> Layer 3 Domains , and select an L3 domain template.
2. In the center panel, select the template icon , and in the far right panel specify the encryption parameter
under the tab icon .
• Encryption can be enabled, disabled, or inherited at the Zone, Subnet level. However, if there is a template
that defines Domain/Zone/Subnet along with encryption setting, then an instance created from such a template
will inherit all the encryption settings and cannot be changed. On the other hand if only Domain defined in
template, and if a domain is instantiated from such a template, then encryption can be Enabled/Disabled at Zone
and Subnet level when they are added to the instance.
• Default setting for encryption on the Domain is ‘Disabled’ and ‘Inherited’ for Zone and Subnet.
• The encryption setting on the Subnet takes the highest precedence.
Note: Once the NSG successfully bootstraps and becomes active, it receives the SEK and the Seed from the KS
regardless of the encryption settings on the Domain, Zone, or Subnet (i.e. even if the flags on these objects are all set
to disable).
Once encryption is enabled at the subnet level, traffic to and from the secure subnet is always encrypted. Thus, even
if a subnet has encryption disabled, traffic to and from the subnet to a secure subnet is encrypted. As depicted in the
following Figure, VxLAN traffic is sent in the clear only when both subnets (S1 and S2) have encryption disabled.
Similar to the Layer 3 service instantiation, for Layer 2 domains, encryption can be enabled or disabled at the Domain
template level. The Domain instance inherits the encryption settings from the Domain template and cannot be changed
at the Domain instance level. Enable encryption as follows:
1. In the Organization view, select Networks -> Layer 2 Domains , and select an L2 domain template.
2. In the center panel, select the template icon , and in the far right panel specify the encryption parameter
under the tab icon .
For encrypted domains, the DSCP marking is always copied from the outer VxLAN header to the outer ESP header.
The DSCP marking on the outer VxLAN header is determined as a function of the Ingress QoS policy associated
with the VPort and the forwarding class to DSCP marking derived from the Network QoS in the VSC as explained in
VxLAN QoS Marking (page 416).
For traffic egressing to the overlay, the QoS marking on the customer packet header and outer VxLAN header is
determined as a function of the Forwarding Class Attributes of an Ingress QoS policy (associated with the VPort) as
follows:
1. If the user checks the Rewrite Provider Class With Customer Class (Trust) option, then regardless of any
configured DCSP mapping tables or default forwarding class, the DSCP marking from the incoming customer
IP header is copied to the outer VxLAN header. As stated earlier, for encrypted domains, the DSCP marking is
also copied to the outer ESP header.
2. If the user checks Rewrite Customer Class With Provider Class option, then first the forwarding class is
determined depending on the following two scenarios:
1. There is no DSCP Mapping Table: In this case the default forwarding class (FC) is used.
2. There is a DSCP Mapping Table, then the FC is determined per the Ingress QoS.
Once the FC is determined, then the DSCP marking is derived from the Network QoS (page 418) in the
VSC. The derived DSCP marking is then copied to the customer IP header and to the outer VxLAN
header, as well as the outer ESP header (for encrypted domains).
3. If the user does not check either Rewrite option, then the customer packet header’s DSCP marking will not be
re-written. Only the outer VxLAN header and the outer ESP header (in the case of encryption) will be re-written
with the derived DSCP marking using default FC or from DSCP Mapping table.
4. If there is no Ingress QoS policy attached to the VPort, then DSCP in outer VxLAN header will be 00.
There is a default Network QoS on the VSC that may be replaced by a user created QoS. Run the following command
to check which network QoS policy is in effect on the VSC (in this example, the default QoS is in effect):
*A:vsc>config>qos>network>egress>fc$ info
-------------------------
dscp-in-profile ef
dscp-out-profile cp63
-------------------------
When the NSGs are behind a NAT device, the ESP packets traverse the NAT device seamlessly. As part of the Full
Cone NAT control plane communication, each NSG will set up two DTLS sessions to the VSC using UDP ports 4789
(for VxLAN) and 4500 (for IPsec) as source ports.
{} - optional filter
<> - required filter
7.2.1 Overview
The Internet Key Exchange (IKE) capability is added to the existing group-key implementation of IPsec for inter-
operability with 3rd party Gateways that support the IKE protocol (specifically IKEv2). The feature enables secure
connection of remote branch location, over Internet or trusted 3rd party network, to a centralized data center with an
IKE Gateway.
The IKE Gateways may be:
• 7x50 IPsec with ISA cards
• Cisco ASR
• Public cloud Gateways (e.g. AMZ VPN gateways)
The recommended target topology is hub-and-spoke whereby communications between an NSG and a remote gateway
(NSG or 3rd party gateway) is encrypted using IKE IPsec. Any NSG to NSG communication will always use group-
key for encrypting traffic.
The IKE Connection Topology figure illustrates an NSG with dual uplinks. The following connections are depicted:
• NSG as 1:1 Initiator to gateway GW1. Local and Remote subnets are configured via the VSD.
• NSG as 1:1 Responder to gateway GW2. Local and Remote subnets are configured via the VSD.
• NSG as 1:Many Responder on uplink port 1. Gateways GW3, GW4, and GW5 are initiators. Only Local subnet
is configured via the VSD. Remote subnet is Any and a remote subnet is proposed when a connection is initiated.
• NSG as 1:Many Responder on uplink port 2. Gateways GW6, GW7, and GW8 are initiators. Only Local subnet
is configured via the VSD. Remote subnet is Any and a remote subnet is proposed when a connection is initiated.
7.2.2 Terminology
• Tunnel-based IPsec : ESP based implementation that relies on IKE for authentication, key generation and dis-
tribution.
• Group-key based IPsec: ESP based implementation that relies on KS entity to handle end-point authentication
(member registration), key (re)generation and distribution.
• Security Association (SA): A policy that governs encryption and encapsulation parameters between a set of
IPsec peers belonging to a specific domain. Multiple domains on a single NSG will have different SAs.
Example 1: An IP/MPLS based IPVPN implemented using 7x50. Off-net sites are connected via IPsec to a designated
7x50 hosting an IPsec-ISA. On the 7x50 GW, IPsec tunnels originating from remote NSGs are terminated and customer
payload is mapped to the respective VRF for access to the on-net IP/MPLS VPN.
Example 2: An Amazon deployed VPN gateway (IKE-based IPsec terminator) implemented to connect a VPC to
an Enterprise HQ site. NSG functioning as the HQ WAN router is required to terminate traffic from remote NSGs
(located at branches) as well as traffic source/terminated by AMZ VPC.
Example 3: Existing Cisco router deployed at a location whereby NSGs need to receive/send traffic to such location
over encrypted connection.
Note: Both IKE and group-key tunnels can co-exist within the same NSG/Domain.
• Encryption of mirrored traffic when a mirrored destination is behind an IKE gateway. Local subnet must be set
to Any (described later). The uplink IP is used as the source for mirrored traffic.
• BGP control packets encrypted for BGP peer behind an IKE gateway on the uplink. Currently, only one BGP
peer is allowed. Both local and remote subnets must be set to Any (described later).
• IKE over PPPoE is supported.
Forwarding Behavior
* If routes exist with next-hop using IKE tunnel, then forward over IPsec tunnel.
* If not, then forwarding is per NAT/PAT routing.
Note: Underlay Support must be enabled on the subnet for IKE IPsec tunneling.
• If all rules fail then traffic is dropped unless there is a default route.
It is assumed that subnets that are behind IKE gateways are not present in the overlay. Otherwise the overlay policy
evaluation will take precedence. Also domain/VRF context is not maintained when traffic is forwarded to an IKE
IPsec tunnel.
Note: IKE Gateways are associated with a specific NSG Network Port. There is no fail-over to a second network port
if the port with Gateway association fails.
Internet Key Exchange (IKE) protocol is a negotiation protocol that lets two communicating peers to agree and es-
tablish security associations (SA). IKE provides strong authentication of both peers and derives unique cryptographic
session keys.
Besides authentication and key material, IKE also provides the means to exchange configuration information and to
negotiate IPsec SAs (also referred to as child SAs). IPsec SAs define which network traffic is to be secured and also
describe the algorithms and keys used to encrypt and authenticate the traffic.
The Internet Security Association and Key Management Protocol (ISAKMP) and IPsec tunneling standards are used
to build and manage SAs in two phases:
• Phase 1 creates the first tunnel, which protects later ISAKMP negotiation messages to establish the IKE Secu-
rity Association (IKE-SA). Once the IKE-SA is created, it can be used for sending authenticated notification
messages, reliable dead-peer detection, and inexpensive creation of additional child-SAs.
• Phase 2 creates the tunnel that protects data. Specifically phase 2 establishes IPsec SAs. IPsec SAs are unidi-
rectional. Each SA consists of values such as destination address, a security parameter index (SPI), the IPSec
transforms used for that session, security keys, and additional attributes such as IPSec lifetime.
You can configure a performance monitor to perform an HTTP ping on an IKE IPsec tunnel to monitor reachability
to a third party IKE gateway. They can be used to determine whether an active IKE tunnel has failed and to perform
a switchover to a standby tunnel, if required. These performance monitors are similar to the one-way active measure
protocol probes used for AAR, but they do not require an NSG as the destination target.
HTTP ping for IKE tunnels is supported as part of the SaaS routing solution. See SaaS performance and reachability
monitoring (page 562) for more information.
IKE security configuration has an Enterprise scope, and is typically provisioned by an enterprise administrator. The
high level workflow is presented as an overview, followed by a more detailed step-by-step workflow.
1. Create IKE Encryption profile(s) to specify the IKE policy parameters. This is optional because when an
Enterprise is created, a default IKE Encryption profile is created per enterprise. The default profile cannot be
renamed or deleted. However, the various parameter values in the default profile may be edited. The parameters
are grouped as follows:
1. ISKAMP (Internet Security Association and Key Management Protocol) which is used by IKE for establishing
the IKE-SA.
2. IPsec which is used for the traffic encryption
3. Peer Detection timers that become active as soon as the IKE-SA is established. These are used for dead peer
detection.
2. Create IKE Gateway(s) to define and identify the 3rd party Gateway device(s). Once created, a Gateway may
be updated even if associated with an NSG port instance. However, a Gateway may only be deleted if there are
no NSG port instance associations.
Note: To support the 1-to-Many topology, an Any_Gateway configuration object is provided by default. The
Any_Gateway is used in a 1:Many Gateway Connection to allow any remote gateway to connect to the Hub NSG.
By default the right subnet of the Any_Gateway is 0.0.0.0/0.
Once a IKE Gateway is created, attach IKE Gateway Subnet(s) (also referred to as right subnet(s)). These represent
the routes on the IKE Gateway side.
3. Define IKE Pre Shared Keys. Currently only the Pre Shared Key (PSK) authentication mode is supported. In
the future RSA Signature mode will also be supported. User is required to create PSK(s) that will be used for
peer authentication.
4. Create IKE Gateway Profile
1. Associate an Encryption Profile. If a profile is not associated, then the default profile will be used.
2. Associate IKE Gateway. Use the Any_Gateway if a 1:Many Gateway Connection is required.
3. Associate Authentication (optional). This parameter provides a Gateway level scope for the authentication mode
that is inherited by every connection with which the profile is associated. It is always possible to override the
mode at the Gateway connection level.
5. Create NSG Gateway Connection. It is the connection between the IKE Gateway and the NSG network port.
1. Associate an IKE Gateway Profile.
2. Associate Authentication (optional). If specified, then this will take precedence if Authentication is also in the
IKE Gateway Profile.
3. The user may override authentication associated in step 5(a) and/or 5(b), and enter a completely new PSK in the
NSG Gateway Connection dialog. If specified, then the new PSK will be used for authentication.
4. Specify the NSG role as Initiator or Responder
6. Attach Local Subnets
Once the NSG Gateway Connection is created, attach Local Subnet(s). Only those subnet(s) for which
underlay support has been enabled will be available for attachment.
Note: For a given uplink port on an NSG, you should not create gateway connections with the same gateway profile.
Detailed Workflow
In the enterprise view, navigate to Infrastructure tab and then in the left panel, select IKE Gateway Profiles –>
IKE Encryption Profiles . Click on to add a new profile.
Enter a Name and Description and then configure the parameters in the following tabs of the encryption profile:
a. ISKAMP Parameters:
• Diffie-Hellman Group Identifer for peers to derive a shared secret without transmitting it to each
other.
• Authentication Mode to establish identity of the peers.
• Hash Algorithm to ensure the identity of the sender, and to ensure that the message has not been
modified in transit.
• Encryption Algorithm to protect the data and ensure privacy. It specifies the symmetric encryption
algorithm that protects data transmitted between two peers.
• Encryption Key Life Time is a duration for how long the encryption key is used before replacing
it.
• Perfect Forward Secrecy (PFS) flag which determines the rekeying of the child SAs when the
IKE-SA is rekeyed. Enabling PFS keeps the rekeying in Phase 1 and Phase 2 in sync. PFS must
also be enabled on the IKE Gateway. Enabling PFS will have some performance impact so should
be used with caution.
The options for the ISKAMP attributes are listed in the following table.
Attribute Value
As part of the peer negotiation, a match exists when the security policies of the two peers contain the same encryption,
hash, authentication, and Diffie-Hellman parameter values, and when the remote peer policy specifies a lifetime less
than or equal to the lifetime in the policy the initiator sent. If the lifetimes are not identical, then the shorter lifetime is
applied. If no acceptable match exists, ISAKMP refuses negotiation and the IKE-SA is not established.
b. IPsec Parameters:
Fig. 7.19: Create IKE Encryption Profile - IPsec (default values displayed)
• Encryption Algorithm for protecting the data transmitted between two peers.
• Authentication Algorithm to ensure the identity of the sender, and to ensure that the message has not been
modified in transit.
• SA Life Time is a duration for how long the phase 2 encryption key is used before replacing it.
• SA Replay Window Size is required for replay detection. This parameter applies only if anti-replay is enabled
in the IKE Gateway Profile.
Although not an explicit configurable option via the user interface, Don’t Fragement (DF) capability is supported for
the uplink underlay network. NSG copies the DF bit from the payload to the ESP header. If DF is 1 and ESP packet
size exceeds the port MTU, then it is dropped. If DF is 0 and packet size exceeds port MTU, then it is fragmented.
Attribute Value
c. DPD Parameters
Fig. 7.20: Create IKE Encryption Profile - DPD (default value displayed)
• For IKEv2, if there is no response to the keep alive, then a keep alive will be sent every 5 seconds for 5 times. If,
after the retries, the NSG doesn’t receive any traffic or response to the keep alives, then NSG will consider peer
as dead and clear all the tunnels. Once the retries have completed, the NSG starts initiating IKEv2 negotiations
forever.
Mode Interval
Note: It is assumed that the DPD attributes are also configured on the peering IKE Gateway to match the setting on
the NSG.
Navigate to Infrastructure tab and then in the left panel, select IKE Gateway Profiles –> IKE Gateways .
Click on to add a new gateway.
Specify the subnet(s) behind the IKE Gateway. These are referred to as remote (or right) subnets. In the Remote
Subnets panel to the right of a selected IKE Gateway, add new subnets by clicking on at the bottom of the panel.
Note:
• For BGP control packets to be encrypted (to a BGP peer behind the IKE gateway), the remote subnet must be
set to 0.0.0.0/0. It is also required that the local subnet be set to Any (described later in this chapter).
• For mirrored traffic to be encrypted (when a mirrored destination is behind the IKE gateway), the remote subnet
must be set to 0.0.0.0/0.
Navigate to Infrastructure tab and then in the left panel, select IKE Gateway Profiles –> IKE Pre Shared Keys
. Click on to add new PSK(s).
Peer authentication is a part of the IKE IPsec setup process. Currently only PSK mode is supported as the authentica-
tion mode.
Navigate to Infrastructure tab and then in the left panel, select IKE Gateway Profiles . Click on to create new
Gateway Profiles.
• Enable or disable Anti-Replay. When enabled, receiver rejects obsolete or repeated packets.
• When anti-replay is enabled, a Service Class must be selected or the default forwarding class H will be applied.
The selected service class will be used for classification and DSCP remarking of the outer header of all traffic
on IKE tunnels. It will be also be used for Egress QoS.
• Select a Gateway Identifier Type for creating an identifier from one of the following types:
– ID_IPV4_ADDR: An IPv4 Address. It is the default for the IKE Gateway and uses the configured IP
address of the gateway as the Gateway Identifier. However, if IP address of gateway is not specified, then
some type of identifier is required.
– ID_FQDN: a fully qualified domain name string
– ID_RFC822_ADDR: an email address string
– ID_KEY_ID: an opaque octet stream. On the NSG side, it is the default and uses the NSG Datapath ID in
a hexadecimal format.
• Enter a Gateway Identifer corresponding to the selected type.
• Associate an Encryption Profile. This is optional because the default will applied if not specified.
Navigate to Infrastructure -> Network Service Gateways -> NSG Instance –> Network Port (Port 1 or Port 2)
-> Untagged VLAN –> Gateway Connections panel. Click on to create new Gateway Connection.
Note:
• If for a given local/remote subnet combination, there is more than one gateway connection, then priority based
forwarding will ensure that encrypted traffic will flow over the highest priority active connection.
• On-demand DPD is required for detecting connection failures and for switching traffic across tunnels; such as,
traffic will switch to the lower priority connection if the remote gateway of a high priority connection is declared
dead, and switch back to the higher priority tunnel when the connection is restored.
• IKE Gateways must have a unique priority if associated with the same NSG. Priority value must be between 1
and 16000.
• Select the NSG Identifier Type from the same set as described for the Gateway Identifier Type. ID_KEY_ID
is the default.
• Enter an NSG Identifier. Default is NSG’s Datapath ID in a hexadecimal format and corresponds to the
ID_KEY_ID type.
• Select the NSG Role as either Initiator/Responder. It specifies if the NSG initiates an IKE IPsec connection or
only responds to connection requests from IKE Gateways.
Attention:
• If the NSG is behind a NAT device, then the NSG must be the initiator. When NSG is initiator, the IP address
of the associated IKE Gateway is required.
• If NSG is acting as a hub, then the NSG can only be a responder. For an NSG to be an initiator, it must be a
spoke.
• Once configured, NSG role cannot be changed from responder to initiator and vice versa.
• There can be a maximum of one 1:Many Gateway Connection per uplink.
• There may be multiple 1:1 IKE Gateways associated per NSG port instance, and the Gateways may be
associated/de-associated at any time
• The All local subnets flag when enabled implies that every configured connection with a source IP in the local
subnet(s) will be encrypted.
Note: For interworking with BGPv4, if there is a BGP peer behind the IKE gateway, then the All local subnets flag
must be enabled. The remote subnet must also be set to Any.
Once the NSG Gateway Connection is created, attach Local Subnet(s). Subnets that are bound to the NSG through
VPort association are candidates for attachment. The VPorts do not have to be resolved, just associated. From the
candidate list of subnets, only those subnet(s) for which underlay support has been enabled will be available for
attachment.
In a 1:Many scenario, if multiple initiators propose the same (or an overlapping subnet) traffic selectors, then there will
be outbound and inbound traffic only on the tunnel that gets initiated first. Other tunnels will be marked as inactive
since the policy will only be applied to the tunnel that gets established first.
For example, as shown in the Figure below, the NSG is configured with two 1:Many connections (one on each uplink
port), using a local subnet of 20.0.5.0/24 for each connection. On each connection, the various gateways initiate a
connection and propose the same remote subnet 3.1.1.0/24. This depicts a completely redundant case with identical
local/remote subnets.
If we assume that the 1:Many connection on Port1 is created with a higher priority than the 1:Many connection on
Port2, then the following is the expected behavior:
Since this is a redundant scenario, the tunnel will be established on both uplinks, but the connection priority is used to
forward on the tunnel on the higher priority connection. However, since both ports have 1:Many connection, on each
port, only the tunnel that gets established first (of all the initiators) will be active. In effect, in the depicted scenario
there will be outbound and inbound traffic only on the tunnel that gets initiated first on port1 (since we assume the
connection has higher priority).
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→----------------------------------------------------------------
--------------------------------------------------------------------------------------
˓→-------------------
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------------
EIGHT
APPLICATION-AWARE ROUTING
445
VNS User Guide, Release 5.3.2
8.1 AAR
8.1.1 Overview
Application-Aware Routing (AAR) in VNS enables policy-driven application performance management in a multi-
path network. Specifically, AAR enables capabilities such as application discovery, network performance measure-
ment, and intelligent path selection for application traffic based on path performance. The primary business drivers are
the growth of hybrid WANs, use of the Internet as a viable transport option, and evolution of the WAN as an enabler
of cloud-based applications.
Traffic today is a mix of voice/video, bulk data transfer, web conferencing, ERP/CRM, SaaS etc.. Thus, businesses
want to measure and monitor network performance, identify applications traversing the WAN, and prioritize applica-
tion traffic such that business critical traffic can be routed over the best path with desired Service Level Agreement
(SLA) attributes, e.g. low latency. Certain application traffic, such as from social media sites may be dropped or routed
over a best-effort path.
The following are the functional components and building blocks of application-aware routing capabilities in VNS:
Identify and classify network traffic coming into the access ports of a NSG on a per-application basis using:
• Signature-based L7 classification (e.g. Skype, Facebook, Google, etc) using a library of 1900+ signatures.
L7 classification also includes applications discovered using the Common Name in TLS certificates (when
available).
• Custom classification based on source/destination IP address, source/destination L4 ports, L4 Protocol
(TCP/UDP)
Use Case: User wants to monitor the traffic coming into the access ports of a NSG to understand the L7 profile (Skype,
Facebook, Google, etc) of traffic passing through their network.
Measure and report health metrics (one way packet loss, jitter and latency) of overlay network connections between
NSGs in a domain using performance monitors, with a specified network profile (service class, payload size, traffic
rate), to measure path performance.
Use Case: User wants to monitor the health of the network connection between NSGs belonging to a particular
Domain. The user is interested in creating test traffic with a specific network profile (service class, payload size, traffic
rate) and monitor the one way packet loss, jitter and latency between the uplinks of different NSGs.
Visualization is a key component of AAR and applies to AD and NPM as well. In this release, APV refers to policy-
based intelligent path selection for application traffic based on performance of the uplink. In the future, the scope of
APV will include broader policies for application-aware performance management.
Thus, currently APV enables application flows to be switched to another path, if the performance (One-way Latency,
Jitter, and Packet Loss) of an uplink degrades beyond the thresholds specified in the Application’s policy. Without
APV, the choice of the uplink for a given traffic flow is static.
Note: Traffic will only be performance routed if there are no advanced ACLs or if entries in the advanced ACLs have
the Local Uplink Preference set to Default.
Use Case: User wants to ensure that a particular Application is monitored for performance and if the performance of
the Application degrades below a certain threshold SLA (denoted by one way Latency, Jitter and Packet Loss) all the
flows belonging to the Application are switched over to a path that does not violate SLA, if such a path exists.
The following objects are utilized in the workflows for setting up AD, NPM, and APV. The detailed configuration
procedures are described later in this chapter.
Applications
An Application is used to classify traffic originating from access ports based on L4 and L7 characteristics. The
user can specify source/destination IP address, source/destination L4 ports, L4 Protocol (TCP/UDP) as well as a L7
classification. One or more flows may be mapped to an Application based on these characteristics.
An Application Service Level Agreement (SLA) denotes the maximum one-way Latency, Jitter and Packet Loss that is
acceptable for that Application. SLA is required for APV, and the application’s SLA metrics are compared against the
average latency, jitter and packet loss measurements reported for the uplinks. If the average values are greater than the
SLA values, then the system tries to select an alternate path that will satisfy the SLA parameters of that applications.
All flows beloging to the applications will be moved.
APM Groups
An APM (Application Performance Management) Group denotes a class of Applications that have similar network
characteristics, such as video, voice, bulk transfer, best-effort etc.. The APM Group is associated with a Performance
Monitor (page 449) which specifies the characteristics of the test traffic that is generated for measuring uplink perfor-
mance.
The test traffic is started for each APM group, instead of per application. Thus by grouping applications with similar
SLA requirements, the test traffic can be utilized efficiently.
An APM Group can:
• contain one or more Applications in a prioritized list (configurable by the user). Thus, if there are multiple
application definitions, then the priority will be leveraged to drive the match order.
• be mapped to one or more Domains with potentially a different priority per Domain.
The Applications belonging to a Domain will be flattened into an ordered list from high priority to low priority. This
ordering will take into account the Application Group priority and the Application Priority. A flow is matched to an
Application in the order of the prioritized list.
Performance Monitors
Performance Monitor denotes the characteristics of network traffic such as payload size, service class and traffic rate.
It is used to initiate the test traffic (also referred to as PM probe) for measuring the performance of the uplinks for
NPM and APV capabilities.
Note: NTP is used in the performance monitor infrastructure, and NTP drift errors may lead to false negatives in SLA
violations, especially in low latency networks.
For NPM, test traffic is executed continuously between all NSGs that are in scope. Link performance results are
reported by the receiving NSGs to VSD every 5 seconds.
For APV, test traffic is triggered via 1st packet detection (default) or is continuous or a combination of both.
1st packet detection means that once a flow is classified to given Application, it will trigger test traffic between the
source and destination NSG of the flow. Since Application classification may require a number of packets to be seen
by the classification engine, the triggering of the performance probe is delayed in contrast to when a continuous PM
probe is utilized. 1st packet probes are unicast probes (between two NSGs) and are optimized for CPU and network
utilization.
A trigger may be a combination of 1st packet detection and continuous. In this option, a continuous PM probe is
started between all NSGs in scope (as specified for an application). If a particular NSG is not in the list, then the probe
will be started when the 1st flow matching the Application is detected at that NSG.
Note: For APV related probes, there is an idle timeout of 150 seconds after which the probe session is terminated.
The Performance Monitor Scope object is used to define the list of source NSGs and destination NSGs whose network
paths need to be monitored using test traffic. The Performance Monitor Scopes may be associated with Application or
NPM Group.
NPM Groups
NPM (Network Performance Measurement) Group object is used for the NPM feature. It specifies the Performance
Monitor that will be used as a continuous probe between the NSGs defined by the Preformance Monitor Scope.
You can create an advanced ACL that dynamically selects application flow paths based on a combination of local or
remote uplink preference and AAR default path selection behavior.
You can assign a specific application — or all applications in the domain — to an ingress forwarding policy entry.
When you specify an application, most other match criteria in the policy entry is disabled. This is because that criteria
are pulled directly from the selected application, and does not need to be configured on the policy entry. You can still
configure an origin and destination network.
If an application is selected as a match criterion, you can enable the SLA Aware parameter as an action. If the
parameter is enabled, paths are selected based on the advanced ACL uplink preference as well as SLA violation
information from the AAR analyzer. If the parameter is disabled, the advanced ACL uplink preference overrides AAR
path selection logic. You can configure either the Local Uplink Preference or Remote Uplink Preference parameter.
Specifying a remote uplink preference allows you to steer traffic from an NSG or NSG-UBR vPort to a specific network
port on the destination NSG. You cannot specifiy both a local and a remote uplink preference. One of the parameters
must remain Default. Remote uplink preference configuration allows for a use case where an NSG-UBR is forwarding
traffic to a destination NSG. The local uplink preference cannot be specified for an NSG-UBR.
When the SLA Aware parameter is enabled, the path selection preference order for each uplink preference is as
follows:
• Default: n/a
• Secondary: Sec. in SLA > Sec. out of SLA
• Primary: Prim. in SLA > Prim. out of SLA
• Prim:Sec: Prim. in SLA > Sec. in SLA > Prim. out of SLA > Sec. out of SLA
• Sec:Prim: Sec. in SLA > Prim. in SLA > Sec. out of SLA > Prim. out of SLA
• Symmetric: Prim./Prim. in SLA > Sec./Sec. in SLA > Prim./Sec. in SLA > Sec./Prim. in SLA > Prim./Prim.
out of SLA > Sec./Sec. out of SLA > Prim./Sec. out of SLA > Sec./Prim. out of SLA
Note: Refer to the uplink preference behavior table (page 211) to see the path selection behavior for advanced ACLs
that are not SLA-aware.
Note: Symmetric uplink preference is not supported for the Remote Uplink Preference.
Note: It is recommended that L3/L4 advanced ACL uplink preference be used instead of pre-classification.
See the VSP User Guide for more information and workflows for configuring advanced ACLs in the VSD.
Traffic flowing between two NSG-UBRs is managed by UBR-AAR. UBR-AAR is agnostic of applications and peri-
odically steers traffic to the better path between two NSG-UBRs.
If an NSG-UBR has a vPort with DPI enabled, the traffic is managed by regular AAR. This means that NPM, APM,
and path switching is supported for traffic originating from an access-side NSG-UBR vPort towards a destination
access port on an NSG. This functionality allows the NSG-UBR to act as a transit in a domain if it is the only route
for AAR traffic flows.
Application Discovery: The ability to enable classification on Domain/Zone/Subnet/vPort level for the purpose of
discovering which applications are traversing a domain. No probing is required for this use case and as such no
intelligent path selection is done. Application Discovery process includes:
• Mirror all traffic ingressing on a vPort to the classifier (DPI engine). This is a vPort level attribute that is
inherited or locally configured.
• Identify and classify traffic into applications based on L4/L7/L4+L7 attribute match, independent of traffic
destination (overlay or underlay)
• Export results to statistics engine
• Generate reports for visualization of discovered applications
Note: When DPI is enabled, IPv4 traffic is mirrored. However, ARP packets are not mirrored and IPv6 is not
supported. As a result, the total measured application usage may not be equal to the port utilization. Additional
control traffic and statistics reporting may not be captured in the DPI, and tunnel encapsulation overhead may cause
the port utilization to be different from what is reflected in the AAR statistics even if all V-Ports are part of a single
domain with default application discovery.
Network Performance Measurement: The ability to turn on continuous probes between all NSGs for a given domain
for the purpose of measuring One-Way loss, delay, jitter. NPM process includes:
• Initiate probes independent of traffic ingressing the NSGs
• Calculate probe results by analyzing the response to received probe packets
• Export results to statistics engine
• Generate reports for visualization of performance measurement results
Application Policy and Visualization – Combination of the above two capabilities with the additional definition of
per application SLAs. In a multi-path network, each application will have its own best path from source to destina-
tion based on the traffic characteristics of the application. Using performance monitor probes to measure network
performance, an optimal path is dynamically selected to maintain application flows within a service-level contract.
Once Application SLAs are violated for a given path, all flows belonging to Application are moved to an alternate
conforming path. APV process includes:
• Trigger probes per application group for calculating path performance. Probes may have 1st packet trigger only
(in contrast to NPM, whereby probes must be set to continuous)
• Enforce VSD policies for applications with SLA definition by using path performance results to ensure that the
path does not violate the SLAs or select an alternate SLA conforming path
• Export SLA and application metrics to statistics engine
• Generate reports for visualization of Application flow information, byte/packet counts and SLA status
Note: When a TCP SYN packet is received within three minutes of a previous TCP SYN packet with the same
5-tuple, it is considered to be part of the same traffic flow. If the packet is received after the three minute window, it is
considered to be part of a new traffic flow which is mirrored for DPI.
AAR capabilities (AD, NPM, APV) must be enabled or disabled by the CSPRoot.
1. As CSPRoot, navigate to Organization Policies -> Organization Profiles, to create a new or modify an existing
profile.
Note:
• Unless this option is enabled, AAR will not be available to the enterprises associated with this profile.
• The flag may be enabled or disabled at any time.
The Deep Packet Inspection (DPI) flag enables the AD and APV capabilities.
1. As Enterprise Administrator, navigate to desired Domain/Zone/Subnet/vPort where AD or APV is desired.
2. On the far right, select icon, and scroll down in the rightmost panel until the DPI parameter is visible.
Define Applications
1. As Enterprise administrator, navigate to Applications tab -> Applications . Click on in the panel to add
a new Application or edit an existing one.
Note: A default Application is provided which cannot be edited. The default application matches any application.
Note: After L7 signature classification, path switching happens only if the path selected via pre-classification is out
of SLA.
• Primary: Follow Primary tagged uplinks only. If no Primary tagged uplinks are operational, drop traffic.
• Secondary: Follow Secondary tagged uplinks only. If no Secondary tagged uplinks are operational, drop traffic.
• Check Enable Performance Management for specifying the attributes required for APV. Enabling the flag
opens up the panel below it with the relevant attributes. The flag is optional:
– If not enabled, it allows the user to customize the reporting by just defining applications which will be
subsequently displayed in the reports
– If enabled, the defined applications can be routed based on path performance. In other words, enables APV
capability.
When enabled, the following additional attributes have to be specified:
• Select Optimize for criteria as either packet loss, delay or jitter. Thus, if there are multiple compliant paths,
then the path with the best SLA for the optimize for attribute is chosen. In addition, if all paths are in violation,
and there is no compliant path, then the path with the best SLA for optimize for attribute is chosen.
• Monitor Type
– First Packet (Application Triggered): Once traffic is classified to given Application at an NSG, it will
trigger unicast test traffic to the destination NSG.
– Continuous: If a particular NSG is in the Performance Monitor Scope list, it will start continuous probe to
its destination NSGs.
– First Packet and Continuous: If a particular NSG is in the Performance Monitor Scope list, it will start
continuous probe. If it is not in the list, then the probe will be started when the 1st flow matching the
Application is detected at that NSG.
• SLA attributes are used to measure compliance for application against performance monitor probe results. At
least one parameter value must be defined:
– Packet Loss: Define maximum average packet loss (one-way)
– Packet Delay: Define maximum average delay (one-way)
– Packet Jitter: Define maximum average jitter (one-way)
Note: Packet Loss calculation algorithm uses a fast fill procedure in which all probes will send out packets at a rate of
10 packets per second for the first 100 seconds until the buffer is filled up. After the fast fill is completed, the probes
will fall back to the configured packet rate. This improves the accuracy for slow rate probes.
Required for the APV use case when continuous probes are utilized for monitoring path performance. As described
earlier, the probes may be triggered by 1st packet (post classification) or may be continuous probes. In the case of
continuous probe, a performance monitor scope is required so that the probe can be initiated between the source and
destination NSG pairs listed in the scope. Without the scope, the probes will not be initiated and as a result there will
be no path switching.
1. For a selected Application, in the Performance Monitor Scopes panel, click on to define a new performance
monitor scope.
2. Enter a Name for the scope.
3. Select the list of Source and Destination NSGs in a domain whose network paths need to be monitored using
test traffic.
Note: For continuous performance monitoring probe, a performance monitor scope is required because it defines the
source and destination NSGs for the test traffic.
Required for NPM and APV use cases. Performance Monitor denotes the characteristics of network traffic such as
payload size, service class and traffic rate, and is used to initiate the test traffic with the specified profile.
1. As Enterprise administrator, navigate to Applications tab -> Performance Monitor . Click on in the panel
to add a new monitor or to edit an existing one.
2. Enter the following attributes:
• Name
• Description
• Service Class which is A-H. Default is service class H. Since the probe is intended to mimic the characteristics
of the traffic being monitored, ensure that the service class matches that set for Egress QoS (page 307).
• Payload Size in bytes. Minimum value is 91 Bytes.
• Probe Type to specify a one-way or HTTP probe. For AAR, select One-Way. See Reachability Monitoring
(page 562) for more information about configuring HTTP probes for IKE tunnels.
• Interval in packets per seconds. Rate of 10 packets per second (or 1 packet every 100 ms) is the maximum rate
at which a performance monitor probe can be sent.
Required for AD and APV use cases. An APM Group denotes a class of Applications that have similar network
characteristics, such as video, voice, bulk transfer, best-effort etc..
1. As Enterprise administrator, navigate to Applications tab -> Application Performance Management Groups .
Click on in the panel to add a new monitor or to edit an existing one.
Note:
• A Default Application Group is provided for reporting discovered applications if no user defined applications
are configured. The default application group is associated with a Default Application.
• When Performance Management is enabled in the Organization profile, then the Default Application Group is
automatically assigned to domains in the Enterprise with a priority of 65535.
Note: If an APM Group has at least one application with Performance Management enabled, then a Performance
Monitor must be associated with the group.
1. Once an APM Group is created, in the Application Binding panel, click on to add Applications to the
group with a certain priority. The flows will be matched against the Application in the prioritized order. Once
matched, the performance monitor probe associated with the corresponding APM Group (to which the applica-
tion belongs) will be picked for the test traffic.
2. On the far right panel, click on APM Group Binding . If an APM Group is already assigned, it will be listed
in the column below the icon.
3. Click on to create the APM Group binding. In the popup, click on the icon which will display a list of
APM Groups available (for the enterprise) for consumption. Select an APM Group and assign a Priority to the
group.
Attention: When associating APM Group to domain(s), ensure that the all the NSGs in performance monitor
scope are covered. Otherwise the performance monitor probe will not be initiated to an NSG that is not in the
domain.
1. As Enterprise administrator, navigate to Applications tab -> NPM Groups . Click on in the panel to add
a new NPM object or to edit an existing one.
Note:
• Performance Monitor association is mandatory for NPM.
• A default NPM object is provided with default Performance Monitor attributes and a default Performance Mon-
itor Scope (which is between all NSGs).
If NPM is desired between a certain set of NSGs, then the Performance Monitor Scope can be defined to limit the test
traffic.
1. For a selected NPM object, in the Performance Monitor Scopes panel, click on to define a new performance
monitor scope.
2. Enter a Name for the scope.
3. Select the list of Source and Destination NSGs in a domain whose network paths need to be monitored using
test traffic.
Each of the capabilities, AD, NPM, and APV invoke one or more configuration objects as summarized in the end-to-
end workflows presented in this section.
The workflows assume that the feature is enabled (page 452) by the CSPRoot.
1. Enable DPI (page 453) on desired Domain/Zone/Subnet/vPort (right pane of respective object on VSD UI)
where AD/APV is required.
Since a Default Application Group is automatically associated with the domain with priority 65535, all Traffic will
be mapped to Default Application in the Default Application Group.
Note: The user can also create custom Applications (page 454) and associate them to APM Groups (page 459)
in a prioritized order. The APM Groups may be associated with a Domain (page 460) in a prioritized order. The
traffic flows will be matched againsts Applications in the APM Group and only if no match is found, will the Default
Application be chosen.
4. Create APM Group (page 458) with the corresponding PM, and associate Applications (page 459).
5. Associate APM Group (page 460) to the domain with a priority specified. Based on the trigger selected, contin-
uous PM probe may be initiated or PM probe will start post classification. Uplink performance measurements
and SLA monitoring procedure will determine the best path for the application traffic.
6. SLA violation results per NSG/Application are displayed in the AAR visualizations.
NPM Workflow
1. Define NPM Group (page 461) with the Performance Monitor Scope.
2. This will start continuous Performance Monitor probes between all NSGs in scope.
3. Performance measurement results are displayed in the AAR visualizations.
4. Continuous PM probes can be stopped by de-associating the Performance Scope.
===============================================================================
*A:vsc# show vswitch-controller enterprise "test_organization" application detail
===============================================================================
Application Table
===============================================================================
App Name : Default Application
Id : 47554a11-b181-4b7a-a516-e6ba59b0da41
Sla Delay : 0 Sla Jitter : 0
Sla Loss : 0 Bandwidth : 0
Trigger : first-packet Symmetry : n/a
Opt Path Classify : noopt L7 Classify : *
Pre Path Classify : no-sel
Protocol : 0
Src Ip Range : *
Dest Ip Range : *
Src Port Range : *
===============================================================================
Application Group Table
===============================================================================
Name : Default Application Group
Id : 07346f1c-ee90-49a1-8804-b933d9d6ea9c
Probe : n/a
Num App Binds : 1 Num Domain Binds : 1
Domain : 824403975
-------------------------------------------------------------------------------
Application Group Application Binding Table
-------------------------------------------------------------------------------
App Name Priority
-------------------------------------------------------------------------------
Default Application 0
-------------------------------------------------------------------------------
No. of Application Bindings: 1
-------------------------------------------------------------------------------
Name : apm
Id : 9764d7f0-41a0-4aa8-be94-3c86de7ea9d1
Probe Id : 22db1f3c-8c7e-4188-b57d-ad8c01e42671
Probe Payload : 1400 Bytes Probe Rate : 1.0 pps
Probe Dscp : 0
Num App Binds : 1 Num Domain Binds : 1
Domain : 824403975
-------------------------------------------------------------------------------
Application Group Application Binding Table
-------------------------------------------------------------------------------
App Name Priority
-------------------------------------------------------------------------------
port80 10
-------------------------------------------------------------------------------
No. of Application Bindings: 1
-------------------------------------------------------------------------------
===============================================================================
*A:vsc# show vswitch-controller enterprise "test_organization" network-performance-
˓→management detail
===============================================================================
Network Performance Management
===============================================================================
Name : Default Network Performance Measurement
Id : 5fa3e921-2663-4047-a360-c0c458ef3219
Probe Id : 1816c43b-c8f0-456e-ad52-fc49dd92b332
Probe Payload : 576 Bytes Probe Rate : 0.100 pps
Probe Dscp : 0
Domain : 824403975
-------------------------------------------------------------------------------
Monitor Scopes
-------------------------------------------------------------------------------
Name : Default scope attached with default NPM
Id : f8587dc0-6efe-4100-8807-d80b4c359bff
Sources : *
Destinations : *
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
Domain Table
===============================================================================
Domain name : ncpeDomain1
Enterprise name : test_organization
No. of vports : 16 VNID : 1045751
# of subnets : 4 Tunnel Type : VXLAN
BH Svc Id : 270600487
DHCP Behavior : consume
DHCP Relay Server : n/a
Max. ECMP Nhops : 8
GRT Leak Enabled : False Is Leakable Svc : False
Num App-Grp Binds : 2
-------------------------------------------------------------------------------
Uplink Route Distinguishers
-------------------------------------------------------------------------------
Type Route Distinguisher
-------------------------------------------------------------------------------
unknown value (18094) 65534:40614
unknown value (61887) 65534:18094
unknown value (43468) 65534:61887
disabled 65534:43468
-------------------------------------------------------------------------------
No. of Uplink Rd's: 4
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Domain Application Group Bindings
-------------------------------------------------------------------------------
Application Group Priority
-------------------------------------------------------------------------------
apm 5
The commands listed in this section help verify neighbor NSG information and probe information.
These OVS commands can also be run on the VSC using the tools vswitch command, specifying the IP address
of the OVS on which the command is to be executed.
Example:
*VSC# tools vswitch 192.15.1.254 command "ovs-appctl -t nuage_perfd
neighbor/dump"
Generator commands
Analyzer commands
Neighbor commands
XPMG commands
Log commands
Application commands
NSG-UBR commands
The ovs-appctl -t nuage_perfd generator/dump command displays a summary of all the generators
and their generator states.
CREATED: Generator is created but is not active.
INITIALIZING: Control session is being established on some or all valid paths.
RUNNING: Probes are running on all valid paths.
STOPPED: Control session is terminated on all valid paths.
The following filters are supported for this command:
type=[NPM|APM|UBR]
subtype=[NONE|NAT_IPSEC|NAT_VXLAN]
ovs-appctl -t nuage_perfd generator/dump type=NPM
ovs-appctl -t nuage_perfd generator/dump type=APM
ovs-appctl -t nuage_perfd generator/dump type=UBR
ovs-appctl -t nuage_perfd generator/dump type=NPM subtype=NONE
ovs-appctl -t nuage_perfd generator/dump type=NPM subtype=NAT_IPSEC
ovs-appctl -t nuage_perfd generator/dump type=NPM subtype=NAT_VXLAN
<xpmg> [details]
<dpid> [details]
<xpmg> <dpid> <details>
ovs-appctl -t nuage_perfd generator/dump <xmpg uuid>
ovs-appctl -t nuage_perfd generator/dump <dpid>
ovs-appctl -t nuage_perfd generator/dump <xmpg uuid> details
ovs-appctl -t nuage_perfd generator/dump <dpid> details
ovs-appctl -t nuage_perfd generator/dump <xmpg uuid> <dpid> details
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
4908104c-1749-4601-8845-daab95eb810f 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
4908104c-1749-4601-8845-daab95eb810f 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
4908104c-1749-4601-8845-daab95eb810f 70.127.142.214
˓→ RUNNING 4 0 0
˓→ 0 4
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 2.231.64.98
˓→ CREATED 0 0 0
˓→ 0 0
37d34d4d-b950-49d9-8509-51d937e23ef1 2.231.64.98
˓→ CREATED 0 0 0
˓→ 0 0
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 70.127.142.214
˓→ RUNNING 4 0 0
˓→ 0 4
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 70.127.142.214
˓→ CREATED 0 0 0
˓→ 0 0
37d34d4d-b950-49d9-8509-51d937e23ef1 70.127.142.214
˓→ CREATED 0 0 0
˓→ 0 0
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 103.126.194.189
˓→ CREATED 0 0 0
˓→ 0 0
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
37d34d4d-b950-49d9-8509-51d937e23ef1 103.126.194.189
˓→ CREATED 0 0 0
˓→ 0 0
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 2.231.64.98
˓→ CREATED 0 0 0
˓→ 0 0
37d34d4d-b950-49d9-8509-51d937e23ef1 2.231.64.98
˓→ CREATED 0 0 0
˓→ 0 0
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 70.127.142.214
˓→ RUNNING 4 0 0
˓→ 0 4
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 70.127.142.214
˓→ CREATED 0 0 0
˓→ 0 0
37d34d4d-b950-49d9-8509-51d937e23ef1 70.127.142.214
˓→ CREATED 0 0 0
˓→ 0 0
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 103.126.194.189
˓→ CREATED 0 0 0
˓→ 0 0
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
37d34d4d-b950-49d9-8509-51d937e23ef1 103.126.194.189
˓→ CREATED 0 0 0
˓→ 0 0
4908104c-1749-4601-8845-daab95eb810f 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
4908104c-1749-4601-8845-daab95eb810f 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
4908104c-1749-4601-8845-daab95eb810f 70.127.142.214
˓→ RUNNING 4 0 0
˓→ 0 4
UUID IP
˓→GENERATOR_STATE PROBE_RUNNING PROBE_STOPPED PROBE_STARTING
˓→ PROBE_STOPPING PATH_VALID
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 70.127.142.214
˓→ RUNNING 4 0 0
˓→ 0 4
5b311c55-ff9b-4c42-b83b-eb7e5d03fb4a 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
"Ip": "10.15.3.254",
"Is_Functional": "true",
"Is_UBR": "false",
"Priority": 1,
"Underlay_Id": 0,
"Uplink": 0
},
{
"Ip": "10.18.3.254",
"Is_Functional": "true",
"Is_UBR": "false",
"Priority": 4,
"Underlay_Id": 0,
"Uplink": 1
}
],
"Probe_Config_Info": {
"Dscp": 0,
"Mtu": 576,
"Probe_UUID": "4908104c-1749-4601-8845-daab95eb810f",
"Rate": 0.100000001490116
},
"Probe_Info": [
{
"Current_packet_Sequence_No": 0,
"Last_packet_Sequence_No": 515,
"Local_Uplink_Index": 0,
"Path": 0,
"Remote_Uplink_Index": 0,
"Session_Id": 1,
"Start_Ack_Received_Timestamp": 1516896740329581327,
"Start_Retry": 0,
"Start_Sent_Timestamp": 1516896740186931577,
"State": "UP",
"Stop_Retry": 0
},
{
"Current_packet_Sequence_No": 0,
"Last_packet_Sequence_No": 515,
"Local_Uplink_Index": 0,
"Path": 1,
"Remote_Uplink_Index": 0,
"Session_Id": 1,
"Start_Ack_Received_Timestamp": 1516896740329581327,
"Start_Retry": 0,
"Start_Sent_Timestamp": 1516896740186931577,
"State": "UP",
"Stop_Retry": 0
},
{
"Current_packet_Sequence_No": 0,
"Last_packet_Sequence_No": 515,
"Local_Uplink_Index": 0,
"Path": 2,
"Remote_Uplink_Index": 0,
"Session_Id": 1,
"Start_Ack_Received_Timestamp": 1516896740329581327,
"Start_Retry": 0,
"Start_Sent_Timestamp": 1516896740186931577,
"State": "UP",
"Stop_Retry": 0
},
{
"Current_packet_Sequence_No": 0,
"Last_packet_Sequence_No": 515,
"Local_Uplink_Index": 0,
"Path": 3,
"Remote_Uplink_Index": 0,
"Session_Id": 1,
"Start_Ack_Received_Timestamp": 1516896740329581327,
"Start_Retry": 0,
"Start_Sent_Timestamp": 1516896740186931577,
"State": "UP",
"Stop_Retry": 0
}
],
"Sla_Config_Timer": {
"Expiry_Time": 25804818,
"Expiry_Time_Ticks": 129024090,
"Time_Interval": 20,
"Time_Interval_Ticks": 100,
"Time_Left": 0,
"Time_Left_Ticks": 0,
"Timer Active": "false"
},
"Tx_App_Config": [
{
"APP": {
"APMG_UUID": "4908104c-1749-4601-8845-daab95eb810f",
"APM_Trigger": 1,
"APM_UUID": "4d237281-6e4e-4548-a9d3-d350b3aa9f98",
"Is_AAR_Enabled": "true",
"Jitter": -1,
"Latency": 50,
"Pending_Action": 0,
"Pkt_Loss": -1
},
"Is_Loaded_By_Flow": "false",
"Is_Loaded_By_Scope": "true",
"Retry_Count": 0,
"Sla_Config_Operation": 0,
"Sla_Config_State": 2
}
],
"Tx_App_Violation_Cache": [],
"Tx_Path_Info": [
{
"Dst_Port": 50000,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50000
},
{
"Dst_Port": 50003,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50000
},
{
"Dst_Port": 50000,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50003
},
{
"Dst_Port": 50003,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50003
}
],
"Tx_Runtime_APP_Config": []
}
]
UUID IP
˓→GENERATOR_STATE PROBE_RUNNING PROBE_STOPPED PROBE_STARTING
˓→ PROBE_STOPPING PATH_VALID
a31e762c-1bc6-40cb-8219-5f96fdcce666 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
[root@nsg-73-106-59-247 nuage]# ovs-appctl -t nuage_perfd generator/dump a31e762c-
˓→1bc6-40cb-8219-5f96fdcce666 details
Grp Type: 1
Probe Config Data
PROBE_UUID: a31e762c-1bc6-40cb-8219-5f96fdcce666
Dscp : 0, Rate : 10.000000, Mtu : 500
Local NSG data
Dpid: 73.106.59.247
Uplink Ip: 10.15.3.254,
Priority: 1
Underlay Id: 0
Is UBR Uplink: false
Is Functional: true
Enable NAT Probes: false
Traffic Through UBR Only: false
a31e762c-1bc6-40cb-8219-5f96fdcce666 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
Grp Type: 1
Probe Config Data
PROBE_UUID: a31e762c-1bc6-40cb-8219-5f96fdcce666
Dscp : 0, Rate : 10.000000, Mtu : 500
Local NSG data
Dpid: 73.106.59.247
Uplink Ip: 10.15.3.254,
Priority: 1
Underlay Id: 0
Is UBR Uplink: false
Is Functional: true
Enable NAT Probes: false
Grp Type: 1
Probe Config Data
PROBE_UUID: a31e762c-1bc6-40cb-8219-5f96fdcce666
Dscp : 0, Rate : 10.000000, Mtu : 500
Local NSG data
Dpid: 73.106.59.247
Uplink Ip: 10.15.3.254,
Priority: 1
Underlay Id: 0
Is UBR Uplink: false
Is Functional: true
Enable NAT Probes: false
Traffic Through UBR Only: false
4908104c-1749-4601-8845-daab95eb810f 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
4908104c-1749-4601-8845-daab95eb810f 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
4908104c-1749-4601-8845-daab95eb810f 70.127.142.214
˓→ CREATED 0 0 0
˓→ 0 0
UUID IP
˓→GENERATOR_STATE PROBE_RUNNING PROBE_STOPPED PROBE_STARTING
˓→ PROBE_STOPPING PATH_VALID
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 70.127.142.214
˓→ RUNNING 4 0 0
˓→ 0 4
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
UUID IP
˓→GENERATOR_STATE PROBE_RUNNING PROBE_STOPPED PROBE_STARTING
˓→ PROBE_STOPPING PATH_VALID
37d34d4d-b950-49d9-8509-51d937e23ef1 70.127.142.214
˓→ RUNNING 4 0 0
˓→ 0 4
37d34d4d-b950-49d9-8509-51d937e23ef1 2.231.64.98
˓→ RUNNING 4 0 0
˓→ 0 4
37d34d4d-b950-49d9-8509-51d937e23ef1 103.126.194.189
˓→ RUNNING 4 0 0
˓→ 0 4
The ovs-appctl -t nuage_perfd analyzer/count command displays the count of analyzer instances as
well as counts for path states.
INIT: Analyzer path has been initialized, but the session is not yet established.
RUNNING: Probes are running on the path.
STOPPED: The probe session has been terminated on the path.
The ovs-appctl -t nuage_perfd analyzer/dump command displays a summary of all analyzers and
path state counters.
The following filters are supported for this command:
type=[NPM|APM|UBR]
subtype=[NONE|NAT_IPSEC|NAT_VXLAN]
<xpmg> [details]
<dpid> [details]
<xpmg> <dpid> <details>
a31e762c-1bc6-40cb-8219-5f96fdcce666 73.106.59.247
˓→ 4 0
[
{
"Analyzer_UUID": "4908104c-1749-4601-8845-daab95eb810f",
"DPID": "73.106.59.247",
"Group_Type": 2,
"In_Sla_Seq": 8,
"Jitter_Info": [],
"Latency_Info": [
{
"App_UUIDs": [
{
"APP_UUID": "4d237281-6e4e-4548-a9d3-d350b3aa9f98"
}
],
"Latency": 50
}
],
"Out_Check_Seq": 32,
"Packet_Loss_Info": [
{
"App_UUIDs": [
{
"APP_UUID": "d9d6227d-da35-4097-bfa5-8bd56309dbe5"
}
],
"PktLoss": 10
},
{
"App_UUIDs": [
{
"APP_UUID": "4d237281-6e4e-4548-a9d3-d350b3aa9f98"
}
],
"PktLoss": 100
}
],
"Path_Info": [
{
"Jitter": 0.573734402656555,
"Jitter_Miss": 2,
"Latency": 2.01721143722534,
"Path": 0,
"Pkt_Loss": 0,
"Session_Id": 1,
"State": "Running"
},
{
"Jitter": 0.116666346788406,
"Jitter_Miss": 2,
"Latency": 1.72442948818207,
"Path": 1,
"Pkt_Loss": 0,
"Session_Id": 1,
"State": "Running"
},
{
"Jitter": 0.528412878513336,
"Jitter_Miss": 2,
"Latency": 1.88200044631958,
"Path": 2,
"Pkt_Loss": 0,
"Session_Id": 1,
"State": "Running"
},
{
"Jitter": 0.380102902650833,
"Jitter_Miss": 2,
"Latency": 2.27389359474182,
"Path": 3,
"Pkt_Loss": 0,
"Session_Id": 1,
"State": "Running"
}
],
"Reporting_Timer": {
"Expiry_Time": 12905088,
"Expiry_Time_Ticks": 129050880,
"Time_Interval": 300,
"Time_Interval_Ticks": 3000,
"Time_Left": 179,
"Time_Left_Ticks": 1790,
"Timer Active": "true"
},
"Rx_App_Slas": [
{
"App_Id": "d9d6227d-da35-4097-bfa5-8bd56309dbe5",
"Jitter": -1,
"Latency": -1,
"Optimize_For": 2,
"Packet_Loss": 10
},
{
"App_Id": "4d237281-6e4e-4548-a9d3-d350b3aa9f98",
"Jitter": -1,
"Latency": 50,
"Optimize_For": 0,
"Packet_Loss": 100
}
],
"Sla_Check_Interval": 30000,
"Sla_Violation_Retry_Interval": 0,
"Validation_Timer": {
"Expiry_Time": 12905088,
"Expiry_Time_Ticks": 129050880,
"Time_Interval": 300,
"Time_Interval_Ticks": 3000,
"Time_Left": 179,
"Time_Left_Ticks": 1790,
"Timer Active": "true"
}
}
]
a31e762c-1bc6-40cb-8219-5f96fdcce666 73.106.59.247
˓→ 4 0
a31e762c-1bc6-40cb-8219-5f96fdcce666 73.106.59.247
˓→ 4 0
Path: 1, Current State: Running, Session ID: 1. Latency: 0.490650, Jitter 0.073372,
˓→Pkt Loss: 0.000000, Jitter Miss: 1.000000, Last Sequence Number:2172
Path: 2, Current State: Running, Session ID: 1. Latency: 0.790880, Jitter 0.178514,
˓→Pkt Loss: 0.000000, Jitter Miss: 1.000000, Last Sequence Number:2172
Path: 3, Current State: Running, Session ID: 1. Latency: 1.251911, Jitter 0.324650,
˓→Pkt Loss: 0.000000, Jitter Miss: 1.000000, Last Sequence Number:2172
a31e762c-1bc6-40cb-8219-5f96fdcce666 73.106.59.247
˓→ 4 0
Path: 1, Current State: Running, Session ID: 1. Latency: 0.487469, Jitter 0.049811,
˓→Pkt Loss: 0.000000, Jitter Miss: 1.000000, Last Sequence Number:2288
Path: 2, Current State: Running, Session ID: 1. Latency: 0.785121, Jitter 0.177432,
˓→Pkt Loss: 0.000000, Jitter Miss: 1.000000, Last Sequence Number:2288
Path: 3, Current State: Running, Session ID: 1. Latency: 1.251326, Jitter 0.306431,
˓→Pkt Loss: 0.000000, Jitter Miss: 1.000000, Last Sequence Number:2288
Path: 0, Current State: Running, Session ID: 1. Latency: 2.088450, Jitter 0.412167,
˓→Pkt Loss: 0.000000, Jitter Miss: 2.000000, Last Sequence Number:1006
Path: 1, Current State: Running, Session ID: 1. Latency: 1.791934, Jitter 0.402358,
˓→Pkt Loss: 0.000000, Jitter Miss: 2.000000, Last Sequence Number:1006
Path: 2, Current State: Running, Session ID: 1. Latency: 1.639463, Jitter 0.289848,
˓→Pkt Loss: 0.000000, Jitter Miss: 2.000000, Last Sequence Number:1006
Path: 3, Current State: Running, Session ID: 1. Latency: 2.294285, Jitter 0.261720,
˓→Pkt Loss: 0.000000, Jitter Miss: 2.000000, Last Sequence Number:1006
4908104c-1749-4601-8845-daab95eb810f 103.126.194.189
˓→ 4 0
4908104c-1749-4601-8845-daab95eb810f 2.231.64.98
˓→ 4 0
4eaa6c3c-7de5-42fa-9ba9-7943f4e95313 73.106.59.247
˓→ 4 0
37d34d4d-b950-49d9-8509-51d937e23ef1 73.106.59.247
˓→ 4 0
Priority: 4
Underlay id: 0
Is UBR uplink: false
Is functional: true
Enable NAT Probes: true
Traffic Through UBR Only: false
The ovs-appctl -t nuage_perfd neighbor/dump command displays all the remote NSG information,
such as personality, and details regarding network uplinks, such as priority, underlay details and flags.
Uplink Priority values correspond to the following configuration:
1 - Primary1
2 - Primary2
3 - Secondary1
4 - Secondary2
Is Functional: false
[
{
"Local_Update_Seq_No": 2,
"Neighbor_IP": "70.127.142.214",
"Neighbor_Uplink_Info": [
{
"Ip": "10.15.1.254",
"Is_Functional": "true",
"Is_UBR": "false",
"Priority": 1,
"Underlay_Id": 0,
"Uplink": 0
},
{
"Ip": "10.18.1.254",
"Is_Functional": "true",
"Is_UBR": "false",
"Priority": 4,
"Underlay_Id": 0,
"Uplink": 1
}
],
"Tx_Path_Info": [
{
"Dst_Port": 50000,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50000
},
{
"Dst_Port": 50003,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50000
},
{
"Dst_Port": 50000,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50003
},
{
"Dst_Port": 50003,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50003
}
]
},
{
"Local_Update_Seq_No": 2,
"Neighbor_IP": "73.106.59.247",
"Neighbor_Uplink_Info": [
{
"Ip": "10.15.3.254",
"Is_Functional": "true",
"Is_UBR": "false",
"Priority": 1,
"Underlay_Id": 0,
"Uplink": 0
},
{
"Ip": "10.18.3.254",
"Is_Functional": "true",
"Is_UBR": "false",
"Priority": 4,
"Underlay_Id": 0,
"Uplink": 1
}
],
"Tx_Path_Info": [
{
"Dst_Port": 50000,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50000
},
{
"Dst_Port": 50003,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50000
},
{
"Dst_Port": 50000,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50003
},
{
"Dst_Port": 50003,
"Is_UBR": "false",
"Path_State": 1,
"Src_Port": 50003
}
]
}
]
7d628590-60c7-4433-bf18-32b65b93ae4d 0 0.000000 0
"Jitter": -1,
"Latency": -1,
"Pending_Action": 0,
"Pkt_Loss": 10
},
{
"APMG_UUID": "4908104c-1749-4601-8845-daab95eb810f",
"APM_Trigger": 1,
"APM_UUID": "4d237281-6e4e-4548-a9d3-d350b3aa9f98",
"Is_AAR_Enabled": "true",
"Jitter": -1,
"Latency": 50,
"Pending_Action": 0,
"Pkt_Loss": -1
}
],
"Probe_Config": {
"Dscp": 0,
"Mtu": 576,
"Rate": 0.100000001490116
}
},
{
"NPMG_UUID": "37d34d4d-b950-49d9-8509-51d937e23ef1",
"Probe_Config": {
"Dscp": 46,
"Mtu": 137,
"Rate": 0.100000001490116
}
},
{
"NPMG_UUID": "4eaa6c3c-7de5-42fa-9ba9-7943f4e95313",
"Probe_Config": {
"Dscp": 46,
"Mtu": 137,
"Rate": 0.100000001490116
}
},
{
"APMG_UUID": "7d628590-60c7-4433-bf18-32b65b93ae4d",
"APPS": [
{
"APMG_UUID": "7d628590-60c7-4433-bf18-32b65b93ae4d",
"APM_Trigger": 0,
"APM_UUID": "9cb549e9-fdbc-4142-b0fd-c7c84111dd10",
"Is_AAR_Enabled": "false",
"Jitter": -1,
"Latency": -1,
"Pending_Action": 0,
"Pkt_Loss": -1
}
],
"Probe_Config": {
"Dscp": 0,
"Mtu": 0,
"Rate": 0
}
}
7d628590-60c7-4433-bf18-32b65b93ae4d 0 0.000000 0
APMG_UUID: 4908104c-1749-4601-8845-daab95eb810f
Probe Configuration:
Dscp: 0
Rate: 0.100000
Mtu: 576
Applications:
APM_UUID: 4d237281-6e4e-4548-a9d3-d350b3aa9f98
Is AAR Enabled: true
Latency: 50.000000
Jitter: -1.000000
Pkt Loss: -1.000000
Pending Action: 0
APM Trigger: 1
APMG_UUID: 7d628590-60c7-4433-bf18-32b65b93ae4d
Probe Configuration:
Dscp: 0
Rate: 0.000000
Mtu: 0
Applications:
APM_UUID: 9cb549e9-fdbc-4142-b0fd-c7c84111dd10
Is AAR Enabled: false
Latency: -1.000000
Jitter: -1.000000
Pkt Loss: -1.000000
Pending Action: 0
APM Trigger: 0
PROBE_UUID: cdc5f147-6208-4402-b6e3-8f1400b5fbf7
Dscp : 0, Rate : 0.000000 packets/s, Mtu : 0 bytes
PROBE_UUID: 17d81fa3-eddb-4112-8693-48a915478b72
Dscp : 0, Rate : 0.100000 packets/s, Mtu : 600 bytes
The event-log command can be used to display or flush the event logs.
ovs-appctl -t nuage_perfd event-log/dump
ovs-appctl -t nuage_perfd event-log/flush
˓→0,263277056,1127796765,1883871570,
======================================================
[root@ovs-1 nuage]# ovs-appctl -t nuage_perfd event-log/flush
Copy the event file while calling flush.
[root@ovs-1 nuage]# ovs-appctl -t nuage_perfd event-log/flush >> /home/nuage/event_
˓→log_file
Applications Dump
Applications Dump
{
"Application Dump": [
{
"APMG_UUID": "b6572acd-372e-4235-98cc-20997bd04c51",
"APM_Trigger": 1,
"APM_UUID": "573c8425-5251-422a-a9dd-aa28c69e0acb",
"Is_AAR_Enabled": "true",
"Jitter": 22,
"Latency": 22,
"Pending_Action": 0,
"Pkt_Loss": 2
},
{
"APMG_UUID": "b6572acd-372e-4235-98cc-20997bd04c51",
"APM_Trigger": 1,
"APM_UUID": "411fce2b-d88b-4c04-8590-90764d04bf3d",
"Is_AAR_Enabled": "true",
"Jitter": 20,
"Latency": 20,
"Pending_Action": 0,
"Pkt_Loss": 2
},
{
"APMG_UUID": "e0de46a6-1b30-4a7f-ba26-ae5c00e84b7e",
"APM_Trigger": 0,
"APM_UUID": "2eec0c68-b4ef-433d-ac80-516782d1f393",
"Is_AAR_Enabled": "false",
"Jitter": -1,
"Latency": -1,
"Pending_Action": 0,
"Pkt_Loss": -1
}
]
}
{
"Sla Violations": [
{
"App_Id": "9eaab2f3-7639-465f-98a3-8dba9ed6711c",
"Path Violation Type": [
0,
1,
0,
0
],
"Sorted Paths": [
3,
0,
2,
1
]
}
]
}
[
{
"NSG_Info":[
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"142.185.147.184",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":1.94742834568024
},
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"142.185.147.184",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":2.365807056427
}
]
},
{
"NSG_Info":[
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"44.31.79.75",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":1.9617612361908
},
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"44.31.79.75",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":2.44601345062256
}
]
},
{
"NSG_Info":[
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"154.179.79.109",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":1.04982900619507
},
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"154.179.79.109",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":1.56927061080933
}
]
},
{
"NSG_Info":[
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"163.212.74.4",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":2.58935570716858
},
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"163.212.74.4",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":3.02561092376709
}
]
}
]
The ovs-appctl -t nuage_perfd ubr_ovs_published/dump command displays the sorted list of paths
through UBRs based on Delay and Packet Loss On a NSG personality that has been published to OVS.
[root@nsg-154-179-79-109 nuage]# ovs-appctl -t nuage_perfd ubr_ovs_published/dump
NSG_UBR_DPID PATH DELAY NSG_UBR_PRIORITY
˓→ VIOLATED DELAY_VIOLATED PKTLOSS_VIOLATED PUBLISHED
˓→ OVS_PRIORITY
171.116.116.133 1 1.850210 100
˓→ FALSE FALSE FALSE FALSE
˓→ 3999998000
111.111.175.173 1 1.970886 100
˓→ FALSE FALSE FALSE FALSE
˓→ 3999997500
81.78.97.229 0 2.979409 100
˓→ FALSE FALSE FALSE TRUE
˓→ 3999994000
133.76.62.161 0 1.481657 100
˓→ FALSE FALSE FALSE FALSE
˓→ 3999999000
133.76.62.161 3 1.039034 100
˓→ FALSE FALSE FALSE FALSE
˓→ 4000000000
171.116.116.133 2 2.311163 100
˓→ FALSE FALSE FALSE TRUE
˓→ 3999997000
8.1. AAR 499
VNS User Guide, Release 5.3.2
The ovs-appctl -t nuage_perfd nsg/dump command displays the sorted list of paths to NSGs based on
Delay and Packet Loss On a UBR personality.
[
{
"NSG_Info":[
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"142.185.147.184",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":1.94742834568024
},
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"142.185.147.184",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":2.365807056427
}
]
},
{
"NSG_Info":[
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"44.31.79.75",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":1.9617612361908
},
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"44.31.79.75",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":2.44601345062256
}
]
},
{
"NSG_Info":[
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"154.179.79.109",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":1.04982900619507
},
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"154.179.79.109",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":1.56927061080933
}
]
},
{
"NSG_Info":[
{
"Path":3,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":4000000000,
"IP":"163.212.74.4",
"Is_Violated":"FALSE",
"Ovs_List_Priority":4000000000,
"Is_Published":"TRUE",
"Delay":2.58935570716858
},
{
"Path":0,
"Is_Delay_Violated":"FALSE",
"Is_PktLoss_Violated":"FALSE",
"Nsg_List_Priority":3999999000,
"IP":"163.212.74.4",
"Is_Violated":"FALSE",
"Ovs_List_Priority":3999999000,
"Is_Published":"TRUE",
"Delay":3.02561092376709
}
]
}
]
The ovs-appctl -t nuage_perfd nsg_ovs_published/dump command displays the sorted list of paths
to NSGs based on Delay and Packet Loss published to OVS on a UBR personality.
[root@nsg-133-76-62-161 nuage]# ovs-appctl -t nuage_perfd nsg_ovs_published/dump
NSG_DPID PATH DELAY VIOLATED
˓→ DELAY_VIOLATED PKTLOSS_VIOLATED PUBLISHED OVS_
˓→PRIORITY
The following commands provide DPI related information. Optional parameters are in brackets, for example [domain-
id].
Dump info of flattened list
app_uuid l7_guid
˓→ src_ip dst_ip
˓→ src_port dst_port
˓→ l4_proto ethertype dscp
˓→ cn_name
4b593fee-55fa-41fd-bb1f-94789db5b197 HTTP
˓→ 255.255.255.3-255.255.255.3 255.255.255.255-255.
˓→255.255.255 6533-6533,1220-1230 1-
˓→1,65520-65520 6 0x86DD 0x00
˓→ *
49abeb3a-4be9-4b20-acee-646574369bfc *
˓→ * *
˓→ 5566-5566 4449-4449
˓→ 6 0x0800 *
˓→ *
bd27baca-4c6a-4a28-b380-62f4d9747f10 *
˓→ * *
˓→ * *
˓→ * * *
˓→ *
appgroup_uuid app_uuid
˓→ priority is_processed is_discovery
17d9a08f-9d97-4b11-90d4-3f5e8c9d9647 300705c6-85e5-4386-83ed-5f3ffd694865
˓→ 20 yes yes
ac6e2920-872d-4366-85ed-4d14baa664ad 300705c6-85e5-4386-83ed-5f3ffd694865
˓→ 10 yes yes
8eca7ab0-8874-499f-afc0-e13c9aaf7123 8cb48e3e-4b81-4e8d-81e1-c7391e95d06e
˓→ 0 yes yes
8.2.1 Overview
Visualization is centralized and consumed as a separate application from the VSD UI. The statistics are retrieved from
Elastic Search as part of VSP Collector and Statistics warehousing solution based on JSON queries. Visualizations
may use a single or multiple queries to present the data. Such queries may come from ES or VSD or both.
Attention: Refer to Procedure for Installing Statistics for AAR in the Nuage VNS Install Guide for installation
and configuration procedures for enabling AAR visualization.
This chapter describes the different AAR visualization reports along with the associated query examples.
8.2.2 Terminology
• Discovered application: These are applications reported by the NSG that do not have an application defined in
VSD. This is typical of a discover use-case where a user is trying to understand which applications are traversing
the network. Such discovered applications are reported under the default APM Group and default Application.
In this mode, user can identify specific applications by looking at the matched signature field that is reported
in the respective visualizations charts. Layer-7 Classification columns in all detailed visualization reports, will
also display discovered applications with Common Name (from TLS certificates) when available.
• Applications: These are applications reported by the NSG that do have an application defined in VSD. Such
applications are generally known ahead of time, and as such have matching rules, SLAs and probes defined
in VSD. In this mode, user can identify specific applications by looking at the Application Name field that is
reported in the respective visualizations charts.
• Talkers: Includes both discovered applications and applications that have been pre-configured in VSD.
• Users: Include IP addresses that are sources or destination of traffic.
8.2.3 Workflows
This section includes workflows for monitoring and analyzing application usage in a VNS network.
AAR visualization reports are available at the Enterprise level (assuming that Stats have been enabled on the VSD),
and accessed as follows:
1. In the Enterprise view, navigate to Dashboard –> AAR Statistics tab. This opens a new browser window for
AAR visualization.
2. Determine the ES Cluster Proxy Address from the Statistics section of the Platform System Configuration
(Settings -> System Configuration ).
3. Paste the address:port number (6200) in another browser window and add the security exception for certificates.
4. Navigate back to the AAR visualization window, and refresh it to view the Enterprise Dashboard. Use the menu
option on the upper left corner of the screen (shown in Figure below) for navigating to the various reports. The
dropdown will display all the available report options.
1. From the Enterprise Detail Dashboard, the Enterprise Applications (page 512) and Data Usage on Apps per
NSG (page 512) visualizations appear automatically.
2. View the Top 20 Applications table for a detailed list of application traffic in the enterprise. Click on column
headers to sort by total bytes or to filter discovered applications.
3. Perform one of the following:
1. Click on an application in the Enterprise Applications visualization. The Data Usage per NSG for Selected
Application (page 512) visualization appears.
2. Click on an application within an NSG bar in the Data Usage on Apps per NSG visualization. The Data Usage
per NSG for Selected Application and Cumulative Data Usage on NSG for Selected Application (page 513)
visualizations appear. Go to Step 4.
4. Click on an NSG in the Data Usage per NSG for Selected Application visualization.
The Cumulative Data Usage on NSG for Selected Application visualization appears.
5. Click on a source IP in the Cumulative Data Usage on NSG for Selected Application visualization.
The NSG Application Traffic Details for Source IP (page 513) visualization appears.
6. As required, configure the Time Interval, Refresh Interval, and Traffic Type parameters to specify the recency
of the displayed data, the rate at which it is refreshed, and whether upload or download data is displayed.
1. From the Domain Details Dashboard, the Domain Applications (page 525) and Data Usage on Apps per NSG
(page 526) visualizations appear automatically.
2. View the Top 20 Applications table for a detailed list of application traffic in the domain. Click on column
headers to sort by total bytes or packets.
3. Perform one of the following:
1. Click on an application in the Domain Applications visualization. The Data Usage per NSG for Selected Appli-
cation (page 526) visualization appears.
2. Click on an application within an NSG bar in the Data Usage on Apps per NSG visualization. The Data Usage
per NSG for Selected Application and Cumulative Data Usage on NSG for Selected Application (page 526)
visualizations appear. Go to Step 5.
4. Click on an NSG in the Data Usage per NSG for Selected Application visualization.
The Cumulative Data Usage on NSG for Selected Application visualization appears.
5. Click on a source IP in the Cumulative Data Usage on NSG for Selected Application visualization.
The NSG Application Traffic Details for Source IP (page 526) visualization appears.
6. As required, configure the Time Interval, Refresh Interval, and Traffic Type parameters to specify the recency
of the displayed data, the rate at which it is refreshed, and whether upload or download data is displayed.
7. Click on the Application Performance tab. A list of source and destination NSGs are generated automatically.
8. Select a source and destination NSG from the lists. The SLA HeatMap (page 524) visualization appears.
9. Select a box in the SLA HeatMap. A list of traffic uplink pairs is generated.
10. Select a traffic uplink pair. A graph of application traffic and three graphs tracking SLA violations are generated.
For bar graph visualizations that display more than 10 NSGs, the scrolling tool allows the user to view data outside
the scope of the visualization. Click and drag the grey box to scroll through the graph. Click and drag the edge of the
grey box to resize the box and change how many NSGs are displayed in the bar graph.
Enterprise Applications
From this visualization, an admin user can visualize per application data usage in the enterprise. This visualization
is useful if an admin determines there is heavy traffic flowing on a particular application. The user can click on an
application in the graph to drill down and view which NSGs are generating traffic for the selected application.
From this visualization, an admin user can visualize total application throughput for each NSG in an enterprise. This
visualization is useful if an admin needs to see which branch is generating high amounts of traffic and whether a
particular application is responsible. The user can click on an application in the graph to drill down and view per NSG
traffic for the selected application as well as data usage on the selected NSG for the selected application.
From this visualization, an admin user can visualize per NSG traffic for the selected application in the enterprise.
This visualization is useful if an admin user needs to see which branch is generating the most traffic on a specific
application. The user can click on an NSG in the branch to view data usage on the selected NSG for the selected
application.
From this visualization, an admin user can visualize per source IP data usage for the selected NSG and application.
This visualization is useful if an admin user needs to see if a particular client is generating most of the application
traffic. The user can click on a source IP to view total application traffic history on an NSG for the selected source IP.
From this visualization, an admin user can visualize per application traffic flow over time on an NSG for a selected
source IP. This visualization is useful if an admin user needs to identify a spike in data usage from a particular client
on an NSG. The user can hover over a point of time in the graph to view per app usage during that time.
The enterprise map view provides a visualization of the geographic location and administrative status of all NSGs
in the enterprise. The map view uses Google Maps and user-specified NSG locations to map branch locations on an
interactive, navigable map. Using the map view, you can search and navigate to NSGs by region and quickly determine
which NSGs are in a pre-bootstrap state or require a software upgrade.
Before the enterprise map view can be used, some mandatory configuration must be completed in the VSD. This
configuration includes specifying a Google Maps API key and ensuring that each NSG is configured with a location
using the proper address format.
Before the enterprise map view can be used, a Google Maps API key must be provided. You must create a Google
Maps account and register the project to be provided an API key. Complete instructions can be found at the following
URL:
https://cloud.google.com/maps-platform/
Note: If a valid Google Maps API key is not provided, the enterprise map view does not load and displays an error
message.
NSG Location
Each NSG must be configured with a location before it can be plotted on the enterprise map view. The following is an
example of an NSG location using the proper format for an address in the U.S.A.:
755 Ravendale Dr,Mountain View,CA 94043,USA
Note: Prior to Release 5.3.2, the NSG location was not required in this specific format. As a result, some NSGs may
need to be updated with a valid address. The address must be updated through the VSD and not the API.
Note: If the provided address is valid, it is displayed in a small map with a location flag beneath the Address field. If
the address is invalid, this map is not displayed.
Note: A partial address can be specified for an NSG location. For example, if only a city or state name is specified as
an NSG location, it is displayed in the map view.
Note: Not all Google Maps addresses can be correctly resolved on the enterprise map view. For example, apartment
or unit numbers and certain special characters cannot be used as part of an address. If the # character is used as part of
an NSG location, it is not displayed in the map view.
Step 1 From the enterprise view, navigate to Infrastructure -> Network Services Gateways -> NSG
-> Bootstrapping .
Step 2 Configure the Address and Time Zone parameters.
Step 3 Click Update.
Step 4 Repeat steps 1 to 3 to configure the address and time zone for more NSGs, as required.
The map view dashboard includes a world map and a search bar. You can use the map controls to view the map in full
screen or to zoom in or out. You can also zoom with a mouse scroll and pan by clicking and dragging.
Hover over an NSG icon to view the NSG name, address, bootstrap status, software version, and alarm counts. Click
an NSG icon to navigate to the NSG Dashboard (page 518).
Each NSG in the enterprise with a configured location is displayed on the map with an icon. If there are multiple
NSGs located in close proximity to each other, the map displays an NSG cluster. You can click on the NSG cluster to
zoom in, and click again to expand or collapse the NSGs in the cluster.
Bootstrapping Status
The NSG icons indicate whether the NSG has been bootstrapped. NSGs which have been successfully bootstrapped are
displayed with a blue icon. NSGs which are inactive, revoked, or awaiting bootstrapping are displayed with a yellow
icon. You can use the NSG search bar to filter NSGs based on their bootstrapping state. This functionality allows you
to quickly identify which NSGs in the enterprise are still awaiting bootstrapping or have failed bootstrapping.
The NSG search bar allows you to filter the NSGs to be displayed on the map. You can search based on the NSG name,
location, bootstrapping status, or software version. NSGs which do not fit the specified search criteria are hidden from
the map. The NSG search bar can be used to filter NSGs which are still awaiting bootstrapping. It can also be used to
identify which NSGs require a software upgrade.
When you place the cursor in the NSG search bar, available search criteria and operators are suggested in a drop-down
menu.
Search criteria can be specified using the following variables:
• Name — Searches on the NSG name as configured in the VSD.
• Region — Searches on the NSG city or county name as specified in the NSG location.
• bootstrapStatus — Searches on the bootstrapping statuses currently held by any NSGs on the map.
• NSGVersion — Searches on the NSG factory software version.
Search criteria can be specified using the following operators:
• == — Specify an exact string to match with the specified variable.
• != — Specify an exact string to exclude from the search.
• contains — Specify a string to be contained within the specified variable.
• !contains — Specify a contained string to exclude from the search.
• startsWith — Specify a string to begin the specified variable.
The following is an example of a search query that filters on NSGs in Paris that have not been successfully bootstrapped
yet:
Region contains Paris AND bootstrapStatus == INACTIVE
CSV Export
You can click the CSV Export button to download a .csv file with information on all NSGs in the enterprise. This
includes information on NSG location, alarm status, bootstrapping status, and UUID.
From this visualization, an admin user can visualize per application traffic flow broken down by application. This
visualization is useful if an admin user needs to view which applications are responsible for the most data usage
through an NSG. The user can click on an application to view source IP traffic history on an NSG for the selected
application.
From this visualization, an admin user can visualize source IP traffic flow over time on an NSG for a selected applica-
tion. This visualization is useful if an admin user needs to identify the source of a spike in data usage from a particular
application on an NSG.
In the selected NSG has a dual uplink, the dashboard displays a per port breakdown of this visualization.
From this visualization, an admin user can visualize per application traffic flow over time on an NSG for a selected
source IP. This visualization is useful if an admin user needs to identify a spike in data usage from a particular client
on an NSG.
In the selected NSG has a dual uplink, the dashboard displays a per port breakdown of this visualization.
From this visualization, an admin user can visualize the realtime throughput of traffic between two NSGs for a specific
application. The visualization allows the user to visualize which path the application took at a given time. Three SLA
metrics (packet loss, latency, and jitter) are displayed to allow the user to determine the cause of a path switchover.
The colors on the graph show when the traffic flow was in SLA, out-of-SLA, or down.
The user can drill down to view the three SLA metrics overlayed on the path switchover history. This visualization is
useful to show which SLA metric violation resulted in a path switchover at a given point in time.
In the selected NSGs have a dual uplink, the dashboard displays a per port breakdown of this visualization.
Top 10 Applications
NSG level top 5 users (IP address sources) sending traffic to the network (egressing the NSG network ports).
Computation: Sum of ingress Bytes sourced from this client IP to any destination in descending order.
Query example: Top 5 Talkers (Upload) (page 538)
NSG level top 5 users (IP addresses) receiving traffic from the network
Computation: Sum of egress Bytes for any traffic destined to this client IP in descending order.
Query example: Top 5 Talkers (Download) (page 540)
Alarms
From this visualization, you can view a summary of the number of critical, major, and minor alarms on the NSG. You
can click the CSV Export button to download a .csv file summarizing information for the alarms on the NSG. Click
an alarm severity circle to navigate to the Alarms Dashboard (page 521).
NSG level report of applications connected to local (this) NSG sending traffic to remote NSGs.
Computation: Sum of ingress Bytes in descending order.
Query example: From NSG Application Report (page 541)
NSG level report of applications connected to remote NSGs sending traffic to local (this) NSG.
Computation: Sum of ingress Bytes in descending order.
Query example: To NSG Application Report (page 545)
All SLA violation during the last time interval, that caused a path from NSG to switch.
Computation: Ordered by time in descending order.
Query example: From NSG SLA Report (page 550)
All SLA violation during the last time interval, that caused a path to this NSG to switch.
Computation: Ordered by time in descending order.
Query example: To NSG SLA Report (page 551)
See NAT-T Visualization (page 141) for more information about the NAT-T Events dashboard.
See HTTP Ping Visualization (page 564) for more information about the NAT-T Events dashboard.
The alarms dashboard displays a summary of all alarms currently raised on the NSG. From the alarms table, you can
sort on alarm severity, creation time, count, or error condition.
You can click the CSV Export button to download a .csv file with information on all alarms on the NSG.
In order to view the network performance dashboard, first select the source and destination NSG in the table that is
displayed for this report (see example graphic below). NSG personality types may also be selected, in which case the
table list will display NSGs of that personality type. Once selected, the one-way path performance measurements will
be displayed in the lower panel of the same graphic for NSG as Source (page 522) and NSG as Destination (page 523).
From NSG
This table lists source NSGs in the domain. Select a source NSG to generate application performance visualizations.
Use the Personality drop-down menu to filter for NSGs, NSG-UBRs, or NSG-BRs.
To NSG
This table lists destination NSGs in the domain. Select a destination NSG to generate application performance visual-
izations. Use the Personality drop-down menu to filter for NSGs, NSG-UBRs, or NSG-BRs.
Domain level local NSG (source) to remote NSG (destination) Path Performance Measurements. Displayed in the
bottom left panel of the graphic above.
Computation: Order by time in descending order.
Query example: Path Performance Measurements (Source to Destination NSG) (page 559)
Domain level local NSG (destination) to remote NSG (sources) Path Performance Measurements. Displayed in the
bottom right panel of the graphic above.
Computation: Order by time in descending order.
Query example: Path Performance Measurements (NSG as Destination) (page 560)
From NSG
This table lists source NSGs in the domain. Select a source NSG to generate application performance visualizations.
Use the Personality drop-down menu to filter for NSGs, NSG-UBRs, or NSG-BRs.
To NSG
This table lists destination NSGs in the domain. Select a destination NSG to generate application performance visual-
izations. Use the Personality drop-down menu to filter for NSGs, NSG-UBRs, or NSG-BRs.
SLA HeatMap
The SLA HeatMap displays a historical analysis of application SLA violations for a selected pair of NSGs. The
HeatMap displays one of three colors for an application time slot:
Blue - unmonitored: the application does not have performance management enabled.
Red - out of SLA: the application has performance management enabled and the traffic flows are on a path that do not
meet SLA requirements.
Green - in SLA: the application has performance management enabled and the traffic flows are on a path that meet
SLA requirements.
You can click on any cell in the HeatMap to see a detailed view of SLA violation details and flow stats.
This table lists all uplink pairs between the selected source and destination NSGs. Select a pair of ports to generate
traffic SLA traffic data.
This graph displays the traffic throughput of the application on the selected path.
This graph displays the packet loss percentage for the application based on the APM probes. The green line is the
application’s configured value of packet loss SLA in VSD.
This graph displays the latency for the application based on the APM probes. The green line is the application’s
configured value of latency SLA in VSD.
This graph displays the jitter for the application based on the APM probes. The green line is the application’s config-
ured value of jitter SLA in VSD.
Domain Applications
From this visualization, an admin user can visualize per application data usage in the domain. This visualization is
useful if an admin determines there is heavy traffic flowing on a particular application. The user can click on an
application in the graph to drill down and view which NSGs are generating traffic for the selected application.
From this visualization, an admin user can visualize per NSG traffic broken down per application in the domain. This
visualization is useful if an admin needs to see which branch is generating high amounts of traffic and whether a
particular application is responsible. The user can click on an application in the graph to drill down and view per NSG
traffic for the selected application as well as data usage on the selected NSG for the selected application.
From this visualization, an admin user can visualize per NSG traffic for the selected application in the domain. This
visualization is useful if an admin user needs to see which branch is generating the most traffic on a specific application.
The user can click on an NSG in the branch to view data usage on the selected NSG for the selected application.
From this visualization, an admin user can visualize per source IP data usage for the selected NSG and application.
This visualization is useful if an admin user needs to see if a particular client is generating most of the application
traffic. The user can click on a source IP to view total application traffic history on an NSG for the selected source IP.
From this visualization, an admin user can visualization per application traffic flow over time on an NSG for a selected
source IP. This visualization is useful if an admin user needs to identify a spike in data usage from a particular client
on an NSG.
Enterprise Dashboard
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs":{
"1":{
"filters":{
"filters":{
"Enterprise":{
"query":{
"term":{
"EnterpriseName":"{{EnterpriseName:test_org}}"
}
}
}
}
},
"aggs":{
"slastatus":{
"terms":{
"field":"SlaStatus"
}
}
}
}
}
}
Top 5 Applications
}
}
},
"aggs":{
"L7Classification":{
"terms":{
"field":"L7ClassificationEnhanced",
"size":5,
"order":{
"Sum of MB":"desc"
}
},
"aggs":{
"Sum of MB":{
"sum":{
"field":"TotalBytesCount"
}
}
}
}
}
}
}
}
"SourceNSG":{
"query":{
"term":{
"SourceNSG":"{{snsg:ovs-114}}"
}
}
}
}
},
"aggs":{
"SourceIP":{
"terms":{
"field":"SrcIp",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"IngressPackets"
}
},
"Bytes":{
"sum":{
"field":"IngressBytes"
}
},
"DomainName":{
"terms":{
"field":"Domain",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"IngressPackets"
}
},
"Bytes":{
"sum":{
"field":"IngressBytes"
}
}
}
}
}
}
}
}
}
}
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTime:now}}",
"format":"epoch_millis"
}
}
},
{
"term":{
"IngressBytes": 0
}
}
]
}
},
"aggs":{
"5":{
"filters":{
"filters":{
"DestinationNSG":{
"query":{
"term":{
"DestinationNSG":"{{snsg:ovs-114}}"
}
}
}
}
},
"aggs":{
"DestinationIP":{
"terms":{
"field":"DstIp",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"EgressPackets"
}
},
"Bytes":{
"sum":{
"field":"EgressBytes"
}
},
"DomainName":{
"terms":{
"field":"Domain",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"EgressPackets"
}
},
"Bytes":{
"sum":{
"field":"EgressBytes"
}
}
}
}
}
}
}
}
}
}
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTime:now}}",
"format":"epoch_millis"
}
}
},
{
"term":{
"Application":"Default Application"
}
}
]
}
},
"aggs": {
"2": {
"filters":{
"filters":{
"Enterprise":{
"query":{
"term":{
"EnterpriseName":"{{enterpriseName:test_
˓→organization}}"
}
}
}
}
},
"aggs": {
"l7_count": {
"cardinality": {
"field":"L7ClassificationEnhanced"
}
}
}
}
}
}
"query":{
"term":{
"EnterpriseName":"{{EnterpriseName:test_org}}"
}
}
}
}
},
"aggs":{
"5":{
"filters":{
"filters":{
"AppName":{
"query":{
"not":{
"term":{
"Application":"Default Application"
}
}
}
}
}
},
"aggs":{
"Application":{
"terms":{
"field":"Application",
"size":20,
"order":{
"1":"desc"
}
},
"aggs":{
"1":{
"sum":{
"field":"TotalBytesCount"
}
},
"APMGroup":{
"terms":{
"field":"APMGroup",
"size":20,
"order":{
"1":"desc"
}
},
"aggs":{
"1":{
"sum":{
"field":"TotalBytesCount"
}
},
"DomainName":{
"terms":{
"field":"Domain",
"size":20,
"order":{
"1":"desc"
}
},
"aggs":{
"1":{
"sum":{
"field":"TotalBytesCount"
}
},
"L7Classification":{
"terms":{
"field":
˓→ "L7ClassificationEnhanced",
"size":20,
"order":{
"1":"desc"
}
},
"aggs":{
"1":{
"sum":{
"field":
˓→ "TotalBytesCount"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs":{
"4":{
"filters":{
"filters":{
"L7Classification":{
"query":{
"term":{
"L7Classification":"{{app}}"
}
}
}
}
},
"aggs":{
"date-histo":{
"date_histogram":{
"field":"timestamp",
"interval":"30m"
},
"aggs":{
"SumOfBytes":{
"sum":{
"field":"TotalBytesCount"
}
},
"SumOfPackets":{
"sum":{
"field":"TotalPacketsCount"
}
}
}
}
}
}
}
}
NSG Dashboard
Top 10 Applications
{
"size": 0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs":{
"4":{
"filters":{
"filters":{
"Enterprise":{
"query":{
"term":{
"EnterpriseName":"{{EnterpriseName:test_organization}}"
}
}
}
}
},
"aggs":{
"3":{
"filters":{
"filters":{
"SourceNSG":{
"query":{
"term":{
"SourceNSG":"{{snsg:ovs-114}}"
}
}
}
}
},
"aggs":{
"Application":{
"terms":{
"field":"Application",
"size":10,
"order":{
"Sum of MB":"desc"
}
},
"aggs":{
"Sum of MB":{
"sum":{
"field":"TotalMB"
}
}
}
}
}
}
}
}
}
}
"term": {
"SourceNSG": "{{snsg:default}}"
}
}
}
}
},
"aggs": {
"ts": {
"date_histogram": {
"field": "timestamp",
"interval": "1h"
},
"aggs": {
"L7Classification": {
"terms": {
"field": "L7ClassificationEnhanced",
"size": 5,
"order": {
"SumOf": "desc"
}
},
"aggs": {
"SumOf": {
"sum": {
"field": "{{Metric:TotalBytesCount}}"
}
}
}
}
}
}
}
}
}
}
}
}
NSG level top 5 users (IP addresses) sending traffic to the network.
Computation: Sum of ingress Bytes sourced from this client IP to any destination in descending order.
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTime:now}}",
"format":"epoch_millis"
}
}
},
{
"term":{
"EgressBytes":0
}
}
]
}
},
"aggs":{
"5":{
"filters":{
"filters":{
"SourceNSG":{
"query":{
"term":{
"SourceNSG":"{{snsg:ovs-114}}"
}
}
}
}
},
"aggs":{
"SourceIP":{
"terms":{
"field":"SrcIp",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"IngressPackets"
}
},
"Bytes":{
"sum":{
"field":"IngressBytes"
}
},
"DomainName":{
"terms":{
"field":"Domain",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"IngressPackets"
}
},
"Bytes":{
"sum":{
"field":"IngressBytes"
}
}
}
}
}
}
}
}
}
}
NSG level top 5 users (IP addresses) receiving traffic from the network
Computation: Sum of egress Bytes for any traffic destined to this client IP in descending order.
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTime:now}}",
"format":"epoch_millis"
}
}
},
{
"term":{
"IngressBytes": 0
}
}
]
}
},
"aggs":{
"5":{
"filters":{
"filters":{
"DestinationNSG":{
"query":{
"term":{
"DestinationNSG":"{{snsg:ovs-114}}"
}
}
}
}
},
"aggs":{
"DestinationIP":{
"terms":{
"field":"DstIp",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"EgressPackets"
}
},
"Bytes":{
"sum":{
"field":"EgressBytes"
}
},
"DomainName":{
"terms":{
"field":"Domain",
"size":5,
"order":{
"Bytes":"desc"
}
},
"aggs":{
"Packets":{
"sum":{
"field":"EgressPackets"
}
},
"Bytes":{
"sum":{
"field":"EgressBytes"
}
}
}
}
}
}
}
}
}
}
NSG level report of applications connected to local (this) NSG sending traffic to remote NSGs.
Computation: Sum of ingress Bytes in descending order.
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTimeTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs":{
"12":{
"filters":{
"filters":{
"Enterprise":{
"query":{
"term":{
"EnterpriseName":"{{EnterpriseName:test_organization}}"
}
}
}
}
},
"aggs": {
"11": {
"filters": {
"filters": {
"SourceNSG": {
"query": {
"term": {
"SourceNSG": "{{snsg:default}}"
}
}
}
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"APMGroup": {
"terms": {
"field": "APMGroup",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"Application": {
"terms": {
"field": "Application",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"L7Classification": {
"terms": {
"field": "L7ClassificationEnhanced",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"SrcVportName": {
"terms": {
"field": "SrcVportName",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field":
˓→ "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field":
˓→ "TotalPacketsCount"
}
},
"SrcUplink": {
"terms": {
"field": "SrcUplink",
"size": 5,
"order": {
"SumofBytes": "desc
˓→ "
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field":
˓→ "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field":
˓→ "TotalPacketsCount"
}
},
"SrcUplinkRole": {
"terms": {
"field":
˓→ "SrcUplinkRole",
"size": 5,
"order": {
"SumofBytes
˓→ ": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field
˓→ ": "TotalBytesCount"
}
},
"SumofPackets":
˓→ {
"sum": {
"field
˓→ ": "TotalPacketsCount"
}
},
"DestinationNSG
˓→ ": {
"terms": {
"field
˓→ ": "DestinationNSG",
"size":
˓→ 5,
"order
˓→ ": {
˓→ "SumofBytes": "desc"
}
},
"aggs": {
˓→ "SumofBytes": {
˓→ "sum": {
˓→ "field": "TotalBytesCount"
}
},
˓→ "SumofPackets": {
˓→ "sum": {
˓→ "field": "TotalPacketsCount"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
NSG level report of applications connected to remote NSGs sending traffic to local (this) NSG.
Computation: Sum of ingress Bytes in descending order.
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTimeTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs":{
"12":{
"filters":{
"filters":{
"Enterprise":{
"query":{
"term":{
"EnterpriseName":"{{EnterpriseName:test_organization}}"
}
}
}
}
},
"aggs": {
"11": {
"filters": {
"filters": {
"DestinationNSG": {
"query": {
"term": {
"DestinationNSG": "{{snsg:default}}"
}
}
}
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"APMGroup": {
"terms": {
"field": "APMGroup",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"Application": {
"terms": {
"field": "Application",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"L7Classification": {
"terms": {
"field": "L7ClassificationEnhanced",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field": "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field": "TotalPacketsCount"
}
},
"SrcVportName": {
"terms": {
"field": "SrcVportName",
"size": 5,
"order": {
"SumofBytes": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field":
˓→ "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field":
˓→ "TotalPacketsCount"
}
},
"SrcUplink": {
"terms": {
"field": "SrcUplink",
"size": 5,
"order": {
"SumofBytes": "desc
˓→ "
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field":
˓→ "TotalBytesCount"
}
},
"SumofPackets": {
"sum": {
"field":
˓→ "TotalPacketsCount"
}
},
"SrcUplinkRole": {
"terms": {
"field":
˓→ "SrcUplinkRole",
"size": 5,
"order": {
"SumofBytes
˓→ ": "desc"
}
},
"aggs": {
"SumofBytes": {
"sum": {
"field
˓→ ": "TotalBytesCount"
}
},
"SumofPackets":
˓→ {
"sum": {
"field
˓→ ": "TotalPacketsCount"
}
},
"SourceNSG": {
"terms": {
"field
˓→ ": "SourceNSG",
"size":
˓→ 5,
"order
˓→ ": {
˓→ "SumofBytes": "desc"
}
},
"aggs": {
˓→ "SumofBytes": {
˓→ "sum": {
˓→ "field": "TotalBytesCount"
}
},
˓→ "SumofPackets": {
˓→ "sum": {
˓→ "field": "TotalPacketsCount"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
NSG level report of applications connected to local (this) NSG and their SLA status. Possible values are In SLA, Out
of SLA and/or Not monitored.
Computation: Ordered by time in descending order.
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTimeTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs": {
"11": {
"filters": {
"filters": {
"SourceNSG": {
"query": {
"term": {
"SourceNSG": "{{snsg:default}}"
}
}
}
}
},
"aggs": {
"ts": {
"terms": {
"field": "timestamp",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"DestinationNSG": {
"terms": {
"field": "DestinationNSG",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"Application": {
"terms": {
"field": "Application",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"APMGroup": {
"terms": {
"field": "APMGroup",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"ViolationType": {
"terms": {
"field": "ViolationType",
"size": 10,
"order": {
"_count": "desc"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
To NSG SLA report. NSG level report of applications connected to remote NSGs sending traffic to local (this) NSG.
Possible values are In SLA, Out of SLA and/or Not monitored.
Computation: Ordered by time in descending order.
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTimeTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs": {
"11": {
"filters": {
"filters": {
"DestinationNSG": {
"query": {
"term": {
"DestinationNSG": "{{snsg:default}}"
}
}
}
}
},
"aggs": {
"ts": {
"terms": {
"field": "timestamp",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"SourceNSG": {
"terms": {
"field": "SourceNSG",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"Application": {
"terms": {
"field": "Application",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"APMGroup": {
"terms": {
"field": "APMGroup",
"size": 10,
"order": {
"_count": "desc"
}
},
"aggs": {
"ViolationType": {
"terms": {
"field": "ViolationType",
"size": 10,
"order": {
"_count": "desc"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
{
"size": 0,
"query": {
"bool": {
"must": [
{
"range": {
"timestamp": {
"gte": "{{startTime:now-24h}}",
"lte": "{{endTime:now}}",
"format": "epoch_millis"
}
}
}
]
}
},
"aggs": {
"2": {
"filters": {
"filters": {
"Enterprise": {
"query": {
"term": {
"EnterpriseName": "{{EnterpriseName:test_org}}"
}
}
}
}
},
"aggs": {
"3": {
"filters": {
"filters": {
"Domain": {
"query": {
"term": {
"Domain": "{{domainName:Domain1}}"
}
}
}
}
},
"aggs": {
"Application": {
"terms": {
"field": "Application",
"size": 20,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"sum": {
"field": "TotalBytesCount"
}
},
"11": {
"sum": {
"field": "TotalPacketsCount"
}
},
"L7Classification": {
"terms": {
"field": "L7ClassificationEnhanced",
"size": 20,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"sum": {
"field": "TotalBytesCount"
}
},
"11": {
"sum": {
"field": "TotalPacketsCount"
}
},
"SrcVportName": {
"terms": {
"field": "SrcVportName",
"size": 20,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"sum": {
"field": "TotalBytesCount"
}
},
"11": {
"sum": {
"field": "TotalPacketsCount"
}
},
"SourceNSG": {
"terms": {
"field": "SourceNSG",
"size": 20,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"sum": {
"field":
˓→"TotalBytesCount"
}
},
"11":{
"sum": {
"field":
˓→"TotalPacketsCount"
}
},
"DestinationNSG": {
"terms": {
"field":
˓→"DestinationNSG",
"size": 20,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"sum": {
"field":
˓→"TotalBytesCount"
}
},
"11": {
"sum": {
"field":
˓→"TotalPacketsCount"
}
},
"DestVportName": {
"terms": {
"field":
˓→ "DestVportName",
"size": 20,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"sum": {
"field
˓→ ": "TotalBytesCount"
}
},
"11": {
"sum": {
"field
˓→ ": "TotalPacketsCount"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Top 5 Applications
"format":"epoch_millis"
}
}
}
]
}
},
"aggs":{
"3":{
"filters":{
"filters":{
"Enterprise":{
"query":{
"term":{
"EnterpriseName":"{{EnterpriseName:test_org}}"
}
}
}
}
},
"aggs":{
"3":{
"filters":{
"filters":{
"Domain":{
"query":{
"term":{
"Domain":"{{domainName:Domain1}}"
}
}
}
}
},
"aggs":{
"Application":{
"terms":{
"field":"Application",
"size":5,
"order":{
"SumofBytes":"desc"
}
},
"aggs":{
"SumofBytes":{
"sum":{
"field":"TotalBytesCount"
}
}
}
}
}
}
}
}
}
}
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"timestamp":{
"gte":"{{startTime:now-24h}}",
"lte":"{{endTimeTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
},
"aggs":{
"3":{
"filters":{
"filters":{
"Enterprise":{
"query":{
"term":{
"EnterpriseName":"{{EnterpriseName:test_org}}"
}
}
}
}
},
"aggs":{
"4":{
"filters":{
"filters":{
"Domain":{
"query":{
"term":{
"Domain":"{{domainName:Domain1}}"
}
}
}
}
},
"aggs":{
"Sum of MB":{
"sum":{
"field":"TotalMB"
}
},
"APMGroup":{
"terms":{
"field":"APMGroup",
"size":5,
"order":{
"Sum of MB":"desc"
}
},
"aggs":{
"Sum of MB":{
"sum":{
"field":"TotalMB"
}
}
}
}
}
}
}
}
}
}
Domain level local NSG (source) to remote NSG (destination) Path Performance Measurements.
Computation: Order by time in descending order.
{
"sort": [
{ "timestamp": { "order": "desc" } }
],
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"term":
{"SourceNSG": "{{snsg}}" }
},
{ "term":
{"DestinationNSG": "{{dnsg}}"}
},
{ "range": {
"timestamp": {
"gte": "{{startTime:now-24h}}",
"lte": "{{endTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
}
]
}
}
}
Domain level local NSG (destination) to remote NSG (sources) Path Performance Measurements.
Computation: Order by time in descending order.
{
"sort": [
{ "timestamp": { "order": "desc" } }
],
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"term":
{"SourceNSG": "{{dnsg}}"}
},
{
"term": {"DestinationNSG": "{{snsg}}"}
},
{ "range": {
"timestamp": {
"gte": "{{startTime:now-24h}}",
"lte": "{{endTime:now}}",
"format":"epoch_millis"
}
}
}
]
}
}
]
}
}
}
Nuage VNS supports performance-based routing for Software as a Service (SaaS) applications such as Github or
WebEx. This feature set supports first-packet application discovery, performance and reachability monitoring, and
performance-based path selection with failover mechanisms. The SaaS feature set provides similar functionality to
AAR, while adjusting for the performance requirements and specific use cases associated with SaaS applications.
Nuage VNS currently provides support for the following SaaS routing features:
• SaaS application discovery (page 562)
SaaS application discovery employs first packet discovery to ensure that when applying application specific policies,
the traffic flow does not switch paths after the application is discovered. The VSD maintains a database of SaaS
network macros with associated IP addresses for predefined and custom SaaS applications. Destination addresses for
traffic flows routing through an NSG are matched against the IPs in this database to identify SaaS application traffic
from the first packet.
The VSD supports a predefined list of network macros for the following SaaS application types:
• Amazon AWS
• Azure
• Github
• Google
• Jira
• Office 365
• Salesforce
• WebEx
The VSD provides an API to import a .json file with updates to the list of network macros for the predefined SaaS
application types. Network macros cannot be added to the predefined SaaS application types manually through the
VSD UI; they can be updated only with the .json file import. See Predefined SaaS application type updates (page 572)
for more information about making updates to the network macro list for predefined SaaS application types.
You can also create custom SaaS application types with manually defined network macros. These SaaS application
types cannot be updated with the .json file import, and must be maintained by the user.
SaaS application types can be associated using SaaS application groups. These SaaS application groups can then be
used as destinations in policy rules for ingress forwarding policies and ingress security policies. These policies allow
you to specify an uplink preference, specify a QoS forwarding class, route an application to a cloud security provider
via an IKE tunnel, or configure local Internet breakout for specific applications while forwarding other applications to
the overlay.
SaaS routing performance and reachability monitoring is achieved using HTTP ping performance monitors by probing
user-defined HTTP(S) endpoints.
You can configure a performance monitor to perform an HTTP ping. The HTTP performance monitor can be used
to determine whether an active IKE tunnel has failed and to perform a switchover to a standby tunnel, if required.
These performance monitors are similar to the one-way active measure protocol probes used for AAR, but they do not
require an NSG as the destination target.
The performance monitor sends probe packets to destination target URLs at specified intervals. If the configured probe
timeout is exceeded without an HTTP response, or if the response is a failure type such as 404 Page not found or 403
Forbidden, the probe is considered unsuccessful. After the number of consecutive unsuccessful probes exceeds the
configured threshold, the VSD declares the tunnel down and raises an alarm.
When you configure an HTTP performance monitor, you can define URL destination targets for two different tiers.
Tier 1 allows you to specify a down threshold count and URL weight for each destination URL in the tier. Critical
destination URLs can be allocated a high URL weight so that failure to reach these targets is more likely to result in the
tunnel being considered down. This tier is intended for a small number of URLs that should be probed individually.
Tier 2 allows you to specify a down threshold count at the tier level for all configured destination URLs. This tier is
intended for a large number of destination URLs with the goal of providing an indication of whether the IKE tunnel
has consistent reachability to the Internet. Tier 2 is more likely to provide an accurate indication if there are more
destination URLs configured.
Defining multiple destination target URLs in tiers 1 and 2 allow you to probe the reachability and delay of multiple
endpoints at once. This provides a general indication of Internet or SaaS service cluster connectivity with greater
weight given to critical destination target URLs.
For each tier, you can specify HTTP or HTTPS destination URLs using either GET or HEAD HTTP request methods.
In a dual uplink scenario, you can assign an HTTP performance monitor to an IKE tunnel on each uplink. Probes
monitor Internet reachability on each uplink and use switchover logic to determine if traffic should be rerouted to
the standby tunnel. If an IKE tunnel on one of the uplinks does not have a performance monitor assigned to it, it is
presumed to be up. An IKE tunnel with an HTTP monitor in the up state is preferred over an IKE tunnel without an
HTTP monitor, which is in turn preferred over an IKE tunnel with an HTTP monitor in the down state.
Note: For each tier, the HEAD HTTP request method is recommended.
Note: QoS is not supported for HTTP ping. All probes are sent using the best-effort service class H.
Note: The HTTP ping feature does not support URL redirection when web servers respond with a 3xx error code.
In this case, the feature treats the ping attempt as a failure and adds a failure_reason. Use the ovs-appctl -t
nuage_perfd httping/dump-probe-stats command to view the failure_reason. As a workaround, manu-
ally update the failing URL with the web server’s redirected URL.
Note: The HTTP ping feature expects HTTP/1.1 web servers to honor HTTP requests with the absoluteURI format
in the Request Line. For example, GET http://gateway.zscalerbeta.net/vpntest HTTP/1.1. If an
HTTP/1.1 web server does not honor the absoluteURI format in the HTTP request, it may respond with a “404 Not
Found” error, which the HTTP ping feature treats as a failure.
You can use the ovs-appctl -t nuage-probed httping/dump show command to view the down count
(Down cnt) and success count (Success cnt) parameters which increment when there are consecutive failed or suc-
cessful probes.
You can use the ovs-appctl -t nuage-probed httping/dump-probe-stats show command to view
the failure_reason of failed HTTP ping attempts. The following are possible values for the failure_reason:
• DNS resolution for URL failed
• TCP connection to URL failed
• Probe request timed out
• Send probe request failed
• Server returned xxx error, for example Server returned ‘302 Moved Temporaraily
• Read HTTP response failed
• Failed to queue the DNS request for URL
See CLI Commands (page 572) for more information about CLI commands available for HTTP performance monitors.
HTTP ping visualizations are available on the visualization dashboard and can be used to monitor and historically
analyze performance monitors of type HTTP Ping that are associated with IKE tunnels on NSG uplinks. See the
Application-Aware Routing Visualization (page 505) chapter for more information about accessing the visualization
feature set.
HTTP ping visualization can be viewed from the IKE dashboard for the selected NSG. The Tunnel Status for all
Tunnels on NSG visualization displays a heat map of chronological IKE tunnel reachability. Four different colors are
displayed in the heat map:
• Green: IKE tunnel is up
• Red: IKE tunnel is down
• Yellow: IKE tunnel is unstable with multiple state changes
• White: No data
The Traffic Bytes visualization displays the chronological progression of throughput on each tunnel. You can select
Tx bytes/packets or Rx bytes/packets to be displayed from the drop-down menu. Hovering over a point on the line
graph displays more information for that point in time. You can view the tunnel name, total bytes/packets sent in that
interval, and total throughput in bytes/packets per second.
The Probe Status for all Tunnels on NSG visualization displays a heat map of chronological tunnel probe reachability.
If the tunnel is configured with an HTTP ping probe, the status of the ping results can be monitored with the heat map.
Five different colors are displayed in the heat map:
• Green: Probe is up
• Red: Probe is down
• Grey: Probing has stopped because the IKE tunnel is down
• Yellow: Probe is unstable with multiple state changes
• Blue: Probe is in a hold down state
• White: No data
You can hover over a square in the heat map for the Probe Status for all Tunnels on NSG visualization to view the
timestamp and the detailed monitoring information of individual URLs in tiers 1 and 2 of the selected probe during the
selected interval. You can click on the square to populate the Last 8 IKE Probe Status Events visualization. The status
events visualizations list the last eight probe status change events that occurred during or before the selected interval.
For example, if the selected interval is 11:56 - 11:58, the status events table displays the last 8 events that occurred
before 11:58. The Flapping field indicates whether there were multiple state changes within the reporting interval,
suggesting that the reported status may be unreliable.
You can select a status event in the Last 8 IKE Probe Status Events table to show the detailed Tunnel Tier1 URL events
and Tunnel Tier2 URL events in the tables below. These visualizations list the results of probe events related to specific
URLs during the selected reporting interval. If a failure reason was reported, it is listed in the table.
Note: Probes and tunnels are identified by their names. If a probe name or tunnel name is changed after being
discovered by the IKE visualization, the object is treated as a new probe or tunnel in the visualization outputs.
You can configure the Time Interval and Refresh Interval parameters to specify the recency of the displayed data
and the rate at which it is refreshed.
SaaS path selection includes multiple options for Internet breakout, including overlay, route to underlay, PAT to under-
lay, and IKE from underlay. This functionality includes failover mechanisms to allow SaaS application traffic to switch
to a standby path if the primary path falls below performance standards. The path selection functionality provides the
option to assign multiple breakout options to different uplinks on the same NSG. This means that the failover standby
path can be a different breakout type from the primary path.
Underlay routing and NAT can be enabled at the uplink level. In a dual uplink scenario, this means that one uplink
can be configured for underlay routing to the MPLS WAN and one uplink can be configured for underlay NAT to the
Internet.
The underlay routing and underlay NAT settings at the domain, zone, and subnet level take precedence over the settings
at the uplink level. This means that traffic will not be routed to the underlay or sent via underlay NAT unless underlay
routing or underlay NAT is also enabled at the domain, zone, or subnet level. If underlay routing and underlay NAT
are enabled on both the uplink and the domain, zone, or subnet, underlay NAT is preferred.
Per uplink underlay routing and NAT can be enabled by configuring the Underlay Routing and Underlay NAT
parameters on the uplink connection configuration form. See Define Uplink Connections (page 54) for procedural
information on configuring uplink connections.
Note: A reload config is required after configuring the Underlay Routing and Underlay NAT parameters.
The following table describes examples of per uplink PAT routing behavior. In these examples, underlay routing and
underlay NAT are enabled at the domain level.
Domain setting
Behavior Example
Rout- NAT
ing
En- Not Route to underlay only. Secondary-over-primary uplink preference. If secondary uplink is
abled en- Honor uplink preference. enabled for underlay routing, route to underlay on the secondary
abled uplink. Else, if primary uplink is enabled for underlay routing, route
to underlay on the primary uplink. Else, drop traffic.
En- En- NAT to underlay based on Secondary-over-primary uplink preference. If secondary uplink is
abled abled uplink capability. Honor enabled for underlay NAT, NAT to underlay on the secondary upink.
uplink preference. Else, if primary uplink is enabled for underlay routing or underlay
NAT, route or NAT to underlay on the primary uplink. Else, drop
traffic.
Forwarding path lists allow you to assign an uplink preference for different breakout types. You can specify that traffic
be redirected through an IKE tunnel, or through PAT to underlay and route to underlay. If you specify the underlay
path, you can assign primary and secondary uplink preferences for PAT to underlay and route to underlay. Forwarding
path lists are applicable to the per uplink NAT feature which enables different breakout types for uplinks on the same
NSG. Together, these mechanisms allow you to configure an NSG with one MPLS link and one Internet link.
Forwarding path lists can be assigned as an action for ingress forwarding policies. Refer to the VSP User Guide for
more information about ingress forwarding policies.
The following VSD objects and policies are relevant to SaaS routing.
SaaS application types define a list of network macros with associated IPs for a particular SaaS application. In addition
to the eight predefined SaaS application types, you can create custom ones. For each custom SaaS application types,
you can manually define network macros with associated IPs of SaaS applications.
Network macros are organization-wide defined macros that can be used as a destination of a policy rule. For example,
a network macro could represent internal intranet access and could be used as a destination for a policy rule to drop
any packet that is coming from a particular port.
Navigate to Applications -> SaaS Application Tpes.
The following parameters can be configured for SaaS application types:
• Name
• Description
The following parameters can be configured for network macros:
• Name
• Network: Specifies either IPv4 or IPv6.
• Network IPv4 / Network IPv6: Specifies the IP address for the SaaS application.
SaaS application groups allow you to associate multiple SaaS application types. These SaaS application groups can
then be used as destinations in policy rules for ingress forwarding policies and ingress security policies. Specify SaaS
Application Group for the Destination and then select a SaaS application group from the drop-down menu.
Refer to the VSP User Guide for more information about creating policy rules for ingress forwarding policies and
ingress security policies.
Navigate to Applications -> SaaS Application Types -> SaaS Application Groups.
The following parameters can be configured for SaaS application groups:
• Name
• Description
Note: SaaS application types must be in a SaaS application group before they can be assigned to an ACL policy, even
if there is only one SaaS application type in the group.
HTTP performance monitors are used to assess IKE tunnel reachability and determine whether a switchover to a
standby tunnel is required. Each HTTP performance monitor includes two tiers for which you can define URL targets.
These HTTP performance monitors can be associated with an IKE tunnel.
• Down Threshold Count: Defines the number of consecutive failed probes before the VSD declares a state
change and raises an alarm.
• Packet Count:: Defines the number of packets sent at the specified interval.
• Probe Interval: Defines the rate at which probe packets are sent to the destination target.
• Timeout (in ms): Defines how long the VSD waits for a response before considering a probe unsuccessful.
Note: The Down Threshold Count parameter must be less than or equal to the number of destination URLs config-
ured for Tier 2.
Note: The default value for the Probe Interval is 1 packet every 10 seconds. Setting the value to a more frequent
interval, such as 10 packets every 1 second, can result in inconsistent failures.
Forwarding path lists define the uplink preferences for up to two breakout types on an NSG. These forwarding path
lists can then be used as actions in policy rules for ingress forwarding policies. Specify Forwarding Path List for the
Action on the Action tab and then select a forwarding path list from the drop-down menu. Two forwarding actions
with different uplink preferences can be configured.
Refer to the VSP User Guide for more information about creating policy rules for ingress forwarding policies.
From the enterprise view, navigate to Networks, L3 Domains -> L3 Domain -> Forwarding Path Lists.
The following parameters can be configured for forwarding path lists:
• Name
• Description
The following parameters can be configured for forwarding path list entries:
• Forwarding Action: Specifies the breakout type for the traffic flow.
• Uplink Preference: Specifies a primary or secondary uplink preference.
Note: An Uplink Preference can be specified only when Underlay PAT or Underlay Route is selected for the
Forwarding Action.
Note: If the specified breakout action cannot be enacted due to an unusable uplink or an unavaiable IKE tunnel, an
implicit drop action is applied.
This section provides the detailed steps required to configure VSD objects and policies required to enable the features
described in this chapter.
Step 1 From the enterprise view, navigate to Applications -> SaaS Application Types.
Step 5 On the Network Macros tab, select to create a new network macro.
Step 6 Enter a Name, Network, and Network IPv4 / Network IPv6.
Step 7 Click Create.
Step 8 Repeats Steps 6 and 7 to create more network macros, as required.
Step 1 From the enterprise view, navigate to Applications -> SaaS Application Types -> SaaS Application
Groups.
Step 5 On the Associated SaaS Application Types tab, click to add SaaS application types.
Step 6 Select SaaS application types to add to the group and click Select.
Note: Before proceeding, ensure that performance management is enabled for the organization. See Enable Perfor-
mance Management (page 452) for more information about enabling performance management.
Step 1 From the enterprise view, navigate to Applications -> Performance Monitors .
Step 7 Select the tier 1 object and select in the Destination URLs panel.
Step 8 Enter a Down Threshold Count, HTTP Request Type, URL Weight in %, URL, Packet
Count, Probe Interval, and Timeout.
Step 9 Click Create.
Step 10 Repeat Steps 7 to 9 to configure more destination URLs for tier 1, as required.
Step 11 Select the tier 2 object and select in the Destination URLs panel.
Step 12 Enter a HTTP Request Type and URL.
Step 13 Click Create.
Step 14 Repeat steps 11 to 13 to configure more destination URLs for tier 2, as required.
Step 1 From the enterprise view, navigate to Infrastructure -> Network Service Gateways -> NSG
Instance –> Network Port (Port 1 or Port 2) -> Untagged VLAN .
Step 2 Select an IKE gateway connection and click on the Performance Monitors button.
Step 1 From the enterprise view, navigate to Networks, L3 Domains -> L3 Domain -> Forwarding
Path Lists.
The VSD provides an API to import a .json file with updates to the list of network macros for the predefined SaaS
application types. The .json file does not need to include network macros that are already listed in the database, it
needs to include only the new ones to be added.
The version number and upload date of the current list of predefined network macros can be viewed under the SaaS
Applications Version section of the System Configuration tab. Navigate to Platform Configuration -> Settings ->
System Configuration .
The following sample shows the format for the .json file required to update the list of network macros for the predefined
SaaS applications types in the VSD.
{
"command":"SAAS_APPLICATION_TYPE",
"Parameters":{"resources":{
“version”:”1.0”,
"saasapplicationtype":[{"name":"Github",
"children": {
"enterprisenetwork": [
{
"address": "13.250.155.205",
"netmask": "255.255.255.255"
},
{
"address": "13.250.155.206",
"netmask": "255.255.255.255"
}
] }}]}}
}
The following show commands are supported for HTTP ping performance monitors:
• nuage-nsg-ike-cli show ipsec-stats
• ovs-appctl -t nuage-probed httping/dump
• ovsdb-client dump Nuage_IKE_Monitor_Config
• nuage-nsg-ike-cli show tunnel-status-summary
• ovs-appctl ike/list-tunnels
• ovs-appctl -t nuage_perfd httping/dump-probe-config
• ovs-appctl -t nuage_perfd httping/dump-probe-stats
• ovs-appctl -t nuage_perfd httping/dump-tunnels
• ovs-appctl -t nuage_perfd httping/dump-tunnel-state
• probe-info detail
--------------------------------------------------------------------------------------
˓→--------------------------
--------------------------------------------------------------------------------------
˓→--------------------------
7be2294d-c90b-4e1f-ab91-5e8812723c11 "http://google.com" 5
˓→"51e8f4a4-5fda-4abd-a3f6-fe7e6bbe4824" "1.000" 5000
--------------------------------------------------------------------------------------
˓→--------------------------
{
"tunnel_name": "My_Ikev2_Gw_Conn_1-2"}]}]
[root@nsg-99-211-31-184 ~]#
Tier 2 Information :
Packet Count : 1 Probe Interval : 3
Timeout : 2000 Down Threshold Count : 5
Number of URLs : 10
Tier 2 Information :
Packet Count : 1 Probe Interval : 3
Timeout : 2000 Down Threshold Count : 5
Number of URLs : 10
NINE
BRANCH SERVICES
579
VNS User Guide, Release 5.3.2
9.1.1 Overview
The NSG supports the hosting of third-party VNFs to provide branch-in-a-box functionality through the integration
of network appliances. The VSD manages the onboarding, deployment, datapath integration, and life-cycle aspects of
VNFs hosted on the NSG. Setup, configuration, and deletion can all be handled using the VSD.
Key functionality includes the following:
• Automated integration, management, and provisioning of the VNF using the VSD as the single point of inte-
gration. Although the VSD does not host the VNF image, it does manage the complexity of image storage,
evaluation of resources on the CPE, and VNF deployment.
• Full management of VNF life-cycle from bootstrapping to service-chaining and VNF deletion.
• Intelligent service chaining at L4/L7 which enables granular management of traffic.
• Simplified packet processing through integration of the VNF datapath with VNS data plane at the host OS layer.
• Data network isolation and VNF interface management for full control of datapath configuration and security.
The solution is designed to accommodate any third-party VNFs. Day0 configuration of the VNF is performed using the
bootstrap process. Day2 configuration updates are enabled through the EMS on each VNF vendor. The management
interfaces of the VNFs and the EMS can be assigned to a separate domain. This will ensure secure VNF management
with complete isolation from the control and management of VNS.
The VSD currently provides support for the following VNF features on the NSG:
• Firewall (page 582)
• WAN-Optimization (page 583)
Firewall
The NSG supports the hosting of firewall appliances as managed VNFs. The feature is implemented using a single
VNF for securing access networks from the network traffic in the following contexts:
• VNF insertion for traffic to underlay (local breakout to internet)
• VNF insertion for traffic to overlay
See Firewall workflow (page 591) for high-level steps to enable and manage the feature.
WAN-Optimization
The NSG supports hosting of WAN-Optimization appliances as managed VNFs. In this use case, two NSGs hosting
VNFs of type WAN-OPT are required in a bookended deployment.
Inter-VNF communication
• VIPE uses the IP address space of the VNF-VPort of VNF infra-domain.
• Inter-VIPE communication uses TCP for the computation of measurement.
• Addresses the issue of multi-tenancy for different access domains by using the parent VPort to send the probes
using UDP and the default path alone to learn the health of the WAN networks.
See WAN-Optimization workflow (page 591) for high-level steps to enable and manage the feature.
VNF onboarding
This process is typically generic between VNF features and requires management of the following data files and VSD
objects:
• qcow2 file: a file required to deploy the VNF as a KWM virtual machine
• VNF bootstrap ISO: the bootstrap configuration file for the VNF
• VNF metadata XML blob: XML file that specifies the VNF VM definition and Nuage metadata
• VNF Descriptor: a VSD object that specifies VNF VM CPU, memory, disk space, and links to the VNF metadata
XML blob and threshold policy
VNF Deployment
This process is the creation of VSD objects to specify the L3 domain/mapping and the VNF instance configuration:
• VNF Domain Mapping: specifies the segmentation type (typically VLAN) and ID for the virtual wire pairs, in
addition to automatically creating a VNF Zone and subnet for the NSG and sub ports
• VNF Instance: the logical object for the VNF in the VSD - parent to the LAN and WAN interfaces and used to
manage VNF deployment status
Datapath integration
This process varies depending on the VNF feature use-case, but typically involves configuring the a subset of the
following VSD policies:
• Redirection Targets: specify the target mapping used for VNF/LAN WAN interfaces in the Advanced Forward-
ing Policies and Ingress/Egress Forwarding Policies
• Ingress/Egress Forwarding Policies and Advanced Forwarding Rules: specify the origin/destination of the flow
and the target VNF interface
• Underlay Internet Policy Group: a special policy group to redirect traffic to the underlay (breakout to Internet)
Firewall datapaths
1 Configure redirection targets of Service Insertion Type “NSG-VNF” that map to all the required LAN
and WAN vports on each VNF. Two per VNF (one for LAN, one for WAN).
2 Configure an ingress forwarding policy and egress forwarding policy for the VNF.
3 Configure advanced forwarding rules for each policy. The number of rules depends on the number of
WANs, required security depth, and the specific use-case.
Each rule specifies:
• The origin location (subnet, policy group, or Underlay Internet Policy Group)
• The destination network (subnet, policy group, or Underlay Internet Policy Group)
• The redirection target mapping for the required VNF interface
WAN-Optimization datapaths
1 Configure redirection targets of Service Insertion Type “NSG-VNF” that map to all the required LAN
and WAN vports on each VNF. Two per VNF (one for LAN, one for WAN).
2 Configure an ingress forwarding policy and egress forwarding policy for each VNF. Two policies per
VNF, for 4 total per 2 bookended VNFs.
3 Configure advanced forwarding rules for each policy. The number of rules depends on the number of
WANs, required security depth, and the specific use-case.
Each rule specifies:
• The origin location (of type subnet), eg subnet-20.
• The destination network (of type subnet), eg, subnet-21.
• The redirection target mapping for the required VNF interface, eg, subnet-21-wan
VNFs hosted on the NSG can be managed by a separate EMS. See the “VNF Solution Brief” for more information.
This section describes special information and notes about VNF on NSG support.
General notes
Interface considerations
Each VNF instance must have exactly 3 interfaces: a management interface, a LAN interface, and a WAN interface.
Consider the following:
• The management interface cannot be in the same domain as the non-management interfaces.
• The subnet with which the management interface is associated can have no other VPorts in it.
• Both non-management interfaces must be in the same subnet.
• PAT to underlay must be enabled on the subnet associated with the non-management interfaces.
• On the VNF data ports (non-management), it is mandatory to enable Allow address spoofing.
• It is not possible to manually create and attach a VM VPort to the VNF interface and subnet, this is done
automatically.
To redirect traffic to the VNF, in addition to creating it, advanced forwarding rules must be added.
When a VNF is created, VM VPorts are created in the VNF infrastructure domain. The name of each of these VPorts
is a concatenation of the VNF name (e.g., “test”) plus the VNF interface name (e.g., “in” or “out”, so these examples
would result in “test-in” or “test-out”). The VPort names are limited to a total of 16 characters, so that if the VNF
name is 16 characters or more, there will be no character availability left for the VNF interface name, and all the names
will look the same for VSD. The An error about conflicting VPorts will be thrown: “Another vPort exists with same
name”. To avoid this, make the VNF name sufficiently short that the VNF interface name can act as a differentiator.
The life-cycle of the VNF consists of several states and actions that can be performed depending on the current state.
The following flow chart displays the relationship between the various states and actions that can be performed.
States
The VNF goes through the following states during its life-cycle. The current state can be viewed in VNF Status.
INIT
When a VNF instance is first created by selecting the VNF Descriptor and NSG to deploy it on, it is in the INIT state.
DEPLOYING
Invoking the DEPLOY action sets the VNF status to DEPLOYING. The VNF VM is being deployed to the selected
NSG.
SHUTOFF
The VNF VM is completely deployed and the START, RESTART, and UNDEPLOY actions are now available.
RUNNING
The VNF VM has successfully powered on. The STOP, UNDEPLOY, RESTART, and REDEPLOY actions can now
be invoked.
Actions
After the INIT state, the following actions can be performed by selecting the VNF instance, choosing an action, and
clicking Invoke:
DEPLOY
This action involves downloading the QCOW and ISO image locally from a remote server. Deployment creates the
VM’s XML configuration from the metadata and descriptors. The VM definition is validated to ensure readiness for
the START action. If any validation fails, then an error is presented. The VM is defined and placed in SHUTOFF state
(which indicates that the VM is deployed but not started). The user can then invoke the START action on the VM
VNF.
REDEPLOY
This action is required when the QCOW or ISO fields are changed after deployment of the instance.
START
The action starts the VM and updates its status in the VSD. If the VM starts successfully, it is transferred to the
RUNNING state.
RESTART
This action is required when the values for Memory, Storage, and/or CPU Count are changed.
STOP
This action triggers a graceful shutdown of the VM, followed by a hard shutdown after a timeout period. The VM is
placed in the SHUTOFF state.
UNDEPLOY
This action can be performed at the SHUTOFF and RUNNING stages of the VNF life-cycle. It stops a VM, undefines
it, and deletes the VPorts and disk images associated with the VM. It is equivalent to deleting the instance.
Note:
• There is also a sync button on the VNF instance that probes for status refresh
• VPorts will be unresolved when a VNF is successfully undeployed
• Once deployed, subnet association cannot be changed. If the subnet association needs to be changed, undeploy,
change the subnet association and then redeploy.
• To reboot a VNF, do a stop and start.
This section describes the VSD configuration tasks required to enable VNF management, provision the required net-
work objects for VNF onboarding and deployment, and configure the required policy objects and groups.
To enable VNF support, the csproot user creates or edits the appropriate organization profile by enabling the VNF
Management checkbox on the Organization Profile popup.
The following subsections describe specifics about the input files for VNF onboarding.
qcow2 file
The qcow2 file must include an MD5 checksum and be on a server accessible by the NSG, the URI of which is
specified in the metadata XML blob.
Bootstrap ISO
The bootstrap configuration for the VNF is created as an ISO and includes an MD5 checksum. These files are made
available in the same location as the qcow2 image and checksum. The bootstrap configuration has information about
virtual wire pairs that are created and a basic security policy allowing all traffic between the LAN (in) and WAN (out)
ports of the VNF.
See VNF metadata XML sample blobs (page 613) for an example of the XML content. Only edit the following fields:
• image-uri
• image-md5-checksum
• iso-uri
• iso-md5-checksum
Note: If HTTPS is used in the VNF metadata blob for QCOW and bootstrap ISO, do not use an IP address; instead,
use the FQDN.
Note: Changing the metadata is permitted, even after it has been associated with an NSG.
The following VSD objects and policies are relevant to VNF on NSG.
VNF Metadata
The VNF Metadata object is the container for the metadata XML blob and is referenced by the VNF Descriptor.
The threshold policy defines the limit for different resource utilization of the VNF VM on the NSG. The threshold
policy is defined at the csproot level and is applied to a VNF Descriptor. Consider creating different threshold policies
for different NSG variants for a VNF.
If no threshold policy is selected during the VNF Descriptor creation, the VNF Descriptor is associated with the default
VNF Threshold Policy.
Note: The assigned threshold policy is applied only after the VNF is in the running state. The policy is not enforced
when the VNF is being deployed.
VNF Descriptor
The VNF Descriptor specifies the VNF type for the required feature (such as Firewall or WAN-OPT), the vendor,
memory/CPU parameters, and links to the VNF Metadata and Threshold Policy.
A VNF Interface Descriptor is a logical object that represents an interface on the VNF. There are three types:
• MANAGEMENT: the management interface
• LAN: the LAN interface (trusted)
• WAN: the WAN interface (untrusted)
All three interface types must be configured for the VNF.
VNF Instance
The VNF Instance is the logical object that represents the VNF. Life-cycle management actions can be performed by
selecting the VNF Instance.
As soon as the first VNF is instantiated, a VNF template appears in the template listings for that organizations. All other
VNFs are instantiated from this template, which behaves like other templates: it cannot be edited or deleted until all
its instantiations have been destroyed. Whenever a VNF is instantiated, the zone and the VPorts, etc. corresponding
to the metadata and interfaces set up by csproot are automatically created, appearing in the Networks view for the
organization admin.
Note: Creating the first VNF instance creates a VNF infrastructure domain. Subsequent VNF instance creation does
not create additional infrastructure domains.
Redirection Targets
Redirection Targets are logical objects that represent vports and are pointed to by Advanced Forwarding Rules as the
destination for redirected traffic.
Navigate to Platform Configuration -> Applications -> Layer 3 Domains -> Policies -> Redirection Targets.
Enables traffic to be redirected or to be modified for traffic management purposes by matching specific criteria. Mir-
roring Ingress Forwarding Policies and Egress Forwarding Policies, along with Advanced Forwarding Rules (the
Forwarding Policy content), must be configured at the NSG level to control traffic going in and out of the VNF.
Ingress and Egress Forwarding Policies: Navigate to Platform Configuration -> Applications -> Layer 3 Domains ->
Policies -> <Policy Type>
Advanced Forwarding Rules: Select an Ingress or Egress Forwarding Policy and select or .
This section provides high-level workflows that list the procedures required to configure and enable VNF on NSG
features. Where applicable, the workflows link to the specific procedure for the object or task.
Firewall workflow
The following steps describe the process to enable the firewall feature.
1 Create the bootstrap ISU file by performing Creating the Bootstrap ISO File for the VNF (page 592).
2 Create the VNF metadata blob by performing Creating the VNF Metadata (page 593).
3 Configure the VNF Descriptor by performing Creating the VNF Descriptor (page 594).
4 Configure the VNF Interface Descriptors for Mgmt, LAN, and WAN by performing Creating the VNF
Interface Descriptors (page 596).
5 Configure the VNF Instance by performing Creating a VNF Instance (page 597).
6 Configure the datapaths required for firewall by performing Redirecting Traffic to the VNF (firewall)
(page 603).
WAN-Optimization workflow
The following steps describe the process to enable the WAN-Optimization feature.
1 Create the bootstrap ISO file by performing Creating the Bootstrap ISO File for the VNF (page 592).
2 Create the VNF metadata blob by performing Creating the VNF Metadata (page 593).
3 Configure the VNF Descriptor by performing Creating the VNF Descriptor (page 594).
4 Configure the VNF Interface Descriptors for Mgmt, LAN, and WAN by performing Creating the VNF
Interface Descriptors (page 596).
5 Configure the VNF Instance by performing Creating a VNF Instance (page 597).
6 Configure the datapaths required for WAN-Optimization by performing Redirecting Traffic to the VNF
(WAN-Optimization) (page 606).
Continue steps specific to WAN-Optimization on Ipanema:
7 Perform all procedures in Procedures for WAN-Optimization with Ipanema (page 608).
Prerequisites
• QCOW image uploaded to a server along with the associated MD5 checksum.
• Bootstrap configuration for the VNF created as an ISO file (instructions below) and uploaded to the same server
along with the associated MD5 checksum.
The sample configuration included below makes a virtual wire pair on port2 and port3 and allows all the traffic across
them. To configure different features, get the appropriate licenses from Fortinet.
Fortinet requires the bootconfig to be provided as a disk drive in the cloud init format. This is the reason the ISO file
is created with the specified configuration structure.
To create the ISO file the example uses xorriso, but any application can be used. Whichever application is used must
be installed before beginning this procedure.
To create a bootstrap configuration for a Fortinet VNF
Step 1 Create a folder (using any name), for example bootconfig. Under that folder, create a folder
hierarchy and the files as displayed in the output below, using exactly the same names:
Step 2 Create an ISO file using any name, for example boot.iso as follows (our example uses xorriso
but it can be any other application):
Step 3 For basic configuration, refer to the Fortigate VM Initial Configuration section in the Fortinet
documentation at: http://docs.fortinet.com/uploaded/files/1734/fortigate-vm-install-50.pdf
This section provides the detailed steps required to configure VSD objects and policies required to enable the features
described in this chapter.
Step 1 As CSPRoot, navigate to Platform Configuration -> Applications -> VNF Metadata . In the
panel, click on . The VNF Metadata popup appears.
Step 2 In the VNF Metadata popup, enter Name, Description and libvirt XML Blob. See to VNF meta-
data XML sample blobs (page 613) for examples based on feature type. The primary attributes in
the blob are:
• Location of the VM image and the MD5 checksum.
VSD validates the required attributes and populates some of the variables configured via the VNF
Descriptor (e.g. memory, storage, CPU count).
Step 1 As CSPRoot, navigate to Platform Configuration -> Applications -> VNF Descriptor . In the
panel, click on .
Step 2 Enter Name, Description, Vendor, Memory (MB) 1024, Storage (GB) 1, CPU Count 1. Enter
the Meta URI by clicking the link to select the VNF Metadata created in the previous procedure.
The NEW VNF Descriptor popup appears. Select “Firewall” or “WAN-OPT” as required by the
type of feature deployment.
Step 3 Create the other two interfaces the same way. After the three interfaces are created, a list similar
to the following is displayed:
Step 1 As organization admin, navigate to Applications -> VNF Instance and click on .
Step 2 In the New VNF popup, enter Name and Description.
Step 3 Click the paperclip icon to select both of the following:
• VNF Descriptor and
• Network Service Gateway on which the VNF is to be deployed. This must be an NSG-X and
must have the personality type “NSG”.
as shown in the screenshot below:
Step 4 For the management interface created, select icon to attach a domain and a subnet, each
selected from lists of Domains/Subnets for that organization. Manually assign the domain and subnet
to the management interface by double-clicking on the instance’s VNF management interface - VNF
Interface - and give the names of the domain and subnet.
For the other two interfaces, the domain and subnet mapping is created automatically.
The following screenshot captioned “Auto-created VNF Infrastructure Domain” shows the domain
that is auto-created when the first VNF instance is created. This domain contains auto-created VNF
Zone, Subnet and parent ports for both untrusted and trusted VNF interfaces.
Step 5 The auto-created parent ports for the VNF data interfaces are not used for service chaining of user-
traffic. The VNF sub-VPorts that are created in the following two steps are used for user-traffic. In
the Networks > Design view, Layer 3 Domains, select the domain the traffic is to traverse and in
the panel on the right, select VNF Domain Mapping and click as shown in the screenshot below
Step 6 In the New VNF Domain Mapping popup, for the Segmentation Type, select VLAN. The Seg-
mentation ID is the ID of the VLAN where the virtual wire pair is to be located. This ID is unique
per domain per NSG. Select the Network Services Gateway on which this is to be configured.
When you click Create, a new VNF zone is created within the L3 domain. It will have the cor-
responding auto-created subnet and the sub-ports of that VNF. The following screenshot captioned
“VNF Domain Mapping Plus Auto-created VNF Zone” shows a VNF Domain Mapping object con-
taining the segmentation ID and the associated NSG. This also shows that once a Domain VNF
Mapping object is created, a VNF Zone containing a subnet and the corresponding VNF sub-VPorts
is auto-created.
Optionally, view the XML Blob that was created (with all the attributes populated) by clicking the icon on the
VNF instance.
Work with the new VNF instance in the Networks > Design view. Each new instance has an automatically created zone
with subnets and VPorts. The attributes of any of these objects can be examined by selecting the object and viewing
the information in the panel on the far right, as shown in the screenshot below captioned “VNF Interface Details.”
Once the VNF is running, the VNF instance object turns green and its status displays as running, as shown by the
following:
Once the VNF is defined, traffic from multiple subnets of the NSG on which the VNF is hosted can be steered
through the VNF. For example, the origin location can be a PG containing VPorts from multiple subnets. You can
have multiple ACLs for each of which the origin location is a different subnet. The destination can be Underlay
Internet Policy Group or it can be an overlay destination (subnet/PG, etc.). These examples are shown in the
screenshots below. Options other than subnet and policy groups for source and subnet, policy groups and Underlay
internet policy group have not been validated for routing traffic through the VNF
Configure advanced forwarding rules using redirection targets as follows (refer to service chaining chapter for detailed
workflow):
Step 1 Define Redirection Targets in the VNF domain. Redirection Target Type must be NSG-VNF.
Navigate to Platform Configuration -> Applications -> Layer 3 Domains -> Policies -> Redirection
Targets.
Two redirection targets are required, one with the untrusted VPort (WAN) and the other with the
trusted VPort (LAN).
Step 2 Define the Ingress and Egress Forwarding Policies. Navigate to Platform Configuration -> Appli-
cations -> Layer 3 Domains -> Policies -> <Policy Type>. In the New Ingress Forwarding Policy
screen, an example of which is shown below in the screenshot captioned “Ingress Forwarding Pol-
icy,” multiple subnets can be selected, but the source subnet has to be where the VNF is instantiated,
while the destination is the underlay internet policy group.
For example, select subnet 1 as the origin location and you can also select subnet 2, because it has
the VNF as the source but the destination network can be an underlay internet policy group or an
overlay subnet.
Step 3 The Egress Forwarding Policy is the inverse of the Ingress described above. The redirection target
will be the other untrusted port.
Step 4 Define an Advanced Forwarding Rule by selecting an Ingress or Egress Forwarding Policy and
selecting or and specifying:
• Origin as the NSG subnet that has the non-management VNF interfaces
• Destination as the Underlay Internet Policy Group
• Redirect action to the trusted interface RT created in Step 1.
Step 5 Define a second Advanced Forwarding Rule and specify:
• Origin as the Underlay Internet Policy Group
• Destination as the NSG subnet which has the non-management VNF interfaces
• Redirect action to the untrusted interface RT created in Step 1.
Once the VNF is defined, traffic from multiple subnets of the NSG on which the VNF is hosted can be steered through
the VNF. You can have multiple ACLs for each of which the origin location is a different subnet. For example, for
WAN A, which only handles UDP, incoming traffic gets directed to a specific vport on the VNF, which will direct it
through the matching egress vport. The second redirect rule then routes traffic from that vport to the correct WAN-A
in between the two NSGs. Complementary rule sets ensure that the same process occurs on the bookended VNF. See
the following examples of forwarding policy configuration:
In another example, if traffic is being sent from ovs20 (subnet-1) to ovs21 (subnet21), the redirection targets would
resemble the following:
• Traffic from ovs-20-net-1 to ovs-21-net-1 redirect to ovs20-lan
• Traffic from ovs-21-net-1 to ovs-20-net-1 redirect to ovs20-wan
• Traffic from ovs-21-net-1 to ovs-20-net-1 redirect to ovs-21-lan
• Traffic from ovs-20-net-1 to ovs-21-net-1 redirect to ovs-21-wan
Step 1 Define Redirection Targets in the VNF domain. Redirection Target Type must be NSG-VNF.
Two redirection targets are required for each bookended VNF, one with the untrusted VPort (WAN)
and the other with the trusted VPort (LAN). Navigate to Platform Configuration -> Applications ->
Layer 3 Domains -> Policies -> Redirection Targets.
Step 2 Define the Ingress and Egress Forwarding Policies. Navigate to Platform Configuration -> Appli-
cations -> Layer 3 Domains -> Policies -> <Policy Type>. An Ingress and Egress policy must be
defined for each bookended VNF, for a total of four policies.
Step 3 Define Advanced Forwarding Rules by selecting an Ingress or Egress Forwarding Policy and
selecting or . The number of Advanced Forwarding Rules required depends on the use-case.
Specify the following:
This section describes the specific configuration tasks required for using the WAN-Optimization feature with Ipanema.
Perform these tasks after performing the provisioning tasks in the previous section.
The partition configuration for the NSG is specified by the XML blob. You can perform the following commands on
the NSG to verify the configuration.
Step 1 As the root user, execute the lvdisplay command. The output should resemble the following:
Step 2 As the nuage user, execute the mount | grep nsg command. The output should be the fol-
lowing:
The Ipanema DWS feature interferes with the WAN-Optimization feature and must be disabled. Perform the following
steps in the Ipanema interface:
Step 1 In Domain Configuration, navigate to System Provisioning -> Tools.
Step 2 Select the Advanced configuration tab and click Edit.
Step 3 Add the following line to the end:
obps_max_nap_vlans = 0
reboot
where
VSD_VIP is the virtual IP dynamically assigned by the VSD
GW_VIP is the virtual gateway IP dynamically assigned by the VSD
mgmt_IP is the VNF management IP
mgmt_evpn_gw_IP is the management IP of the EVPN gateway
The Ipanema provisioning steps require several IP addresses. The following steps describe where they can be found
in the VSD.
Step 1 Main public IP address used in appliance configuration:
1. In the VSD, navigate to Networks -> Design view and select the required L3 domain for the
NSG.
Perform the following steps in the Ipanema SALSA interface. See Viewing the required IP addresses in VSD (page 609)
for information about how to find the values for the main and auxiliary public/private IPs.
Step 1 Navigate to System provisioning -> Appliances and define two sites as appliances. Name values
are examples only.
In main:
• Site name: SITE_A
• Name: VIPE_1
• Main public and private IP address: the IP address of management VNF interface (enter the same IP for both)
• Auxiliary public and private IP address: the IP address of the VM VIP for the NSG (enter the same IP for both)
• Auto-reporting: Enabled
• Reversed: Enabled
In Services:
• Application Control: Enabled
• Compression: Enabled
Repeat this step for SITE_B / VIPE_2.
Step 2 Navigate to System provisioning -> Topology subnets and define 4 topology subnets. Associate
two subnets with each site. See the following example configuration:
Subnet 1:
• Name: 2_1_1_0
• Network prefix: 2.1.1.0
• Prefix length: 24
• Associated site: SITE_A
Subnet 2:
• Name: 2_1_2_0
• Network prefix: 2.1.2.0
• Prefix length: 24
• Associated site: SITE_A
Subnet 3:
• Name: 2_2_1_1
• Network prefix: 2.2.1.1
• Prefix length: 24
• Associated site: SITE_B
Subnet 4:
• Name: 2_2_2_0
• Network prefix: 2.2.2.0
• Prefix length: 24
• Associated site: SITE_B
Step 3 Navigate to System provisioning -> WAN and define a second MPLS WAN. In the example
configurations shown in this procedure, “MPLS2” is used.
Step 4 Navigate to System provisioning -> WAN access and define WAN access. Name values used are
examples.
WAN access 1:
• Name: MyMPLS
• WAN: MPLS
• All ingress/egress B/W: 10,000
WAN access 2:
• Name: MyMPLS2
• WAN: MPLS2
• All ingress/egress B/W: 10,000
Step 5 Navigate to System provisioning -> Appliances and open the appliances created in step 1 for
modification. Attach the WAN access objects created in step 4 to the appliances. Specify the fol-
lowing in WAN Selection Configuration:
• WAN Selection: CPE
• Attach MyMPLS and MyMPLS2 and set the CPE to the IP addresses for the virtual gateways
(see step 3 in Viewing the required IP addresses in VSD (page 609)).
Step 6 Navigate to System provisioning -> Time synchronization and set Time server directory and
Synchronization server directory to:
VIPE_2 ->-> VIPE_1
Application group provisioning allows you to specify the types of traffic that should be routed to a specific WAN
access point. Compression must be enabled.
Step 1 Navigate to Application provisioning -> Application groups and define an application group.
Specify the following:
In main:
• Name: specify a value
• Compress: enabled
In the Dictionary filters tab, move the traffic type to the right-hand window (for example, ICMP or TCP).
In the Dynamic WAN Selection tab:
• Return path: Default
• Decision Level: Per packet
• Last resort: Forward
• For Primary WAN, move the desired WAN access (in the example, either MPLS or MPLS2) to the right-hand
window.
Step 2 Repeat for all required traffic types.
Enable compression
Verify compression
Step 1 After enabling compression, go to the Dashboard view and verify that under “Appliance”, the
Compression indicator is green.
Step 2 Under Dashboard -> Flows, verify that LAN to WAN traffic is being compressed on the WAN
side for traffic types corresponding to the configured application groups.
9.1.8 Troubleshooting
ARP broadcast packets are forwarded on the VNF VPorts. Therefore, when traffic is sent after the VNF is brought up,
the ARP for the gateway sent by the VPort is sent to VNF VPorts, and the result is a broadcast storm and CPU cycle
consumption. These broadcast packets will also utilize bandwidth of the ports that are part of the subnet on which
VNF Vports are present. To avoid these issues, do one of the following:
Error States
During VNF onboarding and operations, errors may be reported in various action contexts. The following table
provides a list of the potential errors that a user may see, the associated context in which the error is seen, and the
potential action a user may take to remediate the situation.
<?xml version="1.0"?>
<domain type="kvm">
<metadata>
<nuage-vnf-metadata>
<image-uri>http://10.10.110.10/fortios.qcow2</image-uri>
<image-md5-checksum>2602fd0c79dd1a69c14b0b46121c875e</image-md5-checksum>
<iso-uri>http://10.10.110.10/boot.iso</iso-uri>
<iso-md5-checksum>4491de582d42b95d46a84ea7dc4718d1</iso-md5-checksum>
</nuage-vnf-metadata>
</metadata>
<uuid>$VNF_UUID</uuid>
<memory unit="MiB">$VNF_MEMORY</memory>
<name>$VNF_NAME</name>
<vcpu placement="static">$VNF_VCPU</vcpu>
<os>
<type arch="x86_64" machine="pc-i440fx-rhel7.0.0">hvm</type>
<boot dev="hd"/>
<boot dev="cdrom"/>
<bootmenu enable="yes" timeout="3000"/>
</os>
<features>
<acpi/>
<apic/>
</features>
<devices>
<disk device="disk" type="file">
<driver cache="none" name="qemu" type="qcow2"/>
<source file="${VNF_IMAGE_LOCATION}"/>
<target dev="sda" bus="virtio"/>
</disk>
<disk device="cdrom" type="file">
<driver name="qemu" type="raw"/>
<source file="${VNF_ISO_LOCATION}"/>
<target bus="ide" dev="hdc"/>
<readonly/>
</disk>
<console type="pty" tty="/dev/pts/2">
<source path="/dev/pts/2"/>
<target type="serial" port="0"/>
<alias name="serial0"/>
</console>
</devices>
</domain>
<domain type="kvm">
<metadata>
<nuage-vnf-metadata>
<image-uri>http://10.10.110.10/ipanema.qcow2</image-uri>
<image-md5-checksum>1ec90e423eeeb1ad3c78671a1222db49</image-md5-checksum>
<iso-uri>http://10.10.110.10/ipanema.iso</iso-uri>
<iso-md5-checksum>d41d8cd98f00b204e9800998ecf8427e</iso-md5-checksum>
</nuage-vnf-metadata>
</metadata>
<uuid>$VNF_UUID</uuid>
<memory unit="MiB">$VNF_MEMORY</memory>
<os>
<type arch="x86_64" machine="pc">hvm</type>
<boot dev="hd"/>
<boot dev="cdrom"/>
<bootmenu enable="yes" timeout="3000"/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type="file" device="disk">
<driver name="qemu" type="qcow2" cache="none"/>
<target dev="sda" bus="ide"/>
<source file="${VNF_IMAGE_LOCATION}"/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<target dev="hdc" bus="ide"/>
<readonly/>
<source file="${VNF_ISO_LOCATION}"/>
</disk>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none"/>
<source dev="/dev/disk/by-label/WANDISK"/>
<target dev="vda" bus="virtio"/>
<alias name="virtio-disk0"/>
</disk>
<console type="pty" tty="/dev/pts/1">
<source path="/dev/pts/1"/>
<target type="serial" port="0"/>
<alias name="serial0"/>
</console>
</devices>
<name>$VNF_UUID</name>
<title>$VNF_NAME</title>
<vcpu placement="static">$VNF_VCPU</vcpu>
</domain>
9.1.10 CLIs
9.2.1 Overview
The WiFi interface is a new type of Access Port on the NSG. A service provider or enterprise can deploy WiFi-enabled
NSGs in branch locations to provide Access Point (AP) capabilities. VNS enables integrated management of the WiFi
AP and UE policy enforcement from the VSD.
In the current release, the supported AP is an NSG-E variant with:
• Mini PCIe WiFi Module:
– IG Qualcomm Atheros QCA9892-BR4B
– 2T2R / Wave 1 / Data rate up to 867Mbps
• Dual band support (2.4 or 5 GHz) (11b/g/n/ac). AP can work in either band but not both.
• Standard wireless security: WEP, WPA, WPA2, WPS
• Antenna options: Dual Band, Omni-Directional, External / Detachable
The WiFi feature supports:
• A maximum of 8 SSIDs per card.
• Public SSIDs
– Open or Pre-Shared Key (WPA/WPA2 for each SSID)
– Internal captive portal support to display Corporate Use Policy to connecting users
• Private SSIDs
– Pre-Shared Key (WPA/WPA2 for each SSID)
– L2/MAC Authentication
• Whitelist and Blacklist for UEs
• Sticky IP to allow same IP address for same MAC (e.g. for wireless printers)
Note: The WiFi interface is not required for bootstrapping. The configuration information is sent as part of the infra
configuration during bootstrapping or as a result of reload configuration post-bootstrapping. When an NSG is starting
up, the OS will detect the installed WiFi module and load the appropriate CentOS 64 compatible drivers. The WiFi
interface will not be usable until the VSD configuration is received.
The CSPRoot or Enterprise/Organization Administrator provisions at the NSG instance level since WiFi attributes are
locally unique.
Step 1 From the Infrastructure view, navigate to the WiFi-capable NSG instance.
Step 2 In the NS Ports panel, select the WiFi Port icon at the bottom of the panel.
Step 3 In the New WiFi Port popup, enter a Name. (The physical name for the first created port is wlan0
and that physical name is read-only.) After completing configuration in the popup, the port will be
listed in the NS Ports panel as shown in the screenshot below captioned “Ports on NSG”. When the
WiFiPort is created, a default SSID connection is auto-created with default attributes.
Step 4 Enter a Description (optional). The Type is Access.
Step 5 In the Basic tab, enter WiFi Frequency Band, which must be in compliance with the regulations
of the country selected in the next step.
Step 6 To select the country, click the down arrow on the right of the Country field to display the list of
countries, and do any of the following:
• Select a country and hit Enter.
• To reduce the available options, start entering the country name, then hit Enter, select the coun-
try, and hit Enter again.
• Enter the country code instead of the country name, e.g., JP, US, CA, or GB and hit Enter.
Step 7 The country selection made in the previous step determines the selections available for Mode
and Frequency Channel. Choose the appropriate settings for these parameters, which must be in
compliance with the selected country’s regulations. If you make selections that are not supported,
an error message appears:
Step 8 In the Advanced tab, enter any additional custom properties. Click Create and the new WiFi port
appears in the list of NS Ports, as shown below in the screenshot captioned “Ports on NSG.”
A Captive Portal Profile is required if the Captive Portal authentication mode is selected for an SSID connection (see
the Edit/Create SSID Connection (page 621) procedure below).
Step 1 In the Infrastructure view, from NSGs, navigate to Captive Portal Profiles and click the plus icon
to create a new profile.
Step 2 Enter Name and optionally, Description. The Portal Type is Clickthrough.
Step 3 In the Captive Page field, enter the text of the organization’s Network Access Agreement (see
End User Workflow (page 624) below for a screenshot of an example agreement). No formatting is
necessary; however, basic HTML tagging such as bullet lists and bold and italic text is permissible
(as shown in the screenshot below, captioned “Captive Portal Profile With Page Content”). The
system will insert the text entered in this field into an HTML template. Images cannot be included
because security rules should prevent them from being called.
To see the end-user’s view of this text, click Preview. To complete the profile, click Create. The
new profile appears in the list of Captive Portal Profiles.
Step 1 Select the WiFi Port created in the Create WiFi Interface (page 617) procedure above. The SSID
panel appears to the right of the list of ports.
Step 2 Listed in the SSID panel is the first SSID, which is automatically created and has the default name
Nuage_Admin and an auto-generated passphrase. Nuage recommends that the name and password
of the default SSID be changed in accordance with your organization’s/enterprise’s policies.
• The default SSID may be edited but it cannot be deleted.
• By default, broadcast on this default SSID is disabled and we recommend that it remain so.
• VPorts are not supported on this interface.
• Up to seven additional SSIDs may be created. These additional SSIDs are virtual interfaces.
Step 3 To create a new SSID connection, in the SSID panel click the plus icon, and enter Name and
optionally, Description.
Step 4 Enable broadcast mode using the Broadcast SSID Enabled flag.
Step 5 On the Basic tab, specify Authentication Mode and Passphrase. Attributes on the Basic tab take
precedence if the same attributes are also included on the Advanced tab. For Authentication Mode,
the choices are:
• Open WiFi: For this authentication mode, Nuage recommends that:
– a separate subnet be configured
– PAT to underlay be enabled.
– Appropriate ACLs be defined so as not to block overlay connectivity. Any change to the
SSID is service-impacting to the UEs connected to the SSID.
• WEP: For this authentication mode, all related attributes must be specified on the Advanced
tab.
• WPA
• WPA2
• WPA/WPA2 Mixed Mode
• Captive Portal: For this authentication mode, a Captive Portal Profile must be linked to the
SSID connection. (Instructions for creating this profile are in Create Captive Portal Profile
(page 619).) The mandatory Redirect Option parameter required by the Captive Portal authen-
tication mode can be either:
– Original Request: Select this to allow the end-user to access the URL he or she requested
before connecting to the SSID and the network access agreement was displayed, or
– Configure URL: Select this to have end-users redirected after they have accepted the terms
of the network access agreement. Enter the URL to which they are redirected in the Redi-
rect URL field, as shown below in the screenshot captioned “New URL for Captive Portal
Profile.”
Step 6 On the Advanced tab, specify custom properties in the Generic Config field as a key=value pair.
Include on the Advanced tab those attributes that are not essential for beaconing (e.g. QoS, traffic
parameters). These will be pushed as a blob to the NSG. Examples: wpa_key_mgmt=WPA-PSK,
rsn_pairwise=CCMP.
Step 7 On the White/Black Listed Clients tab specify a list of MAC Addresses for white/black listing.
Note: Blob attributes must be re-entered when NSG software is upgraded. The attributes will not
be retained across upgrades.
Step 1 Navigate to a Domain -> Zone -> Subnet and attach a Bridge/Host vPort. Enter the following
information:
• For Network Services Gateways, select a WiFi-enabled NSG
• Select Interface Type as WiFi Interface
• For Port, select the WiFiPort
• For SSID, select an SSID
Step 2 Create a Bridge/Host vPort for each SSID (except for the default SSID).
Using the addresses in the DHCP Pool, the NSG will be able to service requests from the UEs and allocate a unique
IP addresses to all such host requests.
Step 1 Navigate to the Domain -> Zone -> Subnet for which the DHCP Address Pool is to be defined.
Step 2 Click on the icon on the far right. Add a new address range or edit an existing one.
Step 3 In the popup, specify Address Range by entering the First Address and the Last Address. In
addition, set DHCP Pool Type as Bridge or Host.
Note:
• If DHCP pool is exhausted, then a new client will get authenticated but will not get an IP
address.
• There is a default Inactivity Period of 15 mins, which is used to remove a UE if there is no
communication with an AP for that duration. Since the DHCP server will not release the IP until
lease expiry, the NSG will poll the connected MAC addresses every 15 minutes and release IPs
associated with unconnected MACs.
A DNS server may also be optionally configured using the available VSD configuration workflow.
The end-user will connect to an SSID by selecting “Captive Portal”. The Network Access Agreement is displayed in
a browser window titled “WiFi Captive Portal” on the end-user’s device. The end-user must click the Accept button in
order to be authenticated, after which the device will be able to access network services.
9.2.3 AP Management
Note: If an NSG is rebooted, UEs will reconnect when the NSG comes back up.
9.2.4 Statistics
If Stats have been enabled on the VSD, WiFi statistics are available at the Enterprise/Organization level, and accessed
as follows:
Step 1 Navigate to Infrastructure -> NSG -> WiFi port and select the statistics icon . This opens a
new browser window for statistics visualization.
Step 2 Copy the ES Cluster Proxy Address from the Statistics section of the Platform System Configu-
ration (Settings -> System Configuration ).
Step 3 Paste the address:port number (6200) in another browser window and add the security exception
for certificates.
Step 4 Navigate back to the visualization window, and refresh it to view the WiFi statistics.
The graphic displays the number of Active SSIDs and Active Clients for the selected time interval,
and a list of the user end-points connected to the SSID. A user (identified by the MAC) may have
connected to an SSID multiple times and may have been assigned a different IP address each time.
# nuage-nsg-wifi get-ssids
Interface wlan0.2
ifindex 48
wdev 0x6
addr 00:0e:8e:59:8e:fd
ssid mvnsgwifi01_1_2
type AP
channel 2 (2417 MHz), width: 20 MHz, center1: 2417 MHz
Interface wlan0.3
ifindex 47
wdev 0x5
addr 00:0e:8e:59:8e:fe
ssid mvnsgwifi01_1_3
type AP
channel 2 (2417 MHz), width: 20 MHz, center1: 2417 MHz
Interface wlan0.1
ifindex 45
wdev 0x3
addr 00:0e:8e:59:8e:fc
ssid mvnsgwifi01_1_1
type AP
channel 2 (2417 MHz), width: 20 MHz, center1: 2417 MHz
Interface wlan0
ifindex 8
wdev 0x1
addr 00:0e:8e:59:8e:fb
ssid Nuage_Admin
type AP
channel 2 (2417 MHz), width: 20 MHz, center1: 2417 MHz
# nuage-nsg-wifi show-ports
Name: Host VPort bdce0bb7 UUID: 8fbf3336-bc23-4f05-bc5f-af3041dc6187
port-UUID: 8fbf3336-bc23-4f05-bc5f-af3041dc6187 Name: wlan0.2 MAC: b8:27:eb:
˓→5c:2e:38
FIP rate: 4294967295 kbit/s FIP peak: 4294967295 kbit/s FIP burst:
˓→4294967295 kB
FIP Egress rate: 4294967295 kbit/s FIP Egress peak: 4294967295 kbit/s
˓→ FIP Egress burst: 4294967295 kB
Trusted: false Rewrite: false
RX packets:105 errors:0 dropped:0 rl_dropped:0
TX packets:306 errors:0 dropped:0
RX bytes:28620 TX bytes:58974
anti-spoof: Disabled
policy group tags: 0x19c9 0x297d 0x5000 0x4000
policy group domain_id: 0xa1068
route_id: 0x62
class_id: 16(0x10)
FIP rate: 4294967295 kbit/s FIP peak: 4294967295 kbit/s FIP burst:
˓→4294967295 kB
FIP Egress rate: 4294967295 kbit/s FIP Egress peak: 4294967295 kbit/s
˓→ FIP Egress burst: 4294967295 kB
Trusted: false Rewrite: false
RX packets:28714 errors:0 dropped:0 rl_dropped:0
TX packets:29600 errors:0 dropped:0
RX bytes:2767185 TX bytes:6195167
anti-spoof: Disabled
policy group tags: 0x19c9 0x297d 0x5000 0x4000
policy group domain_id: 0xa1068
route_id: 0xa
class_id: 13(0xd)
FIP rate: 4294967295 kbit/s FIP peak: 4294967295 kbit/s FIP burst:
˓→4294967295 kB
FIP Egress rate: 4294967295 kbit/s FIP Egress peak: 4294967295 kbit/s
˓→ FIP Egress burst: 4294967295 kB
Trusted: false Rewr ite: false
RX packets:235 error s:0 dropped:0 rl_dropped:0
TX packets:295 error s:0 dropped:0
RX bytes:29493 TX bytes:4266 2
anti-spoof: Disabled
policy group tags: 0 x19c9 0x297d 0x5000 0x4000
policy group domain_id: 0xa1068
route_id: 0x6d
class_id: 15(0xf)
TEN
RESOURCES
629
VNS User Guide, Release 5.3.2
10.1.1 Overview
This chapter describes the tools commands that can be executed from the VSC for monitoring and troubleshooting.
The commands are classified as show, debug and configure.
When a command is executed for a specific function, all the retrieved information is displayed. The options can be
utilized to filter the results (using data or service filters) or specify the output format (text, json or xml).
• Service filters: evpnid (-e) and vrfid (-d)
• Data Filters: ipaddr (-ip) , interface (-i), macaddr (-m), portname (-n) and vcid (-v)
Note: For readability, most of the examples in this chapter display only a representative sample output and not the
full set of retrieved information.
The output format options are supported for most functions except for the Linux based commands, which only support
text. The examples show JSON output for commands that support the format or text (which is the default output
format).
Help
The help argument can be used to list all the Show functions.
Example:
optional arguments:
-h, --help show this help message and exit
FUNCTION:
For the specific FUNCTION options use 'show FUNCTION -h'
{of-status,agent-version,agent-status,bridge-flows,service-flows,service-
˓→details,service-mac- table,fib,ports,port-stats,host-ports,host-port-stats,bridge-
˓→ports,bridge-port-stats,service-subnets,service-domains,datapath-flows,datapath-
˓→ports,tunnel-info,acl,system-info,qos,port-status,system-connections,ntpq,ip-
˓→table,ip-table-nat,routing-table}
service-details List the service specific details like ports,acl and based on
˓→ovs-appctl host/port-show, bridge/port-showbridge/acl-able, evpn/mac-table
service-mac-table Displays the MAC table for the serv ice(s) and based on ovs-
˓→appctl evpn/mac-table
ports List all the bridge and host ports of the service(s) and based
˓→on ovs-appctl host/port-show, bridge/port-show
port-stats List all the bridge and host port stats of the service(s) and
˓→based on ovs-appctl host/port-show,bridge/port-show
host-ports List all host ports of the service(s) and based on ovs-appctl
˓→host/port-show
host-port-stats List all the host port stats of the service(s) and based on ovs-
˓→appctl host/port-show
bridge-ports List all the bridge ports of the service(s) and based on ovs-
˓→appctl bridge/port-show
bridge-port-stats List all the bridge port stats of the service(s) and based on
˓→ovs-appctl bridge/port-show
service-domains Display the service domains details and based on ovs-appctl vrf/
˓→show
datapath-flows List all the datapath dumpflows and based on ovs-dpctl dump-
˓→flows
datapath-ports List all the datapath ports and based on ovs-appctl dpif/show
tunnel-info List tunnel info(s) and based on ovs-ofctl dump-ports,ovs-
˓→appctl evpn/mac-table
acl List all the acl of the service(s) and based on ovs-appctl
˓→bridge/acl-table
OF-Status
Example
Agent-Version
Agent-Status
Bridge-Flows
Example
},
{
"priority":"0",
"n_packets":"731682",
"n_bytes":"161913708",
"duration":"5569s",
"table_id":"4",
"cookie":"0x2ff",
"nw_dst":"",
"nw_src":"",
"actions":"resubmit(,7)"
}
]
Service-Flows
"evpn_id":"0x4e23",
"n_bytes":"0",
"duration":"516s",
"table_id":"11",
"vrf_id":"0x4e21",
"actions":"FLOOD"
}
],
"nw_dst":{
"10.39.76.2":{
"arp_routes":[
{
"priority":"32802",
"n_packets":"0",
"cookie":"0xc",
"evpn_id":"0x4e23",
"n_bytes":"0",
"duration":"515s",
"table_id":"12",
"vrf_id":"0x4e21",
"nw_dst":"10.39.76.2",
"actions":[
"resubmit(,11)",
{
"mod_dl_src":"68:54:ed:00:00:02",
"mod_dl_dst":"18:19:ab:b5:46:01"
}
]
}
],
"vrf_routes":[
{
"priority":"32802",
"n_packets":"0",
"cookie":"0xc",
"n_bytes":"0",
"duration":"515s",
"table_id":"13",
"vrf_id":"0x4e21",
"nw_dst":"10.39.76.2",
"actions":[
"resubmit(,12)",
"dec_ttl",
{
"set_evpn_id":"0x4e23"
}
]
}
]
},
"10.39.76.3":{
"arp_routes":[
{
"priority":"32802",
"n_packets":"0",
"cookie":"0xc",
"evpn_id":"0x4e23",
"n_bytes":"0",
"duration":"516s",
"table_id":"12",
"vrf_id":"0x4e21",
"nw_dst":"10.39.76.3",
"actions":[
"resubmit(,11)",
{
"mod_dl_src":"68:54:ed:00:00:02",
"mod_dl_dst":"18:cd:5c:b5:46:02"
}
]
}
],
"vrf_routes":[
{
"priority":"32802",
"n_packets":"0",
"cookie":"0xc",
"n_bytes":"0",
"duration":"516s",
"table_id":"13",
"vrf_id":"0x4e21",
"nw_dst":"10.39.76.3",
"actions":[
"resubmit(,12)",
"dec_ttl",
{
"set_evpn_id":"0x4e23"
}
]
}
]
}
}
},
}
}
}
}
Service-Details
{
"PORT_INFO":{
"vm-ports":[
{
"PORT TYPE":"VM",
"UUID":"1e679983-68e5-4b55-94a4-118791fcc60a",
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"DISPLAY NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"VRF ID":"20001",
"EVPN ID":"20002",
"GATEWAY":"10.31.122.1"
}
],
"bridge-ports":[
{
"PORT TYPE":"Bridge",
"UUID":"ef80a514-04f3-4598-9465-38ebc70b4940",
"PORT ID":"9",
"PORT NAME":"eth1.105",
"DISPLAY NAME":"Bridge-210-eth1-105",
"MAC":"00:00:00:00:00:00",
"IP":"",
"VRF ID":"20001",
"EVPN ID":"20003",
"GATEWAY":""
}
],
"host-ports":[
{
"PORT TYPE":"Host",
"UUID":"5642ef12-f9db-46a0-ab05-50da399747bc",
"PORT ID":"6",
"PORT NAME":"eth1.102",
"DISPLAY NAME":"HOST-210-eth1-102",
"MAC":"1a:1a:1d:1d:1d:1d",
"IP":"0.0.0.0",
"VRF ID":"0",
"EVPN ID":"20021",
"GATEWAY":"0.0.0.0"
}
]
},
"TUNNEL_INFO":[
{
"tunnel id":"10001",
"Mac":[
"18:19:aa:b5:46:01"
],
"port_id":"1495",
"VM Port name":{
"type":"Vxlan",
"key(VC_ID)":"10001",
"NH_IP":"10.10.10.3"
}
}
],
"VRF_LIST":{
"20001":{
"EVPN_LIST":{
"20003":{
"gw":"10.39.76.1",
"vni_id":"0x2712",
"subnet":"10.39.76.0",
"mask":"255.255.255.0",
"evpn_dhcp_enabled":"DISABLED",
"evpn_id":"20003",
"ref_cnt":"3",
"ltep_port":"1493",
"evpn_arp_proxy":"DISABLED",
"cookie":"36175872",
"gen_id":"0xc",
"aging_period":"300",
"mac_count":"2",
"gw_mac":"68:54:ed:00:00:02",
"mode":"L3_MODE"
}
}
}
},
"PORT_ACL_LIST":{
"ingress":[
{
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"ACL RULES":{
"priority":"0",
"in_port":"1458",
"actions":"acl_allow"
}
}
],
"egress":[
{
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"ACL RULES":[
"ip",
{
"priority":"4",
"nw_src":"10.31.122.0/24",
"in_port":"1458",
"actions":"acl_allow"
}
]
}
],
"ingress-advanced":[
{
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"ACL RULES":{
"priority":"0",
"in_port":"1458",
"actions":"acl_allow"
}
}
]
}
}
Service-MAC-Table
{
"VRF_LIST":{
"20001":{
"EVPN_LIST":{
"20003":{
"evpn_data":{
"gw":"10.39.76.1",
"vni_id":"0x2712",
"subnet":"10.39.76.0",
"mask":"255.255.255.0",
"evpn_dhcp_enabled":"DISABLED",
"evpn_id":"20003",
"ref_cnt":"3",
"ltep_port":"1493",
"evpn_arp_proxy":"DISABLED",
"cookie":"36175872",
"gen_id":"0xc",
"aging_period":"300",
"mac_count":"2",
"gw_mac":"68:54:ed:00:00:02",
"mode":"L3_MODE"
},
"mac_table":[
{
"18:cd:5c:b5:46:02":{
"Mac":"18:cd:5c:b5:46:02",
"Port":"1463",
"Duration":"389s",
"Expiry":"0s",
"Cookie":"0xc",
"Pkt Count":"0",
"Pkt Bytes":"0",
"VM Port name":"118-vm2 (118-vm2)"
}
}
]
}
}
}
}
}
FIB
"VRF ID":"20001",
"EVPN ID":"20003",
"IP":"10.39.76.3",
"MAC":"18:cd:5c:b5:46:02",
"PORT":"1463",
"PORT NAME":"118-vm2 (118-vm2)"
},
]
Ports
{
"vm-ports":[
{
"PORT TYPE":"VM",
"UUID":"1e679983-68e5-4b55-94a4-118791fcc60a",
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"DISPLAY NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"VRF ID":"20001",
"EVPN ID":"20002",
"GATEWAY":"10.31.122.1"
}
],
"bridge-ports":[
{
"PORT TYPE":"Bridge",
"UUID":"ef80a514-04f3-4598-9465-38ebc70b4940",
"PORT ID":"9",
"PORT NAME":"eth1.105",
"DISPLAY NAME":"Bridge-210-eth1-105",
"MAC":"00:00:00:00:00:00",
"IP":"",
"VRF ID":"20001",
"EVPN ID":"20003",
"GATEWAY":""
}
],
"host-ports":[
{
"PORT TYPE":"Host",
"UUID":"5642ef12-f9db-46a0-ab05-50da399747bc",
"PORT ID":"6",
"PORT NAME":"eth1.102",
"DISPLAY NAME":"HOST-210-eth1-102",
"MAC":"1a:1a:1d:1d:1d:1d",
"IP":"0.0.0.0",
"VRF ID":"0",
"EVPN ID":"20021",
"GATEWAY":"0.0.0.0"
}
]
}
Port-Stats
"PORT NAME":"eth2.201",
"MAC":"00:00:00:00:00:00",
"Rx Pkts":"0",
"Rx Bytes":"0",
"Rx Drop":"0",
"Rx Errs":"0",
"Rx frame":"0",
"Rx Over":"0",
"Rx CRC":"0",
"Tx Pkts":"0",
"Tx Bytes":"0",
"Tx Drop":"0",
"Tx Errs":"0",
"Tx coll":"0"
}
]
Service-Subnets
{
"EVPN_LIST":{
"20003":{
"evpn_data":{
"gw":"10.100.10.1",
"mac_count":"0",
"subnet":"10.100.10.0",
"ref_cnt":"2",
"dhcp_relay":"DISABLED",
"cookie":"640155648",
"gw_mac":"68:54:ed:00:00:01",
"gen_id":"0x2",
"vni_id":"0x2",
"arp_proxy":"DISABLED",
"mask":"255.255.255.0",
"evpn_id":"20003",
"dhcp_enabled":"ENABLED",
"ltep_port":"10",
"mode":"L3_MODE",
"aging_period":"300"
},
"table_data":[
{
"PORT NAME":"eth1.105",
"PORT ID":"9",
"Ref Count":"14",
"Flood":"yes",
"IP":"0.0.0.0",
"SUBNET":"255.255.255.0",
"Gateway":"10.100.10.1"
},
{
"PORT NAME":"ltep-2",
"PORT ID":"10",
"Ref Count":"0",
"Flood":"no",
"IP":"",
"SUBNET":"",
"Gateway":""
}
]
}
}
}
Service-Domains
{
"VRF_LIST":{
"20001":{
"vrf_data":{
"ref_cnt":"2",
"gen_id":"0xc",
"ltep_port":"1491",
"mvpn_id":"0x4801",
"evpn-list":"20002 20003",
"vrf_id":"0x4e21"
},
"table_data":[
{
"PORT NAME":"taaa34801",
"PORT ID":"1494",
"Ref Count":"4",
"Flood":"no",
"IP":"",
"SUBNET":"",
"Gateway":""
},
{
"PORT NAME":"ltep-4801",
"PORT ID":"1491",
"Ref Count":"0",
"Flood":"no",
"IP":"",
"SUBNET":"",
"Gateway":""
}
]
}
}
}
Datapath-Flows
[
{
"IN PORT":"1496",
"OUT PORT":"1463",
"IPv4 ":{
"frag":"no",
"src":"10.31.122.2",
"ttl":"63",
"tos":"0",
"dst":"10.39.76.3",
"proto":"1"
},
"ETH":{
"src":"68:54:ed:00:00:02",
"dst":"18:cd:5c:b5:46:02"
},
"ETH TYPE":"0x0800",
"SET":{
"outer_tos":"0"
}
}
]
Datapath-Ports
{
"alubr0":[
{
"NAME":"alubr0 65534/2",
"TYPE":" (internal)"
},
{
"NAME":"svc-pat-tap 1/1",
"TYPE":" (internal)"
},
{
"NAME":"svc-rl-tap1 2/3",
"TYPE":" (system)"
},
{
"NAME":"svc-rl-tap2 3/4",
"TYPE":" (system)"
}
]
}
Tunnel-Info
[
{
"TUNNEL ID":"10001",
"PORT ID":"1495",
"PORT NAME":{
"type":"Vxlan",
"key(VC_ID)":"10001",
"NH_IP":"10.10.10.3"
},
"MAC":[
"18:19:aa:b5:46:01"
],
"Rx Pkts":"0",
"Rx Bytes":"0",
"Rx Drop":"0",
"Rx Errs":"0",
"Rx frame":"0",
"Rx Over":"0",
"Rx CRC":"0",
"Tx Pkts":"0",
"Tx Bytes":"0",
"Tx Drop":"0",
"Tx Errs":"0",
"Tx coll":"0"
}
]
ACL
{
"ingress":[
{
"PORT ID":"1463",
"PORT NAME":"118-vm2",
"MAC":"18:cd:5c:b5:46:02",
"IP":"10.39.76.3",
"ACL RULES":[
"arp",
{
"priority":"1",
"in_port":"1463",
"actions":"acl_allow"
}
]
},
{
"PORT ID":"1463",
"PORT NAME":"118-vm2",
"MAC":"18:cd:5c:b5:46:02",
"IP":"10.39.76.3",
"ACL RULES":[
"ip",
{
"priority":"2",
"in_port":"1463",
"actions":"acl_allow"
}
]
}
],
"egress":[
{
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"ACL RULES":[
"ip",
{
"priority":"4",
"nw_src":"10.31.122.0/24",
"in_port":"1458",
"actions":"acl_allow"
}
]
},
{
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"ACL RULES":[
"ip",
{
"priority":"3",
"nw_src":"10.39.76.0/24",
"in_port":"1458",
"actions":"acl_allow"
}
]
}
],
"ingress-advanced":[
{
"PORT ID":"1458",
"PORT NAME":"118-vm7",
"MAC":"18:cd:5c:b5:46:07",
"IP":"10.31.122.3",
"ACL RULES":{
"priority":"0",
"in_port":"1458",
"actions":"acl_allow"
}
},
{
"PORT ID":"1463",
"PORT NAME":"118-vm2",
"MAC":"18:cd:5c:b5:46:02",
"IP":"10.39.76.3",
"ACL RULES":{
"priority":"0",
"in_port":"1463",
"actions":"acl_allow"
}
}
]
}
System-Info
top - 13:20:16 up 18 days, 21:31, 4 users, load average: 0.14, 0.05, 0.05
Tasks: 232 total, 1 running, 231 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 32755200 total, 2613356 used, 30141844 free, 884 buffers
KiB Swap: 16523260 total, 0 used, 16523260 free. 1646724 cached Mem
QoS
Port-Status
System-Connections
ss
Output Text
Example
NTPQ
IP-Table
IP-Table-NAT
Routing-Table
Help
The help argument can be used to list all the Debug functions.
Example:
optional arguments:
-h, --help show this help message and exit
FUNCTION:
For the specific FUNCTION options use 'debug FUNCTION -h'
{tcpdump,ethtool,dig}
Tcpdump
tcpdump: listening on port2, link-type EN10MB (Ethernet), capture size 65535 bytes
22:54:52.768679 IP (tos 0x0, ttl 64, id 23941, offset 0, flags [DF], proto TCP (6),
˓→length 244)
(incorrect -> 0x042c), seq 921194524:921194716, ack 2901986776, win 331, options
˓→[nop,nop,TS val
(correct), ack 192, win 8005, options [nop,nop,TS val 5708295 ecr 2695024815], length
˓→0
22:54:53.210682 IP (tos 0xc0, ttl 1, id 55413, offset 0, flags [none], proto OSPF
˓→(89), length 64 )
........
......
nsg-131- 108-32-177.58637 > 50-10-10-2.gar.clearwire-wmx.net.7407: Flags [P.], cksum
˓→0x5b0a
(incorrect -> 0xa6c0), seq 229711:229916, ack 71, win 331, options [nop,nop,TS val
˓→2695031 006 ecr
50 packets captured
64 packets received by filter
0 packets dropped by kernel
Ethtool
Dig
Syntax dig
Options No filters
Description DNS lookup utility
Linux Command Context
dig <FQDN>
Output Text
Example
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.com. IN A
Help
The help argument can be used to list all the Show functions.
Example:
optional arguments:
-h, --help show this help message and exit
FUNCTION:
For the specific FUNCTION options use 'configure FUNCTION -h'
{port-up,port-down,reboot,shutdown}
port-up Executes linux command 'ip link set dev <interface> up'. By default it
˓→will use 'port1' as interface
port-down Executes linux command 'ip link set dev <interface> down'. By default it
˓→will use 'port1' as interface
Port-Up
Port-Down
Reboot
Shutdown