Skip to content

feat: ssh-console use ASF Presence Ping for IPMI check #4860

Description

@akorobkov-nvda

Is this a new feature, an enhancement, or a change to existing functionality?

Enhancement

How would you describe the priority of this feature request

Medium

Please provide a clear description of problem this feature solves

ssh-console uses icmp ping to check if an IPMI endpoint is reachable before attempting to connect. This is unreliable because:

  1. Kubernetes Service ClusterIPs don't respond to ICMP ping. We use ClusterIPs with Machine-a-tron simulations.
  2. Network acls, firewalls may block icmp traffic while allowing IPMI udp.

Current behavior:

  • ssh-console spawns ping -c 1 -W 2 <ip> for IPMI endpoints
  • Kubernetes ClusterIPs don't respond to ICMP
  • Results in "BMC is not listening" even when IPMI is reachable

Feature Description

Replace icmp ping with an ASF Presence Ping (RMCP UDP probe). This is the standard way to check IPMI reachability (IPMI v2.0 spec, section 13.2.3) and probes the actual IPMI service rather than relying on icmp

Describe your ideal solution

Proposed solution:

  1. Send a 12-byte ASF Presence Ping packet to the IPMI UDP port
  2. Wait for a Presence Pong response
  3. Returns true if the IPMI endpoint responds

Describe any alternatives you have considered

No response

Additional context

IPMI v2 spec:
https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/ipmi-intelligent-platform-mgt-interface-spec-2nd-gen-v2-0-spec-update.pdf

Code of Conduct

  • I agree to follow NVIDIA Infra Controller's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request

Metadata

Metadata

Labels

featureFeature (deprecated - use issue type, but it's needed for reporting now)ssh consoleaffects ssh console

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions