freeipmi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Freeipmi-devel] [bug #38781] Errant "Legacy PAD" byte added to IPMI 2.0


From: Rob Swindell
Subject: [Freeipmi-devel] [bug #38781] Errant "Legacy PAD" byte added to IPMI 2.0 (RMCP+) packets
Date: Tue, 07 May 2013 23:51:20 +0000
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0

Follow-up Comment #6, bug #38781 (project freeipmi):

Just so you are aware, the still-existing code in ipmi_lan_sendto() is still
incorrect for IPMI 1.5 compatibility:

  /*
    Note from Table 12-8, RMCP Packet for IPMI via Ethernet footnote
    Some LAN adapter chips may have a problem where packets of overall
    lengths 56, 84, 112, 128, or 156 are not handled correctly. The
    PAD byte is added as necessary to avoid these overall
    lengths. Remote console software must use the PAD byte when
    formatting packets to any 10/100 Ethernet device that accepts RMCP
    packets. -- Anand Babu
  */
  _len = len;
  if (_len == 56
      || _len == 84
      || _len == 112
      || _len == 128
      || _len == 156)
    pad_len += IPMI_LAN_PKT_PAD_SIZE;

Note the words "overall length" are used here in the comment (and in the
specification), yet the length value being compared here is only the UDP
payload length (*not* the "overall length").

If you really want this code to be correct, you would need to calculate the
"overall length" of the Ethernet frame, which includes Ethernet frame header
and CRC, IP header, and UDP header. Or perhaps the "overall length" only
includes the UDP/IP portion - the specification just says "packets of overall
lengths", so that's a little bit vague.

My guess is that this "Legacy PAD" probably isn't needed by whatever broken
network controllers required it 10+ years ago and since FreeIPMI isn't padding
the correct packets anyway, I suggest just removing this code. It's wrong.

-Rob

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?38781>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]