12-16-2024 12:09 PM
Hello,
I have the following environment:
I am facing a problem where in an EPG, endpoints are either not learned at all or end up disappearing. Some endpoints stay at learned via VMM, not via dataplane, so traffic doesn`t work. This occurs with the following Bridge Domain config:
Bridge Domain
- L2 Unknown Unicast: Hardware Proxy
- ARP Flooding: Enabled
- Unicast Routing: Enabled
- IP in Bridge Domain
I can`t make traffic work with Hardware Proxy, but with Flooding enabled, it works! But the endpoints are still not learned, even with traffic going. So I am pondering of when does ACI does not learn an endpoint?
I guess ARP Gleaning is not working because 1. ARP Flooding is enabled and 2. Maybe traffic is unicast.
Could the endpoints be silent hosts? But wouldn`t the ARP Flooding make it work? Wouldn`t the sender of the ARP make ACI learn it, then the ARP reply also make ACI learn the destination?
I found something about L2 (switched) traffic being dropped if ACI doesn`t know where to send (I guess this is with Hardware Proxy). Bit confused.
Solved! Go to Solution.
01-07-2025 02:40 AM
Hello @BertiniB
Your issue seems to revolve around how Cisco ACI learns endpoints and how the Bridge Domain (BD) configuration impacts endpoint learning and traffic forwarding. Let’s break this down and address your concerns step by step.
In Cisco ACI, endpoints are learned in two primary ways:
Your Bridge Domain configuration is as follows:
There are several reasons why endpoints might not be learned in your scenario:
Silent hosts are devices that do not send any traffic until they receive traffic first. Examples include some IoT devices, printers, or servers waiting for incoming connections. ACI cannot learn silent hosts via the data plane because they do not generate any traffic.
ARP Gleaning is a mechanism where ACI intercepts ARP requests and uses them to learn endpoints. However, ARP Gleaning is disabled when ARP Flooding is enabled. This is because ARP Flooding bypasses the control plane and floods ARP requests directly to all ports in the BD.
When "Hardware Proxy" is enabled for L2 unknown unicast traffic, ACI relies on the control plane to determine the destination of unknown unicast traffic. If the endpoint is not learned (e.g., due to silent hosts or ARP Gleaning being disabled), the traffic will be dropped.
You mentioned that some endpoints are learned via VMM (Virtual Machine Manager) but not via the data plane. This suggests that ACI is receiving endpoint information from the VMM domain but is not learning endpoints dynamically from traffic. This could be due to silent hosts or the BD configuration (e.g., ARP Flooding disabling ARP Gleaning).
When you enable flooding for L2 unknown unicast traffic, ACI floods the traffic to all ports in the BD. This ensures that the traffic reaches its destination, even if the endpoint is not learned. However, this is not an ideal solution because:
To address your issue, consider the following steps:
Disabling ARP Flooding will allow ACI to use ARP Gleaning to learn endpoints. This is generally the recommended approach unless you have a specific requirement to flood ARP traffic.
Check if the endpoints are silent hosts. If they are, you may need to generate some traffic from these endpoints to ensure they are learned by ACI.
For silent hosts or devices that do not generate traffic, you can configure static bindings for their MAC and/or IP addresses in ACI. This ensures that ACI knows where to forward traffic for these endpoints.
Ensure that the VMM domain is properly integrated with ACI and that endpoint information is being correctly propagated to the fabric.
If you cannot resolve the issue with endpoint learning, you can enable flooding for L2 unknown unicast traffic as a temporary workaround. However, this should only be used as a last resort.
The root cause of your issue is likely the combination of ARP Flooding being enabled (which disables ARP Gleaning) and the presence of silent hosts. Disabling ARP Flooding and relying on ARP Gleaning should help ACI learn endpoints dynamically. If silent hosts are the issue, consider generating traffic from these hosts or configuring static bindings.
Hope This Helps!!!
AshSe
Forum Tips:
01-07-2025 02:40 AM
Hello @BertiniB
Your issue seems to revolve around how Cisco ACI learns endpoints and how the Bridge Domain (BD) configuration impacts endpoint learning and traffic forwarding. Let’s break this down and address your concerns step by step.
In Cisco ACI, endpoints are learned in two primary ways:
Your Bridge Domain configuration is as follows:
There are several reasons why endpoints might not be learned in your scenario:
Silent hosts are devices that do not send any traffic until they receive traffic first. Examples include some IoT devices, printers, or servers waiting for incoming connections. ACI cannot learn silent hosts via the data plane because they do not generate any traffic.
ARP Gleaning is a mechanism where ACI intercepts ARP requests and uses them to learn endpoints. However, ARP Gleaning is disabled when ARP Flooding is enabled. This is because ARP Flooding bypasses the control plane and floods ARP requests directly to all ports in the BD.
When "Hardware Proxy" is enabled for L2 unknown unicast traffic, ACI relies on the control plane to determine the destination of unknown unicast traffic. If the endpoint is not learned (e.g., due to silent hosts or ARP Gleaning being disabled), the traffic will be dropped.
You mentioned that some endpoints are learned via VMM (Virtual Machine Manager) but not via the data plane. This suggests that ACI is receiving endpoint information from the VMM domain but is not learning endpoints dynamically from traffic. This could be due to silent hosts or the BD configuration (e.g., ARP Flooding disabling ARP Gleaning).
When you enable flooding for L2 unknown unicast traffic, ACI floods the traffic to all ports in the BD. This ensures that the traffic reaches its destination, even if the endpoint is not learned. However, this is not an ideal solution because:
To address your issue, consider the following steps:
Disabling ARP Flooding will allow ACI to use ARP Gleaning to learn endpoints. This is generally the recommended approach unless you have a specific requirement to flood ARP traffic.
Check if the endpoints are silent hosts. If they are, you may need to generate some traffic from these endpoints to ensure they are learned by ACI.
For silent hosts or devices that do not generate traffic, you can configure static bindings for their MAC and/or IP addresses in ACI. This ensures that ACI knows where to forward traffic for these endpoints.
Ensure that the VMM domain is properly integrated with ACI and that endpoint information is being correctly propagated to the fabric.
If you cannot resolve the issue with endpoint learning, you can enable flooding for L2 unknown unicast traffic as a temporary workaround. However, this should only be used as a last resort.
The root cause of your issue is likely the combination of ARP Flooding being enabled (which disables ARP Gleaning) and the presence of silent hosts. Disabling ARP Flooding and relying on ARP Gleaning should help ACI learn endpoints dynamically. If silent hosts are the issue, consider generating traffic from these hosts or configuring static bindings.
Hope This Helps!!!
AshSe
Forum Tips:
01-17-2025 01:31 PM
Thanks @AshSe!
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide