Compare commits
4 Commits
ac847c9803
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae301cc618 | ||
|
|
ebe437161b | ||
|
|
ff7f594a84 | ||
|
|
4c586ed621 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
/etherip-client
|
||||
/etherip-client
|
||||
/test.sh
|
||||
28
README.md
Normal file
28
README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# etherip-client
|
||||
|
||||
[etherip-kmod](https://git.neody.ad.jp/tuna2134/etherip-kmod)のクライアント
|
||||
|
||||
## ビルド
|
||||
```
|
||||
go build .
|
||||
```
|
||||
|
||||
## 使い方
|
||||
|
||||
```
|
||||
Ethernet over IPv6
|
||||
|
||||
Usage:
|
||||
etherip-client [command]
|
||||
|
||||
Available Commands:
|
||||
add Ethernet over IPv6(RFC3378)カーネルのクライアント
|
||||
completion Generate the autocompletion script for the specified shell
|
||||
delete Delete iface
|
||||
help Help about any command
|
||||
|
||||
Flags:
|
||||
-h, --help help for etherip-client
|
||||
|
||||
Use "etherip-client [command] --help" for more information about a command.
|
||||
```
|
||||
16
cmd/add.go
16
cmd/add.go
@@ -15,24 +15,24 @@ var addLocalIP net.IP
|
||||
var addRemoteIP net.IP
|
||||
var addLinkName string
|
||||
|
||||
var addCmd = &cobra.Command{
|
||||
var AddCmd = &cobra.Command{
|
||||
Use: "add",
|
||||
Short: "Ethernet over IPv6(RFC3378)カーネルのクライアント",
|
||||
RunE: runE,
|
||||
RunE: AddrunE,
|
||||
}
|
||||
|
||||
func runE(cmd *cobra.Command, args []string) error {
|
||||
func AddrunE(cmd *cobra.Command, args []string) error {
|
||||
err := utils.AddDev(addDevName, addLocalIP, addRemoteIP, addLinkName)
|
||||
return err
|
||||
}
|
||||
|
||||
func init() {
|
||||
addCmd.Flags().StringVarP(&addDevName, "devname", "d", "eip0", "作成するNICの名")
|
||||
addCmd.Flags().IPVarP(&addLocalIP, "local", "l", nil, "自分の終端アドレス")
|
||||
addCmd.Flags().IPVarP(&addRemoteIP, "remote", "r", nil, "相手の終端アドレス")
|
||||
addCmd.Flags().StringVarP(&addLinkName, "link", "L", "", "アンダーレイのNIC名")
|
||||
AddCmd.Flags().StringVarP(&addDevName, "devname", "d", "eip0", "作成するNICの名")
|
||||
AddCmd.Flags().IPVarP(&addLocalIP, "local", "l", nil, "自分の終端アドレス")
|
||||
AddCmd.Flags().IPVarP(&addRemoteIP, "remote", "r", nil, "相手の終端アドレス")
|
||||
AddCmd.Flags().StringVarP(&addLinkName, "link", "L", "", "アンダーレイのNIC名")
|
||||
|
||||
rootCmd.AddCommand(addCmd)
|
||||
rootCmd.AddCommand(AddCmd)
|
||||
}
|
||||
|
||||
|
||||
|
||||
25
cmd/delete.go
Normal file
25
cmd/delete.go
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
Copyright © 2026 Masato Kikuchi <m-kikuchi@neody.ad.jp>
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"git.neody.ad.jp/tuna2134/etherip-client/utils"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var DelDevVar string
|
||||
|
||||
var deleteCmd = &cobra.Command{
|
||||
Use: "delete",
|
||||
Short: "Delete iface",
|
||||
Long: `Delete iface`,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
return utils.DelDev(DelDevVar)
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
deleteCmd.Flags().StringVarP(&DelDevVar, "devname", "d", "eip0", "削除対象のNICの名前")
|
||||
rootCmd.AddCommand(deleteCmd)
|
||||
}
|
||||
@@ -1,16 +1,21 @@
|
||||
/*
|
||||
Copyright © 2026 Masato Kikuchi <m-kikuchi@neody.ad.jp>
|
||||
|
||||
*/
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
||||
|
||||
var rootCmd = &cobra.Command{
|
||||
Use: "etherip-client",
|
||||
Short: "Ethernet over IPv6(RFC3378)カーネルのクライアント",
|
||||
Short: "EtherIP RFC3378 Client",
|
||||
Long: `Ethernet over IPv6`,
|
||||
}
|
||||
|
||||
func Execute() {
|
||||
|
||||
2
main.go
2
main.go
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright © 2026 Masato Kikuchi <m-kikuchi@neody.ad.jp>
|
||||
Copyright © 2026 NAME HERE <EMAIL ADDRESS>
|
||||
*/
|
||||
package main
|
||||
|
||||
|
||||
1
test.sh
1
test.sh
@@ -1 +0,0 @@
|
||||
sudo ./etherip-client add -d eip0 -l 2402:2f60:500:beef:be24:11ff:fe12:d655 -r 2401:5e40:1:462:6709:e050:dcc5:d592 -L ens18
|
||||
12
utils/delDev.go
Normal file
12
utils/delDev.go
Normal file
@@ -0,0 +1,12 @@
|
||||
package utils
|
||||
|
||||
import "github.com/vishvananda/netlink"
|
||||
|
||||
func DelDev(devname string) error {
|
||||
link, err := netlink.LinkByName(devname)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
netlink.LinkDel(link)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user