mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-30 04:33:00 +02:00
mech: Initial add
The mechanic, Infix's integration layer to Clixon
This commit is contained in:
@@ -1 +1,3 @@
|
|||||||
|
clixon -1 clixon -1 * - - wheel Clixon backend
|
||||||
factory -1 wheel -1 =reset - /sbin/factory - Reset to factory defaults
|
factory -1 wheel -1 =reset - /sbin/factory - Reset to factory defaults
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ source "$BR2_EXTERNAL_INFIX_PATH/package/finit/Config.in"
|
|||||||
source "$BR2_EXTERNAL_INFIX_PATH/package/ifupdown2/Config.in"
|
source "$BR2_EXTERNAL_INFIX_PATH/package/ifupdown2/Config.in"
|
||||||
source "$BR2_EXTERNAL_INFIX_PATH/package/ifupdown-ng/Config.in"
|
source "$BR2_EXTERNAL_INFIX_PATH/package/ifupdown-ng/Config.in"
|
||||||
source "$BR2_EXTERNAL_INFIX_PATH/package/mdnsd/Config.in"
|
source "$BR2_EXTERNAL_INFIX_PATH/package/mdnsd/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_INFIX_PATH/package/mech/Config.in"
|
||||||
source "$BR2_EXTERNAL_INFIX_PATH/package/python-templating/Config.in"
|
source "$BR2_EXTERNAL_INFIX_PATH/package/python-templating/Config.in"
|
||||||
source "$BR2_EXTERNAL_INFIX_PATH/package/skeleton-init-finit/Config.in"
|
source "$BR2_EXTERNAL_INFIX_PATH/package/skeleton-init-finit/Config.in"
|
||||||
source "$BR2_EXTERNAL_INFIX_PATH/package/sysrepo-plugins-common/Config.in"
|
source "$BR2_EXTERNAL_INFIX_PATH/package/sysrepo-plugins-common/Config.in"
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
config BR2_PACKAGE_MECH
|
||||||
|
bool "mech"
|
||||||
|
select BR2_PACKAGE_CLIXON
|
||||||
|
help
|
||||||
|
Orchestrate an Infix node using any of the front-ends
|
||||||
|
offered by Clixon, e.g. NETCONF, RESTCONF or SNMP.
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# mech
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
MECH_VERSION = 1.0
|
||||||
|
MECH_LICENSE = GPL
|
||||||
|
MECH_SITE_METHOD = local
|
||||||
|
MECH_SITE = $(BR2_EXTERNAL_INFIX_PATH)/src/mech
|
||||||
|
MECH_AUTORECONF = YES
|
||||||
|
|
||||||
|
$(eval $(autotools-package))
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
*~
|
||||||
|
*.o
|
||||||
|
*.la
|
||||||
|
*.lo
|
||||||
|
*.so
|
||||||
|
.deps
|
||||||
|
.libs
|
||||||
|
|
||||||
|
/aclocal.m4
|
||||||
|
/autom4te.cache/
|
||||||
|
/aux
|
||||||
|
/clixon.xml
|
||||||
|
/compile
|
||||||
|
/config.h
|
||||||
|
/config.h.in
|
||||||
|
/config.guess
|
||||||
|
/config.log
|
||||||
|
/config.status
|
||||||
|
/config.sub
|
||||||
|
/configure
|
||||||
|
/depcomp
|
||||||
|
/install-sh
|
||||||
|
/libtool
|
||||||
|
/ltmain.sh
|
||||||
|
/m4
|
||||||
|
/missing
|
||||||
|
|
||||||
|
GPATH
|
||||||
|
GRTAGS
|
||||||
|
GTAGS
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
SUBDIRS = src yang
|
||||||
|
DISTCLEANFILES = *~ *.d
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
|
sysconf_DATA = clixon.xml
|
||||||
Executable
+3
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
autoreconf -W portability -vifm
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<clixon-config xmlns="http://clicon.org/config">
|
||||||
|
<CLICON_CONFIGFILE>@SYSCONFDIR@/clixon.xml</CLICON_CONFIGFILE>
|
||||||
|
<CLICON_FEATURE>ietf-netconf:startup</CLICON_FEATURE>
|
||||||
|
<CLICON_FEATURE>ietf-netconf:confirmed-commit</CLICON_FEATURE>
|
||||||
|
<CLICON_FEATURE>clixon-restconf:allow-auth-none</CLICON_FEATURE>
|
||||||
|
<CLICON_FEATURE>clixon-restconf:fcgi</CLICON_FEATURE>
|
||||||
|
<CLICON_YANG_DIR>@DATAROOTDIR@/clixon</CLICON_YANG_DIR>
|
||||||
|
<CLICON_YANG_DIR>@DATAROOTDIR@/yang</CLICON_YANG_DIR>
|
||||||
|
<CLICON_YANG_MODULE_MAIN>infix</CLICON_YANG_MODULE_MAIN>
|
||||||
|
<CLICON_CLI_MODE>exec</CLICON_CLI_MODE>
|
||||||
|
<CLICON_BACKEND_DIR>@LIBDIR@/clixon/backend</CLICON_BACKEND_DIR>
|
||||||
|
<CLICON_NETCONF_DIR>@LIBDIR@/clixon/netconf</CLICON_NETCONF_DIR>
|
||||||
|
<CLICON_RESTCONF_DIR>@LIBDIR@/clixon/restconf</CLICON_RESTCONF_DIR>
|
||||||
|
<CLICON_CLI_DIR>@LIBDIR@/clixon/cli</CLICON_CLI_DIR>
|
||||||
|
<CLICON_CLISPEC_DIR>@LIBDIR@/clixon/clispec</CLICON_CLISPEC_DIR>
|
||||||
|
<CLICON_SOCK>@LOCALSTATEDIR@/clixon/backend.sock</CLICON_SOCK>
|
||||||
|
<CLICON_SOCK_GROUP>clixon</CLICON_SOCK_GROUP>
|
||||||
|
<CLICON_BACKEND_PIDFILE>@RUNSTATEDIR@/clixon_backend.pid</CLICON_BACKEND_PIDFILE>
|
||||||
|
<CLICON_CLI_LINESCROLLING>0</CLICON_CLI_LINESCROLLING>
|
||||||
|
<CLICON_CLI_TAB_MODE>0</CLICON_CLI_TAB_MODE>
|
||||||
|
<CLICON_XMLDB_DIR>@LOCALSTATEDIR@/clixon</CLICON_XMLDB_DIR>
|
||||||
|
<CLICON_STARTUP_MODE>init</CLICON_STARTUP_MODE>
|
||||||
|
<CLICON_NACM_MODE>disabled</CLICON_NACM_MODE>
|
||||||
|
<CLICON_STREAM_DISCOVERY_RFC5277>true</CLICON_STREAM_DISCOVERY_RFC5277>
|
||||||
|
<CLICON_YANG_LIBRARY>false</CLICON_YANG_LIBRARY>
|
||||||
|
</clixon-config>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
clixonlibdir = $(libdir)/clixon
|
||||||
|
backenddir = $(clixonlibdir)/backend
|
||||||
|
clidir = $(clixonlibdir)/cli
|
||||||
|
clispecdir = $(clixonlibdir)/clispec
|
||||||
|
yangdir = $(datarootdir)/clixon
|
||||||
|
|
||||||
|
backend_LTLIBRARIES =
|
||||||
|
cli_LTLIBRARIES =
|
||||||
|
clispec_DATA =
|
||||||
|
yang_DATA =
|
||||||
|
|
||||||
|
cli_libadd = -lclixon -lclixon_cli
|
||||||
|
cli_ldflags = -module -avoid-version -shared
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
AC_PREREQ(2.61)
|
||||||
|
AC_INIT([orc], [1.0.0],
|
||||||
|
[https://github.com/kernelkit/infix/issues])
|
||||||
|
AM_INIT_AUTOMAKE(1.11 foreign subdir-objects)
|
||||||
|
AM_SILENT_RULES(yes)
|
||||||
|
|
||||||
|
LT_INIT
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([
|
||||||
|
clixon.xml
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
src/core/Makefile
|
||||||
|
yang/Makefile
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
|
||||||
|
AC_CHECK_LIB([clixon], [yang_len_get],, AC_MSG_ERROR([Clixon not found]))
|
||||||
|
|
||||||
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||||
|
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
||||||
|
|
||||||
|
DATAROOTDIR=`eval echo $datarootdir`
|
||||||
|
DATAROOTDIR=`eval echo $DATAROOTDIR`
|
||||||
|
AC_SUBST(DATAROOTDIR)
|
||||||
|
|
||||||
|
LIBDIR=`eval echo $libdir`
|
||||||
|
LIBDIR=`eval echo $LIBDIR`
|
||||||
|
AC_SUBST(LIBDIR)
|
||||||
|
|
||||||
|
LOCALSTATEDIR=`eval echo $localstatedir`
|
||||||
|
LOCALSTATEDIR=`eval echo $LOCALSTATEDIR`
|
||||||
|
AC_SUBST(LOCALSTATEDIR)
|
||||||
|
|
||||||
|
RUNSTATEDIR=`eval echo $runstatedir`
|
||||||
|
RUNSTATEDIR=`eval echo $RUNSTATEDIR`
|
||||||
|
AC_SUBST(RUNSTATEDIR)
|
||||||
|
|
||||||
|
SYSCONFDIR=`eval echo $sysconfdir`
|
||||||
|
SYSCONFDIR=`eval echo $SYSCONFDIR`
|
||||||
|
AC_SUBST(SYSCONFDIR)
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
include $(top_srcdir)/common.am
|
||||||
|
|
||||||
|
CFLAGS = -Wall -Wextra -Werror -Wno-unused-parameter
|
||||||
|
SUBDIRS = core
|
||||||
|
|
||||||
|
install-exec-hook:
|
||||||
|
find $(DESTDIR)$(clixonlibdir) -name '*.la' -delete
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
include $(top_srcdir)/common.am
|
||||||
|
|
||||||
|
cli_LTLIBRARIES += cli.la
|
||||||
|
clispec_DATA += cli.cli
|
||||||
|
|
||||||
|
cli_la_LDFLAGS = $(cli_ldflags)
|
||||||
|
cli_la_LIBADD = $(cli_libadd)
|
||||||
|
cli_la_SOURCES = cli.c
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include <cligen/cligen.h>
|
||||||
|
#include <clixon/clixon.h>
|
||||||
|
#include <clixon/clixon_cli.h>
|
||||||
|
#include <clixon/cli_generate.h>
|
||||||
|
|
||||||
|
int cli_sysinfo(clicon_handle h, cvec *cvv, cvec *argv)
|
||||||
|
{
|
||||||
|
printf("System Information: Infix\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static clixon_plugin_api cli_api = {
|
||||||
|
.ca_name = "infix-cli",
|
||||||
|
.ca_init = clixon_plugin_init,
|
||||||
|
};
|
||||||
|
|
||||||
|
clixon_plugin_api *clixon_plugin_init(clicon_handle h)
|
||||||
|
{
|
||||||
|
return &cli_api;
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
CLICON_MODE="exec";
|
||||||
|
CLICON_PROMPT="%U@%H> ";
|
||||||
|
CLICON_PLUGIN="cli";
|
||||||
|
|
||||||
|
exit("Exit"), cli_quit();
|
||||||
|
|
||||||
|
show("Show various system state and configuration") {
|
||||||
|
system-information("System information"), cli_sysinfo();
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
include $(top_srcdir)/common.am
|
||||||
|
|
||||||
|
yang_DATA += infix.yang
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
module infix {
|
||||||
|
yang-version 1.1;
|
||||||
|
namespace "urn:kernelkit:infix";
|
||||||
|
prefix ix;
|
||||||
|
/*
|
||||||
|
import ietf-interfaces {
|
||||||
|
prefix if;
|
||||||
|
}
|
||||||
|
import ietf-ip {
|
||||||
|
prefix ip;
|
||||||
|
}
|
||||||
|
import iana-if-type {
|
||||||
|
prefix ianaift;
|
||||||
|
}
|
||||||
|
import ietf-datastores {
|
||||||
|
prefix ds;
|
||||||
|
}
|
||||||
|
import clixon-autocli{
|
||||||
|
prefix autocli;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
description
|
||||||
|
"Base model
|
||||||
|
";
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user