> > Different HW may have different version format, so it is better to use > > string. > > > > And I prefer the API definition in your v2 patch like > > > > rte_eth_dev_fwver_get(uint8_t port_id, char *fw_version, int > > fw_length); > > The problem with this is the format and content of the string is not defined, > as > you said different HW has different version format. This is no problem if you > will > only print the string. > > But this is a public API, if an application wants to call this API and do > something > useful according the FW version information, it will need to parse the > string, and > it will not able to parse it because format of the string is not defined. By > making > API fill some defined variables, app won't need to parse them, and API output > won't be HW dependent. >
As my understand, the firmware version is specific things to each HW. The format cannot be generic at all, or at least we have no standard to follow. I think the API should not be HW dependent, but about the output, application should know What the string's meaning. Otherwise why we need to provide the firmware info? Thanks Jingjing