Fri, Aug 30, 2019 at 04:47:41PM CEST, dsah...@gmail.com wrote: >On 8/30/19 8:35 AM, Roopa Prabhu wrote: >> On Wed, Aug 28, 2019 at 10:26 PM Michal Kubecek <mkube...@suse.cz> wrote: >>> >>> On Wed, Aug 28, 2019 at 09:36:41PM -0700, Roopa Prabhu wrote: >>>> >>>> yes, correct. I mentioned that because I was wondering if we can >>>> think along the same lines for this API. >>>> eg >>>> (a) RTM_NEWLINK always replaces the list attribute >>>> (b) RTM_SETLINK with NLM_F_APPEND always appends to the list attribute >>>> (c) RTM_DELLINK with NLM_F_APPEND updates the list attribute >>>> >>>> (It could be NLM_F_UPDATE if NLM_F_APPEND sounds weird in the del >>>> case. I have not looked at the full dellink path if it will work >>>> neatly..its been a busy day ) >>> >>> AFAICS rtnl_dellink() calls nlmsg_parse_deprecated() so that even >>> current code would ignore any future attribute in RTM_DELLINK message >>> (any kernel before the strict validation was introduced definitely will) >>> and it does not seem to check NLM_F_APPEND or NLM_F_UPDATE either. So >>> unless I missed something, such message would result in deleting the >>> network device (if possible) with any kernel not implementing the >>> feature. >> >> ok, ack. yes today it does. I was hinting if that can be changed to >> support list update with a flag like the RTM_DELLINK AF_BRIDGE does >> for vlan list del. >> >> so to summarize, i think we have discussed the following options to >> update a netlink list attribute so far: >> (a) encode an optional attribute/flag in the list attribute in >> RTM_SETLINK to indicate if it is a add or del > >The ALT_IFNAME attribute could also be a struct that has both the string >and a flag.
Not a struct, please :/ > >> (b) Use a flag in RTM_SETLINK and RTM_DELINK to indicate add/del >> (close to bridge vlan add/del) >> (c) introduce a separate generic msg type to add/del to a list >> attribute (IIUC this does need a separate msg type per subsystem or >> netlink API) >> >