Friday, October 12, 2012

ISIS Routing Example




Issue

In this Lab we will go through IS-IS configuration and some of its parameters based on the above topology


Configuration

R1

R1#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R1#sh run int lo0
interface Loopback0
 ip address 1.1.1.1 255.255.255.255

R1#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0001.00

R2

R2#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.12.2 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R2#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.23.2 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R2#sh run int f1/0
interface FastEthernet1/0
 ip address 192.168.24.2 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R2#sh run int lo0
interface Loopback0
 ip address 2.2.2.2 255.255.255.255

R2#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0002.00

R3

R3#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.23.3 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R3#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.35.3 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R3#sh run int lo0
interface Loopback0
 ip address 3.3.3.3 255.255.255.255

R3#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0003.00

R4

R4#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.24.4 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R4#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.45.4 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R4#sh run int lo0
interface Loopback0
 ip address 4.4.4.4 255.255.255.255

R4#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0004.00

R5

R5#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.35.5 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R5#sh run int f0/1
interface FastEthernet0/1
 ip address 192.168.45.5 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R5#sh run int lo0
interface Loopback0
 ip address 5.5.5.5 255.255.255.255

R5#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0005.00

R6

R6#sh run int f0/0
interface FastEthernet0/0
 ip address 192.168.56.6 255.255.255.0
 ip router isis 1
 speed 100
 full-duplex

R6#sh run int lo0
interface Loopback0
 ip address 6.6.6.6 255.255.255.255

R6#sh run | sec router isis
router isis 1
 net 49.0000.0000.0000.0006.00

Verification

Before we start investigating the neighbor ships and routes advertisements, let us check the commands entered above

The router isis command will start the isis process in the router, if we did not specify a number or word, it will be null and if we chose that it should be identical under the interface even the router will accept different process ID entered

The net command refers to Network Entity Title; it’s a 20 bytes number that is divided to

·         Area
·         System ID (6 bytes value) router-id inside the area (unique inside an area)
·         N-selector (1 byte value) always zero

The representation will be something like below
AA.AAAA.AAAA.AAAA.AAAA.AAAA.AAAA.SSSS.SSSS.SSSS.NN

The area in ISIS is configured for a router, in OSPF it’s defined for a link
For example for router 1 the net is 49.0000.0000.0000.0001.00
49 is used for private use like RFC1918
49.0001.0000.0000.0001.00 à 49.0000 is the area number
49.0001.0000.0000.0001.00 à0000.0000.0001 is the system ID (which should be unique through an area)
49.0001.0000.0000.0001.00 à 00 is the N-selector (which is always 0)

Now let us check the neighbor ships through the network elements

R1#sh clns is-neighbors

System Id      Interface   State  Type Priority  Circuit Id         Format
R2             Fa0/0       Up     L1L2 64/64     R2.01              Phase V

R1#show isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R2             L1   Fa0/0       192.168.12.2    UP    7        R2.01             
R2             L2   Fa0/0       192.168.12.2    UP    8        R2.01        

As we can see the neighbor type is L1/L2 between R1 and R2, priority is 64 by default

Checking the routing table

R1#sh ip route isis
i L1 192.168.45.0/24 [115/30] via 192.168.12.2, FastEthernet0/0
i L1 192.168.24.0/24 [115/20] via 192.168.12.2, FastEthernet0/0
i L1 192.168.56.0/24 [115/40] via 192.168.12.2, FastEthernet0/0
i L1 192.168.23.0/24 [115/20] via 192.168.12.2, FastEthernet0/0
i L1 192.168.35.0/24 [115/30] via 192.168.12.2, FastEthernet0/0

We can see that all routes installed are L1 routes received from R2 and i of course refers to IS-IS routing protocol
Now the AD for the IS-IS routing protocol is 115 and the default metric is 10 and will be modified according to the number of hops , for example the subnet 192.168.23.0/24 which is located between R2 and R3 is one hop away from R1 ; so 10 (Default) + one hop (10) = 20
We can see that no loopbacks were installed in the routing table, because we did not advertise the loopback 0 interface of any router.
We can advertise the loopback interface either via ip router isis 1 under the interface configuration mode, or we can use the passive-interface under the router isis configuration mode which will advertise the interface and no updates will be sent throughout this interface.

R1 à R6

R1(config)#router isis 1
R1(config-router)#passive-interface loo0

Checking R1’s routing table now

R1#sh ip route isis
     2.0.0.0/32 is subnetted, 1 subnets
i L1    2.2.2.2 [115/10] via 192.168.12.2, FastEthernet0/0
     3.0.0.0/32 is subnetted, 1 subnets
i L1    3.3.3.3 [115/20] via 192.168.12.2, FastEthernet0/0
i L1 192.168.45.0/24 [115/30] via 192.168.12.2, FastEthernet0/0
     4.0.0.0/32 is subnetted, 1 subnets
i L1    4.4.4.4 [115/20] via 192.168.12.2, FastEthernet0/0
i L1 192.168.24.0/24 [115/20] via 192.168.12.2, FastEthernet0/0
     5.0.0.0/32 is subnetted, 1 subnets
i L1    5.5.5.5 [115/30] via 192.168.12.2, FastEthernet0/0
     6.0.0.0/32 is subnetted, 1 subnets
i L1    6.6.6.6 [115/40] via 192.168.12.2, FastEthernet0/0
i L1 192.168.56.0/24 [115/40] via 192.168.12.2, FastEthernet0/0
i L1 192.168.23.0/24 [115/20] via 192.168.12.2, FastEthernet0/0
i L1 192.168.35.0/24 [115/30] via 192.168.12.2, FastEthernet0/0

Let us check the database

R1#sh isis data

IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
R1.00-00            * 0x0000007B   0x0F79        360               0/0/0
R2.00-00              0x00000082   0xC748        1059              0/0/0
R2.01-00              0x00000078   0x8F4A        971               0/0/0
R3.00-00              0x0000007F   0x3A69        988               0/0/0
R3.01-00              0x00000078   0xAE28        738               0/0/0
R4.00-00              0x0000007F   0xB0DB        491               0/0/0
R4.01-00              0x00000079   0xB221        851               0/0/0
R5.00-00              0x0000007E   0x8020        803               0/0/0
R5.01-00              0x00000079   0xD1FE        744               0/0/0
R5.02-00              0x00000079   0xE3EA        982               0/0/0
R6.00-00              0x0000007D   0xB76C        618               0/0/0
R6.01-00              0x00000078   0x0CC1        870               0/0/0
IS-IS Level-2 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
R1.00-00            * 0x00000086   0xE5F3        793               0/0/0
R2.00-00              0x00000089   0xAC48        1075              0/0/0
R2.01-00              0x0000007A   0x1B45        670               0/0/0
R3.00-00              0x00000086   0xCEBB        694               0/0/0
R3.01-00              0x0000007C   0x3625        880               0/0/0
R4.00-00              0x00000089   0x85F9        456               0/0/0
R4.01-00              0x00000078   0x4419        797               0/0/0
R5.00-00              0x00000085   0xDEFF        1059              0/0/0
R5.01-00              0x00000079   0x61F7        1126              0/0/0
R5.02-00              0x0000007A   0x71E4        368               0/0/0
R6.00-00              0x00000085   0xD0E7        866               0/0/0
R6.01-00              0x00000079   0x99BB        621               0/0/0

We can see that we receive the links twice via L1 and L2 (L2 database entries will exist if it’s already there in L1)
As well, we can see from the bolded lines in the output above that R5 was elected the DIS (which is similar to DR/BDR in OSPF and we took R5 as an example), how?
The election relies on the priority value which is by default 64 as we can see in the show clns is-nighbors
Let us take an example the connection between R4 and R5

R4#sh clns is-neighbors | inc Fa0/1
R5             Fa0/1       Up     L1L2 64/64     R5.02              Phase V

R5#sh clns is-neighbors | inc Fa0/1
R4             Fa0/1       Up     L1L2 64/64     R5.02              Phase V

As we can see the circuit-id is R5.02 which means that R5 is the DIS for that segment, now the priority value is the same on both routers, so what is the tie breaker? It’s the mac-address of the interface

R4#sh int f0/1 | inc address      
  Hardware is Gt96k FE, address is c203.3896.0001 (bia c203.3896.0001)
  Internet address is 192.168.45.4/24

R5#sh inter f0/1 | inc address    
  Hardware is Gt96k FE, address is c204.3896.0001 (bia c204.3896.0001)
  Internet address is 192.168.45.5/24

R5 has a higher mac-address on the connection connected to R4 so it will be elected, let us try to manipulate this by changing the mac-adddress of F0/1 interface on R5

R5#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R5(config)#int f0/1
R5(config-if)#mac-address c201.3896.0001
*Mar  2 05:13:35.532: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up

R5#sh inter f0/1 | inc address
  Hardware is Gt96k FE, address is c201.3896.0001 (bia c204.3896.0001)
  Internet address is 192.168.45.5/24

R5#sh clns is-neighbors | inc Fa0/1
R4             Fa0/1       Up     L1L2 64/64     R4.02              Phase V

So now R4 is the DIS on that segment
Let us change the priority (mac-address configured in the previous line was removed)

R4#sh clns is-neighbors | inc Fa0/1
R5             Fa0/1       Up     L1L2 64/64     R5.02              Phase V

R4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#int f0/1
R4(config-if)#isis priority ?
  <0-127>  Priority value

R4(config-if)#isis priority 96
*Mar  2 05:15:33.516: %SYS-5-CONFIG_I: Configured from console by console

R4#clear isis *
R4#sh clns is-neighbors | inc Fa0/1
R5             Fa0/1       Up     L1L2 64/64     R4.02              Phase V

R5#sh clns is-neighbors | inc Fa0/1
R4             Fa0/1       Up     L1L2 96/96     R4.02              Phase V

So we briefly say that higher priority wins and higher interface mac-address wins as well

Now as in OSPF there is a network type, in IS-IS there is as well but only two types are available: broadcast (which is the default network type on an Ethernet segment) and point-to-pioit
We can tell so from the debug isis adj-packet

R1#debug isis adj-packets
IS-IS Adjacency related packets debugging is on
R1#
*Mar  2 05:20:30.464: ISIS-Adj: Rec L1 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:31.204: ISIS-Adj: Rec L2 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:33.392: ISIS-Adj: Sending L1 LAN IIH on FastEthernet0/0, length 1497
*Mar  2 05:20:33.600: ISIS-Adj: Rec L1 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:34.340: ISIS-Adj: Sending L2 LAN IIH on FastEthernet0/0, length 1497
*Mar  2 05:20:34.404: ISIS-Adj: Rec L2 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:36.544: ISIS-Adj: Rec L1 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:37.692: ISIS-Adj: Rec L2 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:39.844: ISIS-Adj: Rec L1 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:40.388: ISIS-Adj: Rec L2 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:20:41.288: ISIS-Adj: Sending L1 LAN IIH on FastEthernet0/0, length 1497

L1 IIH and L2 IIH means broadcast (IIH means IS-IS hello)
In case of a point-to-point network type we should see the keyword serial , as well if we changed on an interface we have to change on the other side , let us try and see

R1(config-if)#isis network ?
  point-to-point  Specify ISIS point-to-point network

R1(config-if)#isis network point-to-point

R1#debug isis adj-packets
IS-IS Adjacency related packets debugging is on
R1#
*Mar  2 05:24:50.588: ISIS-Adj: Rec L2 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:24:50.592: ISIS-Adj: Multi-point IIH received on point-to-point interface: ignored IIH
*Mar  2 05:24:50.616: ISIS-Adj: Rec L1 IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 0000.0000.0002.01, length 1497
*Mar  2 05:24:50.616: ISIS-Adj: Multi-point IIH received on point-to-point interface: ignored IIH

As we can see the statement ignored IIH, let us change now on R2

R1#debug isis adj-packets
IS-IS Adjacency related packets debugging is on
R1#
*Mar  2 05:25:46.332: ISIS-Adj: Sending serial IIH on FastEthernet0/0, length 1496
*Mar  2 05:25:47.424: ISIS-Adj: Rec serial IIH from c201.3896.0000 (FastEthernet0/0), cir type L1L2, cir id 00, length 1496
*Mar  2 05:25:47.424: ISIS-Adj: rcvd state UP, old state UP, new state UP
*Mar  2 05:25:47.424: ISIS-Adj: Action = ACCEPT

It’s worthy to note that in the options of the isis network command under the interface level there is no broadcast keyword which is the default network type, if we wanted to revert back to the broadcast we remove the point-to-point network type configured

As we saw earlier, R1 have L1 and L2 entries in the database as well any other router throughout the topology, we want to reduce the LSAs received on some routers (in our case all entries are from the same area), and so we will change circuit-types on our elements.

now we can change this from the router isis configuration mode or from the interface configuration mode and this can be determined according to the placement of the router in the topology; for example R1 will be L1 router and we can do that from the router mode, R2 will be L1/L2 router so we will change the interface toward R1 to be L1 only and so on, let us go through it

R1(config)#router isis 1
R1(config-router)#is-type level-1

R2(config)#int f0/0
R2(config-if)#isis circuit-type level-1

R1#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R2             L1   Fa0/0       192.168.12.2    UP    9        R2.01      

R1#sh clns is-neighbors

System Id      Interface   State  Type Priority  Circuit Id         Format
R2             Fa0/0       Up     L1   64        R2.01              Phase V

R1#sh isis database

IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
R1.00-00            * 0x000000B1   0xA0B3        1179              0/0/0
R2.00-00              0x000000B8   0x5B7E        1177              0/0/0
R2.01-00              0x000000AA   0x2B7C        1177              0/0/0
R3.00-00              0x000000B2   0xD39C        531               0/0/0
R3.01-00              0x000000AB   0x485B        633               0/0/0
R4.00-00              0x000000BB   0x3818        513               0/0/0
R4.01-00              0x000000AC   0x4C54        520               0/0/0
R5.00-00              0x000000B7   0x0E59        529               0/0/0
R5.01-00              0x000000AB   0x6D31        1105              0/0/0
R5.02-00              0x000000AB   0x7F1D        787               0/0/0
R6.00-00              0x000000AF   0x539E        462               0/0/0
R6.01-00              0x000000AA   0xA7F3        1117              0/0/0

As we can see there are only L1 entries in the isis database on R1

Let us continue making the core of our network (R2 through R5) only L2 capable inside

R2(config)#int f1/0
R2(config-if)#interface FastEthernet0/1
R2(config-if)#int f1/0                
R2(config-if)#isis circuit-type level-2

R3(config)#int f0/0
R3(config-if)#isis circuit-type level-2
R3(config)#int f0/1
R3(config-if)#isis circuit-type level-2

R4(config)#int f0/0
R4(config-if)#isis circuit-type level-2
R4(config-if)#int f0/1                
R4(config-if)#isis circuit-type level-2

R5(config)#int f0/0
R5(config-if)#isis circuit-type level-2
R5(config-if)#int f0/1
R5(config-if)#isis circuit-type level-2

Now checking the routing table of R1
R1#sh ip route isis
     2.0.0.0/32 is subnetted, 1 subnets
i L1    2.2.2.2 [115/10] via 192.168.12.2, FastEthernet0/0

Now, R1 lost all the connections to the rest of the network and has no default route!

Now if we changed the area R1 and R2 located in to area 1 for example

R1(config)#router isis 1
R1(config-router)#no net 49.0000.0000.0000.0001.00
R1(config-router)#net 49.0001.0000.0000.0001.00

R2(config)#router isis 1
R2(config-router)#no  net 49.0000.0000.0000.0002.00
R2(config-router)#net 49.0001.0000.0000.0002.00

R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 192.168.12.2 to network 0.0.0.0

C    192.168.12.0/24 is directly connected, FastEthernet0/0
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
i L1    2.2.2.2 [115/10] via 192.168.12.2, FastEthernet0/0
i*L1 0.0.0.0/0 [115/10] via 192.168.12.2, FastEthernet0/0

We can see that there is a default route generated from R2 and installed in R1’s routing table, actually R2 does not generate a default route, it sets the ATT bit to 1 in the database and this can be done only on L1/L2 router and there is a connection to different area

R1#ping 5.5.5.5 source loopback 0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/12/12 ms

So a default route will allow R1 to reach the rest of the network, suppose we wanted certain routes to be installed in the routing table of R1, what should be done?
We have to configure route leaking on the L1/L2 router and this is accomplished through defining an access-list matching that prefix of interest and redistributing isis into itself but from a level to a different level, let us go

R2(config)#access-list 100 permit ip host 5.5.5.5 host 255.255.255.255
This is the format we have to use in order to match (we have to use extended access-list if we wanted to use the keyword distribute-list at the end of the redistribute command statement)

R2(config-router)#redistribute isis ip level-2 into level-1 ?
  distribute-list  select routes
  route-map        Route map for route matching

R2(config-router)#redistribute isis ip level-2 into level-1 distribute-list 100

Note: the option of route-map is not available in all IOS versions

R1#sh ip route isis
     2.0.0.0/32 is subnetted, 1 subnets
i L1    2.2.2.2 [115/10] via 192.168.12.2, FastEthernet0/0
     5.0.0.0/32 is subnetted, 1 subnets
i ia    5.5.5.5 [115/158] via 192.168.12.2, FastEthernet0/0
i*L1 0.0.0.0/0 [115/10] via 192.168.12.2, FastEthernet0/0

And we can see that the prefix 5.5.5.5/32 is installed now and ia means IS-IS inter area

Trying the route-map method (we can use standard access-list now)

R2(config)#access-list 10 permit host 4.4.4.4
R2(config)#route-map MAP permit 10
R2(config-route-map)#match ip address 10
R2(config-router)#redistribute isis ip level-2 into level-1 route-map MAP

R1#sh ip route isis
     2.0.0.0/32 is subnetted, 1 subnets
i L1    2.2.2.2 [115/10] via 192.168.12.2, FastEthernet0/0
     4.0.0.0/32 is subnetted, 1 subnets
i ia    4.4.4.4 [115/148] via 192.168.12.2, FastEthernet0/0
i*L1 0.0.0.0/0 [115/10] via 192.168.12.2, FastEthernet0/0

There are three metric styles in ISIS
Narrow (default)
WIDE: needed for MPLS Traffic Engineering
Transition

It can be changed from the router configuration mode

R2(config-router)#metric-style ?
  narrow      Use old style of TLVs with narrow metric
  transition  Send and accept both styles of TLVs during transition
  wide        Use new style of TLVs to carry wider metric

R2(config-router)#metric-style wide

R2#sh isis neighbors

System Id      Type Interface   IP Address      State Holdtime Circuit Id
R4             L2   Fa1/0       192.168.24.4    UP    9        R4.01             
R3             L2   Fa0/1       192.168.23.3    UP    7        R3.01             
0000.0000.0001 L1   Fa0/0       192.168.12.1    UP    25       R2.01 





.net file

For anyone want to lab it up, please find the .net file below

autostart = False
[127.0.0.1:7200]
    workingdir = /tmp
    udp = 10001
    [[3725]]
        image = INE/c3725-adventerprisek9-mz.124-18.bin
        ram = 128
        ghostios = True
    [[ROUTER R4]]
        model = 3725
        console = 2004
        f0/0 = R2 f1/0
        f0/1 = R5 f0/1
        x = -33.0
        y = 36.0
    [[ROUTER R5]]
        model = 3725
        console = 2005
        f0/0 = R3 f0/1
        f0/1 = R4 f0/1
        slot1 = NM-1FE-TX
        f1/0 = R6 f0/0
        x = 89.0
        y = -61.0
    [[ROUTER R6]]
        model = 3725
        console = 2006
        f0/0 = R5 f1/0
        x = 204.0
        y = -48.0
    [[ROUTER R1]]
        model = 3725
        console = 2001
        f0/0 = R2 f0/0
        x = -253.0
        y = -47.0
    [[ROUTER R2]]
        model = 3725
        console = 2002
        f0/0 = R1 f0/0
        f0/1 = R3 f0/0
        slot1 = NM-1FE-TX
        f1/0 = R4 f0/0
        x = -130.0
        y = -51.0
    [[ROUTER R3]]
        model = 3725
        console = 2003
        f0/0 = R2 f0/1
        f0/1 = R5 f0/0
        x = -29.0
        y = -134.0

No comments: