Description
In LNet (lnet-types.h), the enum constants are started from 0 and so the values are given per the position in the struct. It looks like this.
enum lnet_msg_type {
LNET_MSG_ACK = 0,
LNET_MSG_PUT,
LNET_MSG_GET,
LNET_MSG_REPLY,
LNET_MSG_HELLO,
};
This should be fixed and be given specific values.
As Andreas pointed out - "This avoids bugs in the future if one of these constants is deleted, or if someone accidentally tries to add a value in the middle of the list, which would bump up all of the following values by one and break the network protocol compatibility."