Sorry that it seems I missed this mail. See my replies inline. > I'll add a note that the user is allowed to pass class as NULL. > > Is it possible for a user to do this: > > a) Create a persistent link net0 with class a > b) create a temporary link net0 with class b, which is then made active > > If so, then I think we need to keep flags as is so that the user can > chose which link's information he wants. > I don't think the case you mentioned is allowed.
>> d. dladm_write_conf() >> >> What exactly do you mean an update collision? Does it strictly check >> <linkname, linkid> mapping collision or it checks other attribute as >> well? For example, the processing of a modify-aggr subcommand would be: >> >> dladm_read_conf(linkid, &conf); >> dladm_set_conf_field(conf, FPOLICY, &attrp->ld_policy, >> DLADM_TYPE_UINT32); >> dladm_write_conf(conf); >> >> Is that enough? Will it cause update collision? (because the link and >> specific conf field already exist and this is an update operation.) >> > > The update collision I had in mind was if someone updated the > configuration since the last read. Using your example above, if another > process updated the persistent storage between the call to > dladm_read_conf and the call to dladm_write_conf, dladm_write_conf would > return DLADM_STATUS_COLLISION. > So that you will check the thread the caller belongs to? How? Thanks - Cathy
