Download full document:

nspbr

Configuration for Policy Based Routing(PBR) entry resource.

Properties

(click to see Operations)

Name Data Type PermissionsDescription
name<String>Read-writeName for the PBR. Must begin with an ASCII alphabetic or underscore \\(_\\) character, and must contain only ASCII alphanumeric, underscore, hash \\(\\#\\), period \\(.\\), space, colon \\(:\\), at \\(@\\), equals \\(=\\), and hyphen \\(-\\) characters. Cannot be changed after the PBR is created.<br>Minimum length = 1
action<String>Read-writeAction to perform on the outgoing IPv4 packets that match the PBR. Available settings function as follows: * ALLOW - The NetScaler appliance sends the packet to the designated next-hop router. * DENY - The NetScaler appliance applies the routing table for normal destination-based routing.<br>Possible values = ALLOW, DENY
td<Double>Read-writeInteger value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0.<br>Minimum value = 0<br>Maximum value = 4094
srcip<Boolean>Read-writeIP address or range of IP addresses to match against the source IP address of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
srcipop<String>Read-writeEither the equals (=) or does not equal (!=) logical operator.<br>Possible values = =, !=, EQ, NEQ
srcipval<String>Read-writeIP address or range of IP addresses to match against the source IP address of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
srcport<Boolean>Read-writePort number or range of port numbers to match against the source port number of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90]. Note: The destination port can be specified only for TCP and UDP protocols.
srcportop<String>Read-writeLogical operator.<br>Possible values = =, !=, EQ, NEQ
srcportval<String>Read-writePort number or range of port numbers to match against the source port number of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90]. Note: The destination port can be specified only for TCP and UDP protocols.<br>Maximum length = 65535
destip<Boolean>Read-writeIP address or range of IP addresses to match against the destination IP address of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
destipop<String>Read-writeLogical operator.<br>Possible values = =, !=, EQ, NEQ
destipval<String>Read-writeIP address or range of IP addresses to match against the destination IP address of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
destport<Boolean>Read-writePort number or range of port numbers to match against the destination port number of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90]. Note: The destination port can be specified only for TCP and UDP protocols.
destportop<String>Read-writeLogical operator.<br>Possible values = =, !=, EQ, NEQ
destportval<String>Read-writePort number or range of port numbers to match against the destination port number of an outgoing IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90]. Note: The destination port can be specified only for TCP and UDP protocols.<br>Maximum length = 65535
nexthop<Boolean>Read-writeIP address of the next hop router or the name of the link load balancing virtual server to which to send matching packets if action is set to ALLOW. If you specify a link load balancing (LLB) virtual server, which can provide a backup if a next hop link fails, first make sure that the next hops bound to the LLB virtual server are actually next hops that are directly connected to the NetScaler appliance. Otherwise, the NetScaler throws an error when you attempt to create the PBR.
nexthopval<String>Read-writeThe Next Hop IP address or gateway name.
iptunnel<Boolean>Read-writeThe Tunnel name.
iptunnelname<String>Read-writeThe iptunnel name where packets need to be forwarded upon.
srcmac<String>Read-writeMAC address to match against the source MAC address of an outgoing IPv4 packet.
srcmacmask<String>Read-writeUsed to define range of Source MAC address. It takes string of 0 and 1, 0s are for exact match and 1s for wildcard. For matching first 3 bytes of MAC address, srcMacMask value "000000111111". .<br>Default value: "000000000000"
protocol<String>Read-writeProtocol, identified by protocol name, to match against the protocol of an outgoing IPv4 packet.<br>Possible values = ICMP, IGMP, TCP, EGP, IGP, ARGUS, UDP, RDP, RSVP, EIGRP, L2TP, ISIS
protocolnumber<Double>Read-writeProtocol, identified by protocol number, to match against the protocol of an outgoing IPv4 packet.<br>Minimum value = 1<br>Maximum value = 255
vlan<Double>Read-writeID of the VLAN. The NetScaler appliance compares the PBR only to the outgoing packets on the specified VLAN. If you do not specify any interface ID, the appliance compares the PBR to the outgoing packets on all VLANs.<br>Minimum value = 1<br>Maximum value = 4094
vxlan<Double>Read-writeID of the VXLAN. The NetScaler appliance compares the PBR only to the outgoing packets on the specified VXLAN. If you do not specify any interface ID, the appliance compares the PBR to the outgoing packets on all VXLANs.<br>Minimum value = 1<br>Maximum value = 16777215
Interface<String>Read-writeID of an interface. The NetScaler appliance compares the PBR only to the outgoing packets on the specified interface. If you do not specify any value, the appliance compares the PBR to the outgoing packets on all interfaces.
priority<Double>Read-writePriority of the PBR, which determines the order in which it is evaluated relative to the other PBRs. If you do not specify priorities while creating PBRs, the PBRs are evaluated in the order in which they are created.<br>Minimum value = 1<br>Maximum value = 81920
msr<String>Read-writeMonitor the route specified byte Next Hop parameter. This parameter is not applicable if you specify a link load balancing (LLB) virtual server name with the Next Hop parameter.<br>Default value: DISABLED<br>Possible values = ENABLED, DISABLED
monitor<String>Read-writeThe name of the monitor.(Can be only of type ping or ARP ).<br>Minimum length = 1
state<String>Read-writeEnable or disable the PBR. After you apply the PBRs, the NetScaler appliance compares outgoing packets to the enabled PBRs.<br>Default value: ENABLED<br>Possible values = ENABLED, DISABLED
detail<Boolean>Read-writeTo get a detailed view.
hits<Double>Read-onlyThe hits of this PBR.
kernelstate<String>Read-onlyThe commit status of the PBR.<br>Default value: NOTAPPLIED<br>Possible values = APPLIED, NOTAPPLIED, RE-APPLY, SFAPPLIED, SFNOTAPPLIED, SFAPPLIED61, SFNOTAPPLIED61
curstate<Double>Read-onlyIf this route is UP/DOWN.
totalprobes<Double>Read-onlyThe total number of probes sent.
totalfailedprobes<Double>Read-onlyThe total number of failed probes.
failedprobes<Double>Read-onlyNumber of the current failed monitoring probes.
monstatcode<Integer>Read-onlyThe code indicating the monitor response.
monstatparam1<Integer>Read-onlyFirst parameter for use with message code.
monstatparam2<Integer>Read-onlySecond parameter for use with message code.
monstatparam3<Integer>Read-onlyThird parameter for use with message code.
data<Boolean>Read-onlyInternal data of this route.
__count<Double>Read-onlycount parameter

Operations

(click to see Properties)

ADD | DELETE | UPDATE | UNSET | ENABLE | DISABLE | GET (ALL) | GET | COUNT

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the "warning" query parameter as "yes". For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http://<netscaler-ip-address>/nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code "209 X-NITRO-WARNING".

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER:<username>

    X-NITRO-PASS:<password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Note:

Mandatory parameters are marked in red and placeholder content is marked in <green>.

add

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>
},
"sessionid":"##sessionid",
"nspbr":{
      "name":<String_value>,
      "action":<String_value>,
      "td":<Double_value>,
      "srcip":<Boolean_value>,
                  "srcipop":<String_value>,
                  "srcipval":<String_value>,
      "srcport":<Boolean_value>,
                  "srcportop":<String_value>,
                  "srcportval":<String_value>,
      "destip":<Boolean_value>,
                  "destipop":<String_value>,
                  "destipval":<String_value>,
      "destport":<Boolean_value>,
                  "destportop":<String_value>,
                  "destportval":<String_value>,
      "nexthop":<Boolean_value>,
                  "nexthopval":<String_value>,
      "iptunnel":<Boolean_value>,
                  "iptunnelname":<String_value>,
      "srcmac":<String_value>,
                  "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "Interface":<String_value>,
      "priority":<Double_value>,
      "msr":<String_value>,
                  "monitor":<String_value>,
      "state":<String_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

delete

URL: http://<NSIP>/nitro/v1/config/nspbr/name_value<String>

Query-parameters:

warning

http://<NS_IP>/nitro/v1/config/nspbr/name_value<String>?warning=yes

Use this query parameter to get warnings in nitro response. If this field is set to YES, warning message will be sent in 'message' field and 'WARNING' value is set in severity field of the response in case there is a

HTTP Method: DELETE

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

update

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: PUT

Request Payload:

{
"params": {
      "warning":<String_value>,
      "onerror":<String_value>"
},
sessionid":"##sessionid",
"nspbr":{
      "name":<String_value>,
      "action":<String_value>,
      "srcip":<Boolean_value>,
                  "srcipop":<String_value>,
                  "srcipval":<String_value>,
      "srcport":<Boolean_value>,
                  "srcportop":<String_value>,
                  "srcportval":<String_value>,
      "destip":<Boolean_value>,
                  "destipop":<String_value>,
                  "destipval":<String_value>,
      "destport":<Boolean_value>,
                  "destportop":<String_value>,
                  "destportval":<String_value>,
      "nexthop":<Boolean_value>,
                  "nexthopval":<String_value>,
      "iptunnel":<Boolean_value>,
                  "iptunnelname":<String_value>,
      "srcmac":<String_value>,
                  "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "Interface":<String_value>,
      "priority":<Double_value>,
      "msr":<String_value>,
                  "monitor":<String_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

unset

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>,
      "action":"unset"
},
"sessionid":"##sessionid",
"nspbr":{
      "name":<String_value>,
      "srcip":true,
      "srcport":true,
      "destip":true,
      "destport":true,
      "nexthop":true,
      "iptunnel":true,
      "srcmac":true,
      "srcmacmask":true,
      "protocol":true,
      "vlan":true,
      "vxlan":true,
      "Interface":true,
      "msr":true,
      "monitor":true,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

enable

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>,
      "action":"enable"
},
"sessionid":"##sessionid",
"nspbr":{
      "name":<String_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

disable

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>,
      "action":"disable"
},
"sessionid":"##sessionid",
"nspbr":{
      "name":<String_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

get (all)

URL: http://<NSIP>/nitro/v1/config/nspbr

Query-parameters:

args

http://<NSIP>/nitro/v1/config/nspbr?args= "name":<String_value>, "detail":<Boolean_value>,

Use this query-parameter to get nspbr resources based on additional properties.

filter

http://<NSIP>/nitro/v1/config/nspbr?filter=property-name1:property-val1,property-name2:property-val2

Use this query-parameter to get the filtered set of nspbr resources configured on NetScaler.Filtering can be done on any of the properties of the resource.

view

http://<NS_IP>/nitro/v1/config/nspbr?view=summary

Use this query-parameter to get the summary output of nspbr resources configured on NetScaler.

pagesize=#no;pageno=#no

http://<NS_IP>/nitro/v1/config/nspbr?pagesize=#no;pageno=#no

Use this query-parameter to get the nspbr resources in chunks.

warning

http://<NS_IP>/nitro/v1/config/nspbr?warning=yes

Use this query parameter to get warnings in nitro response. If this field is set to YES, warning message will be sent in 'message' field and 'WARNING' value is set in severity field of the response in case there is a

HTTP Method: GET

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": <String_value>, "nspbr": [ {
      "name":<String_value>,
      "detail":<Boolean_value>,
      "action":<String_value>,
      "srcmac":<String_value>,
      "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "srcportval":<String_value>,
      "td":<Double_value>,
      "destportval":<String_value>,
      "srcipval":<String_value>,
      "destipval":<String_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "state":<String_value>,
      "Interface":<String_value>,
      "hits":<Double_value>,
      "priority":<Double_value>,
      "srcipop":<String_value>,
      "destipop":<String_value>,
      "srcportop":<String_value>,
      "destportop":<String_value>,
      "kernelstate":<String_value>,
      "nexthopval":<String_value>,
      "iptunnelname":<String_value>,
      "msr":<String_value>,
      "monitor":<String_value>,
      "curstate":<Double_value>,
      "totalprobes":<Double_value>,
      "totalfailedprobes":<Double_value>,
      "failedprobes":<Double_value>,
      "monstatcode":<Integer_value>,
      "monstatparam1":<Integer_value>,
      "monstatparam2":<Integer_value>,
      "monstatparam3":<Integer_value>,
      "data":<Boolean_value>

}]}

get

URL: http://<NS_IP>/nitro/v1/config/nspbr/name_value<String>

HTTP Method: GET

Response Payload:

{ "errorcode": 0, "message": "Done", "nspbr": [ {
      "name":<String_value>,
      "detail":<Boolean_value>,
      "action":<String_value>,
      "srcmac":<String_value>,
      "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "srcportval":<String_value>,
      "td":<Double_value>,
      "destportval":<String_value>,
      "srcipval":<String_value>,
      "destipval":<String_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "state":<String_value>,
      "Interface":<String_value>,
      "hits":<Double_value>,
      "priority":<Double_value>,
      "srcipop":<String_value>,
      "destipop":<String_value>,
      "srcportop":<String_value>,
      "destportop":<String_value>,
      "kernelstate":<String_value>,
      "nexthopval":<String_value>,
      "iptunnelname":<String_value>,
      "msr":<String_value>,
      "monitor":<String_value>,
      "curstate":<Double_value>,
      "totalprobes":<Double_value>,
      "totalfailedprobes":<Double_value>,
      "failedprobes":<Double_value>,
      "monstatcode":<Integer_value>,
      "monstatparam1":<Integer_value>,
      "monstatparam2":<Integer_value>,
      "monstatparam3":<Integer_value>,
      "data":<Boolean_value>

}]}

count

URL: http://<NS_IP>/nitro/v1/config/nspbr?count=yes

HTTP Method: GET

Response Payload:

{ "errorcode": 0, "message": "Done",nspbr: [ { "__count": "#no"} ] }