Chore(tun): remove with options

This commit is contained in:
xjasonlyu
2021-10-17 14:12:54 +08:00
parent dc8e4f1ba1
commit bf3f4599cc
4 changed files with 9 additions and 32 deletions

View File

@@ -1,15 +0,0 @@
package tun
type Option func(*TUN)
func WithName(name string) Option {
return func(t *TUN) {
t.name = name
}
}
func WithMTU(mtu uint32) Option {
return func(t *TUN) {
t.mtu = mtu
}
}

View File

@@ -23,12 +23,8 @@ type TUN struct {
name string
}
func Open(opts ...Option) (device.Device, error) {
t := &TUN{}
for _, opt := range opts {
opt(t)
}
func Open(name string, mtu uint32) (device.Device, error) {
t := &TUN{name: name, mtu: mtu}
if len(t.name) >= unix.IFNAMSIZ {
return nil, fmt.Errorf("interface name too long: %s", t.name)
@@ -46,11 +42,11 @@ func Open(opts ...Option) (device.Device, error) {
}
}
mtu, err := rawfile.GetMTU(t.name)
_mtu, err := rawfile.GetMTU(t.name)
if err != nil {
return nil, fmt.Errorf("get mtu: %w", err)
}
t.mtu = mtu
t.mtu = _mtu
ep, err := fdbased.New(&fdbased.Options{
MTU: t.mtu,

View File

@@ -19,12 +19,8 @@ type TUN struct {
name string
}
func Open(opts ...Option) (device.Device, error) {
t := &TUN{}
for _, opt := range opts {
opt(t)
}
func Open(name string, mtu uint32) (device.Device, error) {
t := &TUN{name: name, mtu: mtu}
forcedMTU := defaultMTU
if t.mtu > 0 {
@@ -37,11 +33,11 @@ func Open(opts ...Option) (device.Device, error) {
}
t.nt = nt.(*tun.NativeTun)
mtu, err := nt.MTU()
_mtu, err := nt.MTU()
if err != nil {
return nil, fmt.Errorf("get mtu: %w", err)
}
t.mtu = uint32(mtu)
t.mtu = uint32(_mtu)
ep, err := rwbased.New(t, t.mtu)
if err != nil {

View File

@@ -27,7 +27,7 @@ func parseDevice(s string, mtu uint32) (device.Device, error) {
switch driver {
case tun.Driver:
return tun.Open(tun.WithName(name), tun.WithMTU(mtu))
return tun.Open(name, mtu)
default:
return nil, fmt.Errorf("unsupported driver: %s", driver)
}