Explorar o código

:penguin: Add interface for freebsd (miss netlink)

Ettore Di Giacinto %!s(int64=3) %!d(string=hai) anos
pai
achega
297d0a32bd
Modificáronse 2 ficheiros con 38 adicións e 2 borrados
  1. 2 2
      pkg/vpn/interface.go
  2. 36 0
      pkg/vpn/interface_freebsd.go

+ 2 - 2
pkg/vpn/interface.go

@@ -1,5 +1,5 @@
-//go:build !windows && !darwin
-// +build !windows,!darwin
+//go:build !windows && !darwin && !freebsd
+// +build !windows,!darwin,!freebsd
 
 /*
 Copyright © 2021-2022 Ettore Di Giacinto <[email protected]>

+ 36 - 0
pkg/vpn/interface_freebsd.go

@@ -0,0 +1,36 @@
+//go:build freebsd
+// +build freebsd
+
+/*
+Copyright © 2021-2022 Ettore Di Giacinto <[email protected]>
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+    http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package vpn
+
+import (
+	"github.com/mudler/water"
+)
+
+func createInterface(c *Config) (*water.Interface, error) {
+	config := water.Config{
+		DeviceType: c.DeviceType,
+	}
+	config.Name = c.InterfaceName
+
+	return water.New(config)
+}
+
+func prepareInterface(c *Config) error {
+	// no-op
+	//
+	return nil
+}