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 addRemoteIP net.IP
|
||||||
var addLinkName string
|
var addLinkName string
|
||||||
|
|
||||||
var addCmd = &cobra.Command{
|
var AddCmd = &cobra.Command{
|
||||||
Use: "add",
|
Use: "add",
|
||||||
Short: "Ethernet over IPv6(RFC3378)カーネルのクライアント",
|
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)
|
err := utils.AddDev(addDevName, addLocalIP, addRemoteIP, addLinkName)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
addCmd.Flags().StringVarP(&addDevName, "devname", "d", "eip0", "作成するNICの名")
|
AddCmd.Flags().StringVarP(&addDevName, "devname", "d", "eip0", "作成するNICの名")
|
||||||
addCmd.Flags().IPVarP(&addLocalIP, "local", "l", nil, "自分の終端アドレス")
|
AddCmd.Flags().IPVarP(&addLocalIP, "local", "l", nil, "自分の終端アドレス")
|
||||||
addCmd.Flags().IPVarP(&addRemoteIP, "remote", "r", nil, "相手の終端アドレス")
|
AddCmd.Flags().IPVarP(&addRemoteIP, "remote", "r", nil, "相手の終端アドレス")
|
||||||
addCmd.Flags().StringVarP(&addLinkName, "link", "L", "", "アンダーレイのNIC名")
|
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>
|
Copyright © 2026 Masato Kikuchi <m-kikuchi@neody.ad.jp>
|
||||||
|
|
||||||
*/
|
*/
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var rootCmd = &cobra.Command{
|
var rootCmd = &cobra.Command{
|
||||||
Use: "etherip-client",
|
Use: "etherip-client",
|
||||||
Short: "Ethernet over IPv6(RFC3378)カーネルのクライアント",
|
Short: "EtherIP RFC3378 Client",
|
||||||
|
Long: `Ethernet over IPv6`,
|
||||||
}
|
}
|
||||||
|
|
||||||
func Execute() {
|
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
|
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