On 5/4/17 5:07 PM, Stephen Hemminger wrote:
On Thu, 4 May 2017 14:46:34 -0700 Girish Moodalbail <[email protected]> wrote:Ability to change vxlan device attributes was added to kernel through commit 8bcdc4f3a20b ("vxlan: add changelink support"), however one cannot do the same through ip(8) command. Changing the allowed vxlan device attributes using 'ip link set dev <vxlan_name> type vxlan <allowed_attributes>' currently fails with 'operation not supported' error. This failure is due to the incorrect rtnetlink message construction for the 'ip link set' operation. The vxlan_parse_opt() callback function is called for parsing options for both 'ip link add' and 'ip link set'. For the 'add' case, we pass down default values for those attributes that were not provided as CLI options. However, for the 'set' case we should be only passing down the explicitly provided attributes and not any other (default) attributes. Signed-off-by: Girish Moodalbail <[email protected]> ---All these foo_set variables are ugly. This looks almost like machine generated code. It doesn't read well.
I thought about it, however I wasn't sure if refactoring that whole routine will be well received so I decided to follow the current model that already existed in iplink_vxlan.c. I will re-submit a patch cleaning up that whole routine.
thanks, ~Girish
