+ var nodes []*nncp.Node
+ if *nodesRaw != "" {
+ for _, nodeRaw := range strings.Split(*nodesRaw, ",") {
+ node, err := ctx.FindNode(nodeRaw)
+ if err != nil {
+ log.Fatalln("Invalid -node specified:", err)
+ }
+ nodes = append(nodes, node)
+ }
+ }
+ if *doAll {
+ if len(nodes) != 0 {
+ usage()
+ os.Exit(1)
+ }
+ for _, node := range ctx.Neigh {
+ nodes = append(nodes, node)
+ }
+ } else if len(nodes) == 0 {
+ usage()
+ os.Exit(1)
+ }
+
+ if *pktRaw != "" {
+ if len(nodes) != 1 {
+ usage()
+ os.Exit(1)
+ }
+ nncp.ViaOverride(*viaOverride, ctx, nodes[0])
+ if err = ctx.TxACK(nodes[0], nice, *pktRaw, minSize); err != nil {
+ log.Fatalln(err)
+ }
+ return
+ }
+
+ for _, node := range nodes {