cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1415
Views
0
Helpful
4
Replies

EIGRP - Summary, AD, discard question

mathiscostco
Level 1
Level 1

Hi,

I was attemping to summarize to default the other day, and it raised some questions for me regarding EIGRP. 

I applied summarization to default on the agg routers as shown in the diagram.  AD is set to 254 so that the default will not clobber the default from the internet.  (SC is a L2 switch.  Subagg1 and Subagg2 are routers.)

 After doing so, the default route began churning constantly between the discard route, the internal route received from the peer, and the external route received from the internet:


2016 Jul 6 00:42:49.809616 urib: "eigrp-1": 0.0.0.0/0, demoted best path nh 0.0.0.0%Null0, metric [254/512] route-type discard tag 0x00000000 flags 0x00000000
2016 Jul 6 00:42:49.809732 urib: "eigrp-1": 0.0.0.0/0, new best path nh 10.0.0.18%Ethernet2/2, metric [170/3328] route-type external tag 0x000019d2 flags 0x00000000
2016 Jul 6 00:42:49.809993 urib: "eigrp-1": 0.0.0.0/0, new best path nh 10.0.0.1%Ethernet2/1, metric [170/3328] route-type external tag 0x000019d2 flags 0x00000000
2016 Jul 6 00:42:49.810278 urib: "eigrp-1": 0.0.0.0/0 no more next hops
2016 Jul 6 00:42:49.810464 urib: "eigrp-1": 0.0.0.0/0, new best path nh 10.0.128.3%Ethernet2/3, metric [90/768] route-type internal tag 0x00000000 flags 0x00000000
2016 Jul 6 00:42:50.077491 urib: "eigrp-1": 0.0.0.0/0, promoted best path nh 0.0.0.0%Null0, metric [254/512] route-type discard tag 0x00000000 flags 0x00000000
2016 Jul 6 00:42:50.077674 urib: "eigrp-1": 0.0.0.0/0, demoted best path nh 0.0.0.0%Null0, metric [254/512] route-type discard tag 0x00000000 flags 0x00000000
2016 Jul 6 00:42:50.077794 urib: "eigrp-1": 0.0.0.0/0, new best path nh 10.0.0.1%Ethernet2/1, metric [170/3328] route-type external tag 0x000019d2 flags 0x00000000
2016 Jul 6 00:42:50.078059 urib: "eigrp-1": 0.0.0.0/0, new best path nh 10.0.0.18%Ethernet2/2, metric [170/3328] route-type external tag 0x000019d2 flags 0x00000000

 

The problem is easily fixed.  Applying a distribute list inbound on agg routers eth2/3 blocking the default stabilizes the topology and creates the desired behavior.

However, why is the route advertisement that is received up through the subagg taking preference over the locally originated discard route?   The local discard route has metric 512, but the route received from the subagg has metric 768.  I was under the impression that the metrics should be compared within the routing protocol, then the best route presented to the RIB, where the AD would be taken into consideration to discriminate between different route sources.

In this case, it appears that the AD is being used as a factor over the metric.

Also, how is EIGRP internal versus external information compared?  Is DUAL run on the internals and the externals separately, and then they present the best prefix to the RIB where the AD is applied?

As a side note if I remove the external route source from the picture I see the same behavior.

2016 Jul 6 01:40:59.644683 urib: "eigrp-1094": 0.0.0.0/0, new best path nh 0.0.0.0%Null0, metric [254/512] route-type discard tag 0x00000000 flags 0x00000000
2016 Jul 6 01:40:59.645104 urib: "eigrp-1094": 0.0.0.0/0, demoted best path nh 0.0.0.0%Null0, metric [254/512] route-type discard tag 0x00000000 flags 0x00000000
2016 Jul 6 01:40:59.645221 urib: "eigrp-1094": 0.0.0.0/0, new best path nh 10.0.128.2%Ethernet2/3, metric [90/768] route-type internal tag 0x00000000 flags 0x00000000
2016 Jul 6 01:40:59.645652 urib: "eigrp-1094": no-op lfe stack 0 [0]: Label=0 E=0 TTL=0 S=0
2016 Jul 6 01:40:59.645923 urib: "eigrp-1094": 0.0.0.0/0, promoted best path nh 0.0.0.0%Null0, metric [254/512] route-type discard tag 0x00000000 flags 0x00000000
2016 Jul 6 01:40:59.914384 urib: "eigrp-1094": 0.0.0.0/0, demoted best path nh 0.0.0.0%Null0, metric [254/512] route-type discard tag 0x00000000 flags 0x00000000
2016 Jul 6 01:40:59.914612 urib: "eigrp-1094": 0.0.0.0/0, new best path nh 10.0.128.2%Ethernet2/3, metric [90/768] route-type internal tag 0x00000000 flags 0x00000000
2016 Jul 6 01:40:59.914778 urib: "eigrp-1094": 0.0.0.0/0 no more next hops

Thanks for your help!!

4 Replies 4

mathiscostco
Level 1
Level 1

Here is a more direct statement of the question. R1 and R2 are each generating summaries to one another.   I was considering that perhaps EIGRP takes all feasible successor routes and presents them to the RIB, where there AD could be considered.  However, I adjusted the delay on R2's interface so that the route should no longer be considered a feasible succesor, and I still see the lower AD as the presented in the RIB.


On, R1, the feasible distance on the internal summary route is 2816.   The reported distance on the summary from R2 is 7680.   And yet, the summary from R2 has been selected and installed in the routing table, and the FD for the route is 7936:

R1#show ip eigrp topology 0.0.0.0/0
Load for five secs: 3%/0%; one minute: 1%; five minutes: 1%
Time source is hardware calendar, *17:13:25.331 UTC Wed Jul 20 2016

EIGRP-IPv4 Topology Entry for AS(1)/ID(10.0.12.1) for 0.0.0.0/0
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 7936
Descriptor Blocks:
10.0.12.2 (GigabitEthernet2/0), from 10.0.12.2, Send flag is 0x0
Composite metric is (7936/7680), route is Internal
Vector metric:
Minimum bandwidth is 1000000 Kbit
Total delay is 210 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Originating router is 10.0.12.2
Exterior flag is set
0.0.0.0 (Null0), from 0.0.0.0, Send flag is 0x0
Composite metric is (2816/0), route is Internal
Vector metric:
Minimum bandwidth is 1000000 Kbit
Total delay is 10 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 0
Originating router is 10.0.12.1


R1#show ip route 0.0.0.0
Load for five secs: 1%/0%; one minute: 1%; five minutes: 1%
Time source is hardware calendar, *17:10:59.815 UTC Wed Jul 20 2016

Routing entry for 0.0.0.0/0, supernet
Known via "eigrp 1", distance 90, metric 7936, candidate default path, type internal
Redistributing via eigrp 1
Last update from 10.0.12.2 on GigabitEthernet2/0, 00:23:01 ago
Routing Descriptor Blocks:
* 10.0.12.2, from 10.0.12.2, 00:23:01 ago, via GigabitEthernet2/0
Route metric is 7936, traffic share count is 1
Total delay is 210 microseconds, minimum bandwidth is 1000000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 1



Can someone help clarify why the above behavior happens?







R1#show debug
Load for five secs: 1%/100%; one minute: 1%; five minutes: 1%
Time source is hardware calendar, *17:20:19.615 UTC Wed Jul 20 2016

IP routing:
IP routing debugging is on
EIGRP:
Finite State Machine debugging is on

R1(config)#int g2/0
R1(config-if)#sh
R1(config-if)#no shut

*Jul 20 17:19:20.479: is_up: GigabitEthernet2/0 0 state: 6 sub state: 1 line: 0
*Jul 20 17:19:20.483: RT: interface GigabitEthernet2/0 removed from routing table
*Jul 20 17:19:20.487: RT: del 10.0.12.0 via 0.0.0.0, connected metric [0/0]
*Jul 20 17:19:20.487: RT: delete subnet route to 10.0.12.0/24
*Jul 20 17:19:20.491: RT: del 10.0.12.1 via 0.0.0.0, connected metric [0/0]
*Jul 20 17:19:20.495: RT: delete subnet route to 10.0.12.1/32
*Jul 20 17:19:20.515: EIGRP-IPv4(1): rcvupdate: 10.0.12.0/24 via Connected metric 72057594037927935/72057594037927935 on tid 0
*Jul 20 17:19:20.519: EIGRP-IPv4(1): Find FS for dest 10.0.12.0/24. FD is 2816, RD is 2816 on tid 0
*Jul 20 17:19:20.523: EIGRP-IPv4(1): 0.0.0.0 metric 72057594037927935/72057594037927935 not found Dmin is 72057594037927935
*Jul 20 17:19:20.527: DUAL: AS(1) Peer total 1 stub 0 template 1 for tid 0
*Jul 20 17:19:20.531: DUAL: AS(1) Dest 10.0.12.0/24 entering active state for tid 0.
*Jul 20 17:19:20.531: EIGRP-IPv4(1): Set reply-status table. Count is 1.
*J
R1(config-if)#no sh
R1(config-if)#ul 20 17:19:20.535: EIGRP-IPv4(1): Not doing split horizon
*Jul 20 17:19:20.535: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.0.12.2 (GigabitEthernet2/0) is down: interface down
*Jul 20 17:19:20.539: IGRP2: linkdown: start - 10.0.12.2 via GigabitEthernet2/0
*Jul 20 17:19:20.559: DUAL: Destination 0.0.0.0/0 for tid 0
*Jul 20 17:19:20.559: EIGRP-IPv4(1): Find FS for dest 0.0.0.0/0. FD is 7936, RD is 7936 on tid 0
*Jul 20 17:19:20.563: EIGRP-IPv4(1): 10.0.12.2 metric 72057594037927935/72057594037927935
*Jul 20 17:19:20.567: EIGRP-IPv4(1): 0.0.0.0 metric 2816/0 not found Dmin is 2816
*Jul 20 17:19:20.571: DUAL: AS(1) Peer total 0 stub 0 template 0 for tid 0
*Jul 20 17:19:20.571: DUAL: AS(1) Dest 0.0.0.0/0 (No peers) not entering active state for tid 0.
*Jul 20 17:19:20.575: RT: delete route to 0.0.0.0 via 10.0.12.2, eigrp metric [90/7936]
*Jul 20 17:19:20.575: RT: no routes to 0.0.0.0, delayed flush
*Jul 20 17:19:20.579: RT: default path has been cleared
*Jul 20 17:19:20.583
R1(config-if)#: RT: delete network route to 0.0.0.0/0
*Jul 20 17:19:20.583: DUAL: AS(1) Removing dest 0.0.0.0/0, nexthop 10.0.12.2
*Jul 20 17:19:20.583: RT: updating eigrp 0.0.0.0/0 (0x0):
via 0.0.0.0 Nu0 1048578

*Jul 20 17:19:20.587: RT: add 0.0.0.0/0 via 0.0.0.0, eigrp metric [254/2816]
*Jul 20 17:19:20.587: RT: default path is now 0.0.0.0 via 0.0.0.0
*Jul 20 17:19:20.587: DUAL: AS(1) RT installed 0.0.0.0/0 via 0.0.0.0
*Jul 20 17:19:20.587: DUAL: AS(1) Send update about 0.0.0.0/0. Reason: metric chg on tid 0
*Jul 20 17:19:20.587: DUAL: AS(1) Send update about 0.0.0.0/0. Reason: new if on tid 0
*Jul 20 17:19:20.587: DUAL: Destination 10.0.12.0/24 for tid 0
*Jul 20 17:19:20.587: DUAL: AS(1) Clearing handle 0, count now 0
*Jul 20 17:19:20.587: DUAL: AS(1) Freeing reply status table
*Jul 20 17:19:20.587: EIGRP-IPv4(1): Find FS for dest 10.0.12.0/24. FD is 72057594037927935, RD is 72057594037927935 on tid 0found
*Jul 20 17:19:20.587: DUAL: AS(1) Removing dest 10.0.12.0/24, nexthop
R1(config-if)#0.0.0.0
*Jul 20 17:19:20.587: DUAL: AS(1) No routes. Flushing dest 10.0.12.0/24
*Jul 20 17:19:20.587: DUAL: linkdown: finish
*Jul 20 17:19:20.587: EIGRP-IPv4(1): rcvupdate: 0.0.0.0/0 via Summary metric 72057594037927935/72057594037927935 on tid 0
*Jul 20 17:19:20.591: EIGRP-IPv4(1): Find FS for dest 0.0.0.0/0. FD is 2816, RD is 2816 on tid 0
*Jul 20 17:19:20.591: EIGRP-IPv4(1): 0.0.0.0 metric 72057594037927935/72057594037927935 not found Dmin is 72057594037927935
*Jul 20 17:19:20.591: DUAL: AS(1) Peer total 0 stub 0 template 0 for tid 0
*Jul 20 17:19:20.591: DUAL: AS(1) Dest 0.0.0.0/0 (No peers) not entering active state for tid 0.
*Jul 20 17:19:20.591: RT: delete route to 0.0.0.0 via 0.0.0.0, eigrp metric [254/2816]
*Jul 20 17:19:20.591: RT: no routes to 0.0.0.0, delayed flush
*Jul 20 17:19:20.591: RT: default path has been cleared
*Jul 20 17:19:20.591: RT: delete network route to 0.0.0.0/0
*Jul 20 17:19:20.591: DUAL: AS(1) Removing dest 0.0.0.0/0, nexthop 0.0.0.0
*Jul
R1(config-if)# 20 17:19:20.591: DUAL: AS(1) No routes. Flushing dest 0.0.0.0/0
*Jul 20 17:19:21.851: is_up: GigabitEthernet2/0 1 state: 4 sub state: 1 line: 1
*Jul 20 17:19:21.855: RT: updating connected 10.0.12.0/24 (0x0):
via 0.0.0.0 Gi2/0 1048578

*Jul 20 17:19:21.859: RT: add 10.0.12.0/24 via 0.0.0.0, connected metric [0/0]
*Jul 20 17:19:21.867: RT: interface GigabitEthernet2/0 added to routing table
*Jul 20 17:19:21.871: RT: updating connected 10.0.12.1/32 (0x0):
via 0.0.0.0 Gi2/0 1048578

*Jul 20 17:19:21.871: RT: network 10.0.0.0 is now variably masked
*Jul 20 17:19:21.875: RT: add 10.0.12.1/32 via 0.0.0.0, connected metric [0/0]
*Jul 20 17:19:21.911: EIGRP-IPv4(1): dest(10.0.12.0/24) not active
*Jul 20 17:19:21.915: EIGRP-IPv4(1): rcvupdate: 10.0.12.0/24 via Connected metric 2816/0 on tid 0
*Jul 20 17:19:21.919: EIGRP-IPv4(1): Find FS for dest 10.0.12.0/24. FD is 72057594037927935, RD is 72057594037927935 on tid 0found
*Jul 20 17:19:21.923: DUAL: AS(1) RT installed
R1(config-if)# 10.0.12.0/24 via 0.0.0.0
*Jul 20 17:19:21.927: DUAL: AS(1) Send update about 10.0.12.0/24. Reason: metric chg on tid 0
*Jul 20 17:19:21.927: DUAL: AS(1) Send update about 10.0.12.0/24. Reason: new if on tid 0
*Jul 20 17:19:21.963: EIGRP-IPv4(1): dest(0.0.0.0/0) not active
*Jul 20 17:19:21.963: EIGRP-IPv4(1): rcvupdate: 0.0.0.0/0 via Summary metric 2816/0 on tid 0
*Jul 20 17:19:21.967: EIGRP-IPv4(1): Find FS for dest 0.0.0.0/0. FD is 72057594037927935, RD is 72057594037927935 on tid 0found
*Jul 20 17:19:21.971: RT: updating eigrp 0.0.0.0/0 (0x0):
via 0.0.0.0 Nu0 1048578

*Jul 20 17:19:21.975: RT: add 0.0.0.0/0 via 0.0.0.0, eigrp metric [254/2816]
*Jul 20 17:19:21.979: RT: default path is now 0.0.0.0 via 0.0.0.0
*Jul 20 17:19:21.983: DUAL: AS(1) RT installed 0.0.0.0/0 via 0.0.0.0
*Jul 20 17:19:21.983: DUAL: AS(1) Send update about 0.0.0.0/0. Reason: metric chg on tid 0
*Jul 20 17:19:21.987: DUAL: AS(1) Send update about 0.0.0.0/0. Reason: new if on tid 0
*Jul 20 17:1
R1(config-if)#9:23.463: is_up: GigabitEthernet2/0 1 state: 4 sub state: 1 line: 1
*Jul 20 17:19:23.463: RT: updating connected 10.0.12.0/24 (0x0):
via 0.0.0.0 Gi2/0 1048578

*Jul 20 17:19:23.467: RT: updating connected 10.0.12.1/32 (0x0):
via 0.0.0.0 Gi2/0 1048578

R1(config-if)#
*Jul 20 17:19:26.267: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 10.0.12.2 (GigabitEthernet2/0) is up: new adjacency
R1(config-if)#
*Jul 20 17:19:31.303: EIGRP-IPv4(1): dest(0.0.0.0/0) not active
*Jul 20 17:19:31.307: EIGRP-IPv4(1): rcvupdate: 0.0.0.0/0 via 10.0.12.2 metric 7936/7680 on tid 0
*Jul 20 17:19:31.307: EIGRP-IPv4(1): Find FS for dest 0.0.0.0/0. FD is 2816, RD is 2816 on tid 0
*Jul 20 17:19:31.307: EIGRP-IPv4(1): 0.0.0.0 metric 2816/0
*Jul 20 17:19:31.307: EIGRP-IPv4(1): 10.0.12.2 metric 7936/7680 found Dmin is 2816
*Jul 20 17:19:31.307: RT: updating eigrp 0.0.0.0/0 (0x0):
via 0.0.0.0 Nu0 1048578

*Jul 20 17:19:31.307: DUAL: AS(1) RT installed 0.0.0.0/0 via 0.0.0.0
*Jul 20 17:19:31.307: RT: updating eigrp 0.0.0.0/0 (0x0):
via 10.0.12.2 Gi2/0 1048578

*Jul 20 17:19:31.307: RT: closer admin distance for 0.0.0.0, flushing 1 routes
*Jul 20 17:19:31.307: RT: add 0.0.0.0/0 via 10.0.12.2, eigrp metric [90/7936]
*Jul 20 17:19:31.307: RT: 0.0.0.0 is now exterior
*Jul 20 17:19:31.307: DUAL: AS(1) RT installed 0.0.0.0/0 via 10.0.12.2
*Jul 20 17:19:31.307: EIGRP-IPv4(1): Find FS for de
R1(config-if)#
R1(config-if)#st 0.0.0.0/0. FD is 0, RD is 2816 on tid 0
*Jul 20 17:19:31.307: EIGRP-IPv4(1): 10.0.12.2 metric 7936/7680
*Jul 20 17:19:31.307: EIGRP-IPv4(1): 0.0.0.0 metric 2816/0 not found Dmin is 2816
*Jul 20 17:19:31.307: DUAL: AS(1) Peer total 1 stub 0 template 1 for tid 0
*Jul 20 17:19:31.307: DUAL: AS(1) Dest 0.0.0.0/0 entering active state for tid 0.
*Jul 20 17:19:31.307: EIGRP-IPv4(1): Set reply-status table. Count is 1.
*Jul 20 17:19:31.307: EIGRP-IPv4(1): Not doing split horizon
*Jul 20 17:19:32.207: EIGRP-IPv4(1): rcvreply: 0.0.0.0/0 via 10.0.12.2 metric 7936/7680 for tid 0
*Jul 20 17:19:32.211: EIGRP-IPv4(1): reply count is 1
*Jul 20 17:19:32.211: DUAL: AS(1) Clearing handle 0, count now 0
*Jul 20 17:19:32.211: DUAL: AS(1) Freeing reply status table
*Jul 20 17:19:32.211: EIGRP-IPv4(1): Find FS for dest 0.0.0.0/0. FD is 72057594037927935, RD is 72057594037927935 on tid 0found
*Jul 20 17:19:32.211: RT: updating eigrp 0.0.0.0/0 (0x0):
via 10.0.12.2 Gi2/0 1048578

R1(config-if)#
R1(config-if)#
*Jul 20 17:19:32.215: DUAL: AS(1) RT installed 0.0.0.0/0 via 10.0.12.2
*Jul 20 17:19:32.219: RT: updating eigrp 0.0.0.0/0 (0x0):
via 0.0.0.0 Nu0 1048578

*Jul 20 17:19:32.219: RT: rib update return code: 17
*Jul 20 17:19:32.219: DUAL: AS(1) Send update about 0.0.0.0/0. Reason: metric chg on tid 0

Looking at this a little bit closer, I see that the answer is pretty simple.  AD takes precedence over metric even within the protocol.   Summary routes are not a special case, it applies to any routes.  I erroneously thought that within the routing protocol metric would take precedence over AD, and then present the best route based on metric to the RIB.

Here I have two routes to 10.0.100.0/24:
R2#show ip eigrp topology 10.0.100.0/24
Load for five secs: 3%/100%; one minute: 2%; five minutes: 1%
Time source is hardware calendar, *17:15:57.483 UTC Thu Jul 21 2016
EIGRP-IPv4 Topology Entry for AS(1)/ID(10.0.23.2) for 10.0.100.0/24
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 28416
  Descriptor Blocks:
  10.0.12.1 (GigabitEthernet1/0), from 10.0.12.1, Send flag is 0x0
      Composite metric is (28416/25856), route is Internal
      Vector metric:
        Minimum bandwidth is 1000000 Kbit
        Total delay is 1010 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 1
        Originating router is 10.0.12.1
  10.0.23.3 (GigabitEthernet2/0), from 10.0.23.3, Send flag is 0x0
      Composite metric is (130816/128256), route is Internal
      Vector metric:
        Minimum bandwidth is 1000000 Kbit
        Total delay is 5010 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 1
        Originating router is 10.0.23.3
The route from 10.0.12.1 has the worse metric, but when the AD is set it is preferred in the RIB.
router eigrp 1
 network 0.0.0.0
 distance 80 10.0.12.1 0.0.0.0 DISTANCE-80
R2#show ip route 10.0.100.0
Load for five secs: 3%/0%; one minute: 1%; five minutes: 1%
Time source is hardware calendar, *17:18:56.827 UTC Thu Jul 21 2016
Routing entry for 10.0.100.0/24
  Known via "eigrp 1", distance 80, metric 28416, type internal
  Redistributing via eigrp 1
  Last update from 10.0.12.1 on GigabitEthernet1/0, 00:03:44 ago
  Routing Descriptor Blocks:
  * 10.0.12.1, from 10.0.12.1, 00:03:44 ago, via GigabitEthernet1/0
      Route metric is 28416, traffic share count is 1
      Total delay is 1010 microseconds, minimum bandwidth is 1000000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1

mathiscostco
Level 1
Level 1

Additional information from TAC:

There are some side effects with creating a summary default route when there is also a learned default route. It is not common practice to summarize a route that  exists in the same protocol.

 

This is not Design best practice and even though supported  we do not recommend this approach.

 

There is a slight difference in NXOS vs IOS behavior with respect to this. In classic IOS the behavior is to advertise the  best route, this will depend on the AD of the summary route, and learned routes.  It will still summarize and not send more specific  routes but if the AD of summary is for example 255 and the learned route is 170 (eigrp external) then the learned route will be  advertised.

 

However in NXOS a summary is advertised as eigrp internal, and we always send the summary not the best route, even if the best  route has lower AD.  What this means is that a learned EIGRP external default would not be advertised and the summary would be  advertised as eigrp internal (ad 90).

 

This could end up causing issues as the advertised route is actually better than the learned route.  The general consensus internally is that we need to be careful or this can create suboptimal routing or worse a routing loop.

 

I would suggest to advertise the learned EIGRP default route rather than summarize or use default information-originate.    I understand you are doing this to filter the more specific routes at the boundary, best practice would be to filter outbound or inbound on the neighbor rather than summarize with an overlapping route as you did in last MW.