Date: Thu, 28 Mar 2024 19:28:47 +0000 (UTC) Message-ID: <1962694824.857.1711654127958@ip-10-30-146-46.us-west-2.compute.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_856_584331322.1711654127954" ------=_Part_856_584331322.1711654127954 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This page explain how to use the SR cli. The example used in the= example uses sr-3node.conf configuration file, which is e= xplained in the Configuration ONOS section <LINK>
show switch : show the switches connected to the contro= ller (NOTE: any switch not configured in the config file is not shown)=
onos-vm= # sh link=20 # Src Switch DPID Src Port Dst Switch DPID = Dst Port Type -|-----------------------------------|--------|----------------------------= -------|--------|------ 1 00:00:00:00:00:00:00:01 (Dallas-R1) 7 00:00:00:00:00:00:00:02 (Dal= las-R2) 3 packet 2 00:00:00:00:00:00:00:02 (Dallas-R2) 1 00:00:00:00:00:00:00:01 (Dal= las-R1) 6 packet 3 00:00:00:00:00:00:00:03 (Dallas-R3) 2 00:00:00:00:00:00:00:02 (Dal= las-R2) 2 packet
show switch <switch DPID> : shows the detail of t= he switch
onos-vm= # sh switch 00:00:00:00:00:00:00:01=20 # Switch DPID Alias Connected Since Connected = At Type Controller -|-----------------------|---------|----------------------------|----------= -------|------|---------- 1 00:00:00:00:00:00:00:01 Dallas-R1 Wed Dec 03 16:06:40 PST 2014 192.168.0.= 3:52922 packet onos-vm
show switch <switch DPID> table <acl/ip/mpls> : shows the specific table of the switch
onos-vm= # sh switch 00:00:00:00:00:00:00:01 table acl # Bytes Packets Dur(s) Cookie Priority In Port Src MAC Dst MAC EthType Src = IP Dst IP Protocol Src Port Dst Port Instructions -|-----|-------|------|------|--------|-------|-------|-------|-------|----= --|------|--------|--------|--------|------------ 1 0 0 525 0 0 * * * * * = * * * * onos-vm# sh switch 00:00:00:00:00:00:00:01 table ip # Bytes Packets Dur(s) Cookie Priority Dst IP Instructions -|-----|-------|------|------|--------|--------------|---------------------= -------------------------------- 1 0 0 423 0 65535 192.168.0.2/32 {goto: {tableid: acl}= , write: {dec_nw_ttl, group: 1}} 2 0 0 423 0 65535 192.168.0.3/32 {goto: {tableid: acl}= , write: {group: 2}} 3 0 0 423 0 49104 7.7.7.0/24 {goto: {tableid: acl}= , write: {group: 2}} 4 0 0 444 0 0 * {goto: {tableid: acl}= , write: {output: controller}} onos-vm# sh switch 00:00:00:00:00:00:00:01 table mpls # Bytes Packets Dur(s) Priority MPLS Label MPLS BOS MPLS TC Instructions -|-----|-------|------|--------|----------|--------|-------|---------------= ---------------------------------------------------------------------------= ----------------------------------------------------- 1 0 0 426 65535 102 false * {goto: {tableid= : acl}, write: {pop_mpls: 0x8847, copy_ttl_in, group: 1, dec_mpls_ttl}} 2 0 0 426 65535 102 true * {goto: {tableid= : acl}, write: {pop_mpls: 0x800, dec_nw_ttl, copy_ttl_in, group: 1}} 3 0 0 426 65535 103 true * {goto: {tableid= : acl}, write: {group: 1, dec_mpls_ttl}} 4 0 0 426 65535 103 false * {goto: {tableid= : acl}, write: {group: 1, dec_mpls_ttl}} 5 0 0 426 65535 101006 true * {goto: {tableid= : acl}, write: {pop_mpls: 0x800, dst_mac: 00:00:02:02:02:80, dec_nw_ttl, sr= c_mac: 00:00:01:01:01:80, output: 6, copy_ttl_in}} 6 0 0 426 65535 101006 false * {goto: {tableid= : acl}, write: {dec_mpls_ttl, pop_mpls: 0x8847, dst_mac: 00:00:02:02:02:80,= src_mac: 00:00:01:01:01:80, output: 6, copy_ttl_in}} 7 0 0 426 65535 101007 true * {goto: {tableid= : acl}, write: {pop_mpls: 0x800, dst_mac: 00:00:02:02:02:80, dec_nw_ttl, sr= c_mac: 00:00:01:01:01:80, output: 7, copy_ttl_in}} 8 0 0 426 65535 101007 false * {goto: {tableid= : acl}, write: {dec_mpls_ttl, pop_mpls: 0x8847, dst_mac: 00:00:02:02:02:80,= src_mac: 00:00:01:01:01:80, output: 7, copy_ttl_in}} 9 0 0 447 0 * * * {goto: {tableid= : acl}, write: {output: controller}}
show switch <switch DPID>= ; port : show the port information of the switch
o= nos-vm# sh switch 00:00:00:00:00:00:00:01 port # OF Port # Status Rcv Bytes Rcv Pkts Rcv Errs Rcv Dropped Rcv CRC Rcv = Overruns Rcv Frame Errs Xmit Bytes Xmit Pkts Xmit Errs Xmit Dropped Collisi= ons -|-------------|------|---------|--------|--------|-----------|-------|----= --------|--------------|----------|---------|---------|------------|-------= --- 1 1 (s1-eth1) up 480 6 0 0 0 0 = 0 2948 44 0 0 0 2 2 (s1-eth2) up 558 7 0 0 0 0 = 0 2948 44 0 0 0 3 3 (s1-eth3) up 558 7 0 0 0 0 = 0 2948 44 0 0 0 4 4 (s1-eth4) up 558 7 0 0 0 0 = 0 2948 44 0 0 0 5 5 (s1-eth5) up 558 7 0 0 0 0 = 0 2948 44 0 0 0 6 6 (s1-eth6) up 3015 45 0 0 0 0 = 0 2948 44 0 0 0 7 7 (s1-eth7) up 3015 45 0 0 0 0 = 0 2948 44 0 0 0 8 8 (s1-eth8) up 3015 45 0 0 0 0 = 0 2948 44 0 0 0 9 65534 (local) up 0 0 0 0 0 0 = 0 0 0 0 0 0
show switch <switch DPID> group : show the g= roup information of the switch
onos-vm= # sh switch 00:00:00:00:00:00:00:01 group=20 # Group Type Group Id Pkts Bytes Bucket Pkts Bucket Bytes Set Src Mac = Set Dst Mac Push Mpls Set Bos COPY TTL Dec Mpls TTL Outport Group -|----------|--------|----|-----|-----------|------------|-----------------= |-----------------|---------|-------|--------|------------|-------|----- 1 SELECT 1 0 0 0 0 00:00:01:01:01:80= 00:00:02:02:02:80 6 2 SELECT 0 0 0 0 00:00:01:01:01:80= 00:00:02:02:02:80 7 3 SELECT 2 0 0 0 0 00:00:01:01:01:80= 00:00:02:02:02:80 103 true True True 6 4 SELECT 0 0 0 0 00:00:01:01:01:80= 00:00:02:02:02:80 103 true True True 7
show link: show the links discovered by the controller = (NOTE: any link not configured in the config file is not shown)
onos-vm= # sh link=20 # Src Switch DPID Src Port Dst Switch DPID = Dst Port Type -|-----------------------------------|--------|----------------------------= -------|--------|------ 1 00:00:00:00:00:00:00:01 (Dallas-R1) 7 00:00:00:00:00:00:00:02 (Dal= las-R2) 3 packet 2 00:00:00:00:00:00:00:02 (Dallas-R2) 1 00:00:00:00:00:00:00:01 (Dal= las-R1) 6 packet 3 00:00:00:00:00:00:00:03 (Dallas-R3) 2 00:00:00:00:00:00:00:02 (Dal= las-R2) 2 packet
watch <any command> : repeats the command ev= ery two second. It is useful to see any statistics changes
onos-vm= # watch sh switch 00:00:00:00:00:00:00:01 port=20 # OF Port # Status Rcv Bytes Rcv Pkts Rcv Errs Rcv Dropped Rcv CRC Rcv = Overruns Rcv Frame Errs Xmit Bytes Xmit Pkts Xmit Errs Xmit Dropped Collisi= ons -|-------------|------|---------|--------|--------|-----------|-------|----= --------|--------------|----------|---------|---------|------------|-------= --- 1 1 (s1-eth1) up 1880 22 0 0 0 0 = 0 5651 80 0 0 0 2 2 (s1-eth2) up 600 8 0 0 0 0 = 0 4531 68 0 0 0 3 3 (s1-eth3) up 558 7 0 0 0 0 = 0 4531 68 0 0 0 4 4 (s1-eth4) up 558 7 0 0 0 0 = 0 4489 67 0 0 0 5 5 (s1-eth5) up 558 7 0 0 0 0 = 0 4489 67 0 0 0 6 6 (s1-eth6) up 5144 74 0 0 0 0 = 0 5101 73 0 0 0 7 7 (s1-eth7) up 5046 73 0 0 0 0 = 0 4999 72 0 0 0 8 8 (s1-eth8) up 4556 68 0 0 0 0 = 0 4489 67 0 0 0 9 65534 (local) up 0 0 0 0 0 0 = 0 0 0 0 0 0 Executing sh switch 00:00:00:00:00:00:00:01 port =20 # OF Port # Status Rcv Bytes Rcv Pkts Rcv Errs Rcv Dropped Rcv CRC Rcv = Overruns Rcv Frame Errs Xmit Bytes Xmit Pkts Xmit Errs Xmit Dropped Collisi= ons -|-------------|------|---------|--------|--------|-----------|-------|----= --------|--------------|----------|---------|---------|------------|-------= --- 1 1 (s1-eth1) up 2076 24 0 0 0 0 = 0 5847 82 0 0 0 2 2 (s1-eth2) up 600 8 0 0 0 0 = 0 4531 68 0 0 0 3 3 (s1-eth3) up 558 7 0 0 0 0 = 0 4531 68 0 0 0 4 4 (s1-eth4) up 558 7 0 0 0 0 = 0 4489 67 0 0 0 5 5 (s1-eth5) up 558 7 0 0 0 0 = 0 4489 67 0 0 0 6 6 (s1-eth6) up 5242 75 0 0 0 0 = 0 5203 74 0 0 0 7 7 (s1-eth7) up 5144 74 0 0 0 0 = 0 5101 73 0 0 0 8 8 (s1-eth8) up 4556 68 0 0 0 0 = 0 4489 67 0 0 0 9 65534 (local) up 0 0 0 0 0 0 = 0 0 0 0 0 0
show policy : show the policy information created by op= erators (NOTE: Configuring switches section describe how to create a policy= )
onos-vm= (config)# sh policy=20 # Policy Id Policy Type Priority Dst Mac Src Mac Ether Type Dst IP IP P= rotocol Src IP Dst TcpPort Src TcpPort Tunnel Used -|---------|-----------|--------|-------|-------|----------|----------|----= -------|-----------|-----------|-----------|----------- 1 p1 TUNNEL_FLOW 10000 * * 0x2048 7.7.7.7/32 * = 10.0.1.1/32 * * t1
show tunnel : show the tunnel information created by op= erators (NOTE: Configuring switches section describe how to create a tunnel= )
onos-vm= (config)# sh tunnel=20 # Id Policies Tunnel Path [Head-->Tail] Label Stack [Outer-->Inner] -|--|--------|-------------------------|--------------------------- 1 t1 [101, 102, 103] [[103]]
configure: enter configuration mode
mininet= -vm> enable mininet-vm# configure=20 mininet-vm(config)#
tunnel <tunnel ID> : Create a tunnel for a tunnel= -flow policy. Specify the node SID of all routers of the tunnel, following = node keyword. If you want to suspend creating the tu= nnel, you can type end. It will suspend creating the tunne= l and exit the configuration mode.
onos-vm= (config)# tunnel t1 onos-vm(config-tunnel)# node 101 onos-vm(config-tunnel)# node 102 onos-vm(config-tunnel)# node 103 onos-vm(config-tunnel)# exit
policy <policy ID> policy-type <policy type>: Create a specific type of policy. Only tunnel-flow type= is supported now. flow-entry, tunnel, an= d priority must be specified. IP, TCP, and UDP are support= ed as the flow-entry type. The first subnet (10.0.1.1/32 in the example) is= the source, and the second subnet (7.7.7.7/32 in the example) is the desti= nation.
onos-vm= (config)# policy p1 policy-type tunnel-flow=20 onos-vm(config-policy)# flow-entry ip 10.0.1.1/32 7.7.7.7/32 onos-vm(config-policy)# tunnel t1 onos-vm(config-policy)# priority 10000 onos-vm(config-policy)# exit
no policy <policy ID>: remove the policy with the= policy ID.
onos-vm= (config)# sh policy=20 # Policy Id Policy Type Priority Dst Mac Src Mac Ether Type Dst IP IP P= rotocol Src IP Dst TcpPort Src TcpPort Tunnel Used -|---------|-----------|--------|-------|-------|----------|----------|----= -------|-----------|-----------|-----------|----------- 1 p1 TUNNEL_FLOW 10000 * * 0x2048 7.7.7.7/32 * = 10.0.1.1/32 * * t1 onos-vm(config)# no policy p1 onos-vm(config)# sh policy=20 None.
no tunnel <tunnel ID>: remove the tunnel with the= tunnel ID. If the tunnel is being used by any policy, then it is not remov= ed.
onos-vm= (config)# sh tunnel=20 # Id Policies Tunnel Path [Head-->Tail] Label Stack [Outer-->Inner] -|--|--------|-------------------------|--------------------------- 1 t1 [101, 102, 103] [[103]] onos-vm(config)# no tunnel t1 onos-vm(config)# sh tunnel=20 None.