diff options
Diffstat (limited to 'extras/hs-test/actions.go')
-rw-r--r-- | extras/hs-test/actions.go | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/extras/hs-test/actions.go b/extras/hs-test/actions.go deleted file mode 100644 index 9233e2d1ea2..00000000000 --- a/extras/hs-test/actions.go +++ /dev/null @@ -1,82 +0,0 @@ -package main - -import ( - "context" - "os" - - "git.fd.io/govpp.git/api" - interfaces "github.com/edwarnicke/govpp/binapi/interface" - "github.com/edwarnicke/govpp/binapi/interface_types" - ip_types "github.com/edwarnicke/govpp/binapi/ip_types" - "github.com/edwarnicke/govpp/binapi/session" - "github.com/edwarnicke/govpp/binapi/tapv2" - "github.com/edwarnicke/vpphelper" -) - -var ( - workDir, _ = os.Getwd() -) - -type ConfFn func(context.Context, api.Connection) error - -type Actions struct { -} - -func (a *Actions) ConfigureTap(args []string) *ActionResult { - var startup Stanza - startup. - NewStanza("session"). - Append("enable"). - Append("use-app-socket-api").Close() - - ctx, cancel := newVppContext() - defer cancel() - con, vppErrCh := vpphelper.StartAndDialContext(ctx, - vpphelper.WithRootDir(workDir), - vpphelper.WithVppConfig(configTemplate+startup.ToString())) - exitOnErrCh(ctx, cancel, vppErrCh) - ifaceClient := interfaces.NewServiceClient(con) - - pref, err := ip_types.ParseIP4Prefix("10.10.10.2/24") - if err != nil { - return NewActionResult(err, ActionResultWithDesc("failed to parse ip4 address")) - } - createTapReply, err := tapv2.NewServiceClient(con).TapCreateV2(ctx, &tapv2.TapCreateV2{ - HostIfNameSet: true, - HostIfName: "tap0", - HostIP4PrefixSet: true, - HostIP4Prefix: ip_types.IP4AddressWithPrefix(pref), - }) - if err != nil { - return NewActionResult(err, ActionResultWithDesc("failed to configure tap")) - } - ipPrefix, err := ip_types.ParseAddressWithPrefix("10.10.10.1/24") - if err != nil { - return NewActionResult(err, ActionResultWithDesc("parsing ip address failed")) - } - ipAddress := &interfaces.SwInterfaceAddDelAddress{ - IsAdd: true, - SwIfIndex: createTapReply.SwIfIndex, - Prefix: ipPrefix, - } - _, errx := ifaceClient.SwInterfaceAddDelAddress(ctx, ipAddress) - if errx != nil { - return NewActionResult(err, ActionResultWithDesc("configuring ip address failed")) - } - _, err = ifaceClient.SwInterfaceSetFlags(ctx, &interfaces.SwInterfaceSetFlags{ - SwIfIndex: createTapReply.SwIfIndex, - Flags: interface_types.IF_STATUS_API_FLAG_ADMIN_UP, - }) - if err != nil { - return NewActionResult(err, ActionResultWithDesc("failed to set interface state")) - } - _, err = session.NewServiceClient(con).SessionEnableDisable(ctx, &session.SessionEnableDisable{ - IsEnable: true, - }) - if err != nil { - return NewActionResult(err, ActionResultWithDesc("configuration failed")) - } - writeSyncFile(OkResult()) - <-ctx.Done() - return nil -} |