If you are both connected to the same upstream, but the customer wants traffic destined to the upstream to go through you (in and out), then they need to do something on their devices to try and affect the inbound path to their AS. From the upstream carrier in question they’ll take the best path to a prefix, which direct connection is generally going to be preferred over a transit AS (basic BGP best path algorithm stuff) unless there is some manipulation of the prefix advertisement happening. To confirm the path being taken you should be able to do a few trace routes from various locations as well as use looking glasses. Now the sflow data is an entirely different thing to analyze. On Tue, Apr 4, 2023 at 7:45 AM Mike Hammett <nanog@ics-il.net> wrote:
sh ip bgp neighbor advertised-routes shows the only routes being advertised to Y are the routes that should be advertised to them. I checked a variety of other peers and have the expected results.
From my perspective:
Packets come in on port A, supposed to leave on port X, but they leave on port Y. All of the troubleshooting steps I've done on my own (or suggested by mailing lists) say the packets should be leaving on the desired port X.
From the customer's perspective, they're supposed to be coming from me on port X, but they're arriving on port Y, another network.
Port X in both scenarios is our direct connection, while port Y is a mutual upstream provider.
Without knowing more about the specific platform, it seems to me like a bug in the platform. If all indicators (not just configurations, but show commands as well) say the packet should be leaving on X and it leaves on Y, then I'm not sure what else it could be, besides a bug.
----- Mike Hammett Intelligent Computing Solutions http://www.ics-il.com
Midwest-IX http://www.midwest-ix.com
------------------------------ *From: *"David Bass" <davidbass570@gmail.com> *To: *"Mike Hammett" <nanog@ics-il.net> *Cc: *"Matthew Huff" <mhuff@ox.com>, "NANOG" <nanog@nanog.org> *Sent: *Monday, April 3, 2023 9:12:52 PM
*Subject: *Re: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging
You said that they are seeing traffic from another upstream…are you advertising the prefix to them? Are you advertising their prefix to your upstream?
Looks like the route maps are involved in some dual redistribution…might want to make sure everything is matching correctly, and being advertised like you want.
On Mon, Apr 3, 2023 at 4:20 PM Mike Hammett <nanog@ics-il.net> wrote:
I don't see any route-maps applied to interfaces, so there must not be any PBR going on. I only see ACLs, setting communities, setting local pref, etc. in the route maps that are applied to neighbors.
----- Mike Hammett Intelligent Computing Solutions http://www.ics-il.com
Midwest-IX http://www.midwest-ix.com
------------------------------ *From: *"Mike Hammett" <nanog@ics-il.net> *To: *"Matthew Huff" <mhuff@ox.com> *Cc: *"NANOG" <nanog@nanog.org> *Sent: *Monday, April 3, 2023 8:26:30 AM
*Subject: *Re: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging
Only two VRFs, default and manangement. IIRC, everything I saw before mentioned the default VRF.
I do see a ton of route-maps. It's mostly Greek to me, so I'll have to dig through this a bit to see what's going on.
----- Mike Hammett Intelligent Computing Solutions http://www.ics-il.com
Midwest-IX http://www.midwest-ix.com
------------------------------ *From: *"Matthew Huff" <mhuff@ox.com> *To: *"Mike Hammett" <nanog@ics-il.net> *Cc: *"NANOG" <nanog@nanog.org> *Sent: *Monday, April 3, 2023 8:06:51 AM *Subject: *RE: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging
What about VRFs and/or policy based routing?
switch-core1# show vrf VRF-Name VRF-ID State Reason
default 1 Up --
management 2 Up --
switch-core1# show route-map route-map rmap_bgp_to_eigrp_b2b, permit, sequence 10 Match clauses: interface: Ethernet1/33 route-type: internal Set clauses: metric 40000000 10 255 1 1500 route-map rmap_bgp_to_eigrp_b2b, permit, sequence 20 Match clauses: interface: Ethernet1/34 route-type: internal Set clauses: metric 40000000 30 255 1 1500 route-map rmap_static_to_eigrp, permit, sequence 10 Match clauses: ip address prefix-lists: prefix_static_to_eigrp Set clauses: route-map rmap_static_to_eigrp_v6, permit, sequence 10 Match clauses: ipv6 address prefix-lists: prefix_ipv6_static_to_eigrp Set clauses:
From: Mike Hammett <nanog@ics-il.net> Sent: Monday, April 3, 2023 9:00 AM To: Matthew Huff <mhuff@ox.com> Cc: NANOG <nanog@nanog.org> Subject: Re: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging
It could be an sFlow bug, but I come at this from a reported problem and gathering data on that problem as opposed to looking at data for problems.
The snmp if index reported by the Nexus matches the if index in ElastiFlow.
----- Mike Hammett Intelligent Computing Solutions http://www.ics-il.com
Midwest-IX http://www.midwest-ix.com
________________________________________ From: "Matthew Huff" <mailto:mhuff@ox.com> To: "Mike Hammett" <mailto:nanog@ics-il.net> Cc: "NANOG" <mailto:nanog@nanog.org> Sent: Monday, April 3, 2023 7:50:08 AM Subject: RE: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging SFlow misconfiguration or bug on either the nexus or the sflow monitor? On the monitor, can you verify that the snmp interfaces are mapped to the correct ones on the nexus?
From: Mike Hammett <mailto:nanog@ics-il.net> Sent: Monday, April 3, 2023 8:47 AM To: Matthew Huff <mailto:mhuff@ox.com> Cc: NANOG <mailto:nanog@nanog.org> Subject: Re: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging
It shows the desired result.
----- Mike Hammett Intelligent Computing Solutions http://www.ics-il.com
Midwest-IX http://www.midwest-ix.com
________________________________________ From: "Matthew Huff" <mailto:mhuff@ox.com> To: "Mike Hammett" <mailto:nanog@ics-il.net>, "NANOG" <mailto: nanog@nanog.org> Sent: Monday, April 3, 2023 5:38:23 AM Subject: RE: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging
switch-core1# sh forwarding route x.x.x.x
slot 1 =======
IPv4 routes for table default/base
------------------+-----------------------------------------+----------------------+-----------------+----------------- Prefix | Next-hop | Interface | Labels | Partial Install
------------------+-----------------------------------------+----------------------+-----------------+----------------- x.x.x.x/24 x.x.x.250 Ethernet1/29
switch-core1# show routing hash x.x.x.x y.y.y.y Load-share parameters used for software forwarding: load-share mode: address source-destination port source-destination Hash for VRF "default" Hashing to path *y.y.y.y Eth1/29 For route: y.y.y.0/24, ubest/mbest: 1/0 *via z.z.z.z, Eth1/29, [90/3072], 1w2d, eigrp-100, internal
From: NANOG <mailto:nanog-bounces+mhuff=ox.com@nanog.org> On Behalf Of Mike Hammett Sent: Monday, April 3, 2023 1:21 AM To: NANOG <mailto:nanog@nanog.org> Subject: Cisco Nexus 3k Route Selection\Packet Forwarding Debugging
We have a Nexus 3064 that is setup with partial BGP tables and is routing based on that.
I've done a show ip bgp for an IP of interest and it has an expected next hop IP. I show ip arp on that next hop IP and it has the expected interface.
However, sFlows show the packets leaving on a different interface, the one that would carry the default route for routes not otherwise known.
If the next hop IP is expected and the ARP of that next hop IP is expected, why are packets leaving out an unexpected interface?
----- Mike Hammett Intelligent Computing Solutions http://www.ics-il.com
Midwest-IX http://www.midwest-ix.com