|  | From f367f115a327ca07a294022bc296b4a2fd4e8f8c Mon Sep 17 00:00:00 2001 | 
|  | From: Lorenz Brun <lorenz@monogon.tech> | 
|  | Date: Thu, 6 Apr 2023 23:06:03 +0200 | 
|  | Subject: [PATCH] Use RTM_SETLINK where appropriate | 
|  |  | 
|  | --- | 
|  | link_linux.go | 12 ++++++------ | 
|  | 1 file changed, 6 insertions(+), 6 deletions(-) | 
|  |  | 
|  | diff --git a/link_linux.go b/link_linux.go | 
|  | index cc80fb6..db89880 100644 | 
|  | --- a/link_linux.go | 
|  | +++ b/link_linux.go | 
|  | @@ -332,7 +332,7 @@ func BridgeSetMcastSnoop(link Link, on bool) error { | 
|  | func (h *Handle) BridgeSetMcastSnoop(link Link, on bool) error { | 
|  | bridge := link.(*Bridge) | 
|  | bridge.MulticastSnooping = &on | 
|  | -	return h.linkModify(bridge, unix.NLM_F_ACK) | 
|  | +	return h.linkModify(bridge, unix.RTM_SETLINK, unix.NLM_F_ACK) | 
|  | } | 
|  |  | 
|  | func BridgeSetVlanFiltering(link Link, on bool) error { | 
|  | @@ -342,7 +342,7 @@ func BridgeSetVlanFiltering(link Link, on bool) error { | 
|  | func (h *Handle) BridgeSetVlanFiltering(link Link, on bool) error { | 
|  | bridge := link.(*Bridge) | 
|  | bridge.VlanFiltering = &on | 
|  | -	return h.linkModify(bridge, unix.NLM_F_ACK) | 
|  | +	return h.linkModify(bridge, unix.RTM_SETLINK, unix.NLM_F_ACK) | 
|  | } | 
|  |  | 
|  | func SetPromiscOn(link Link) error { | 
|  | @@ -1197,7 +1197,7 @@ func LinkAdd(link Link) error { | 
|  | // are taken from the parameters in the link object. | 
|  | // Equivalent to: `ip link add $link` | 
|  | func (h *Handle) LinkAdd(link Link) error { | 
|  | -	return h.linkModify(link, unix.NLM_F_CREATE|unix.NLM_F_EXCL|unix.NLM_F_ACK) | 
|  | +	return h.linkModify(link, unix.RTM_NEWLINK, unix.NLM_F_CREATE|unix.NLM_F_EXCL|unix.NLM_F_ACK) | 
|  | } | 
|  |  | 
|  | func LinkModify(link Link) error { | 
|  | @@ -1205,10 +1205,10 @@ func LinkModify(link Link) error { | 
|  | } | 
|  |  | 
|  | func (h *Handle) LinkModify(link Link) error { | 
|  | -	return h.linkModify(link, unix.NLM_F_REQUEST|unix.NLM_F_ACK) | 
|  | +	return h.linkModify(link, unix.RTM_SETLINK, unix.NLM_F_REQUEST|unix.NLM_F_ACK) | 
|  | } | 
|  |  | 
|  | -func (h *Handle) linkModify(link Link, flags int) error { | 
|  | +func (h *Handle) linkModify(link Link, proto, flags int) error { | 
|  | // TODO: support extra data for macvlan | 
|  | base := link.Attrs() | 
|  |  | 
|  | @@ -1373,7 +1373,7 @@ func (h *Handle) linkModify(link Link, flags int) error { | 
|  | return nil | 
|  | } | 
|  |  | 
|  | -	req := h.newNetlinkRequest(unix.RTM_NEWLINK, flags) | 
|  | +	req := h.newNetlinkRequest(proto, flags) | 
|  |  | 
|  | msg := nl.NewIfInfomsg(unix.AF_UNSPEC) | 
|  | // TODO: make it shorter | 
|  | -- | 
|  | 2.39.2 | 
|  |  |