From 5ecc0c63acfa30e62bf612129d9783d77961fffc Mon Sep 17 00:00:00 2001 From: Matt Layher Date: Wed, 14 Jul 2021 07:25:21 -0600 Subject: [PATCH] rtnetlink: expose Conn.SetOption from underlying netlink.Conn (#123) Signed-off-by: Matt Layher Co-authored-by: Jeroen Simonetti --- conn.go | 6 ++++++ conn_test.go | 1 + 2 files changed, 7 insertions(+) diff --git a/conn.go b/conn.go index 09d9d7d..54254ae 100644 --- a/conn.go +++ b/conn.go @@ -27,6 +27,7 @@ type conn interface { Send(m netlink.Message) (netlink.Message, error) Receive() ([]netlink.Message, error) Execute(m netlink.Message) ([]netlink.Message, error) + SetOption(option netlink.ConnOption, enable bool) error SetReadDeadline(t time.Time) error } @@ -62,6 +63,11 @@ func (c *Conn) Close() error { return c.c.Close() } +// SetOption enables or disables a netlink socket option for the Conn. +func (c *Conn) SetOption(option netlink.ConnOption, enable bool) error { + return c.c.SetOption(option, enable) +} + // SetReadDeadline sets the read deadline associated with the connection. func (c *Conn) SetReadDeadline(t time.Time) error { return c.c.SetReadDeadline(t) diff --git a/conn_test.go b/conn_test.go index 0f87742..4882e68 100644 --- a/conn_test.go +++ b/conn_test.go @@ -211,6 +211,7 @@ func (c *noopConn) Close() error { retur func (c *noopConn) Send(_ netlink.Message) (netlink.Message, error) { return netlink.Message{}, nil } func (c *noopConn) Receive() ([]netlink.Message, error) { return nil, nil } func (c *noopConn) Execute(m netlink.Message) ([]netlink.Message, error) { return nil, nil } +func (c *noopConn) SetOption(_ netlink.ConnOption, _ bool) error { return nil } func (c *noopConn) SetReadDeadline(t time.Time) error { return nil } func mustMarshal(m encoding.BinaryMarshaler) []byte {