On 5/4/17 5:07 PM, Stephen Hemminger wrote:
On Thu,  4 May 2017 14:46:34 -0700
Girish Moodalbail <girish.moodalb...@oracle.com> 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 <girish.moodalb...@oracle.com>
---

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

Reply via email to