diff --git a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/RipController.php b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/RipController.php
new file mode 100644
index 000000000..c53b5199c
--- /dev/null
+++ b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/RipController.php
@@ -0,0 +1,75 @@
+request->isGet()) {
+ $mdlRIP = new RIP();
+ $result['rip'] = $mdlRIP->getNodes();
+ }
+ return $result;
+ }
+ public function setAction()
+ {
+ $result = array("result"=>"failed");
+ if ($this->request->isPost()) {
+ // load model and update with provided data
+ $mdlRIP = new RIP();
+ $mdlRIP->setNodes($this->request->getPost("rip"));
+
+ // perform validation
+ $valMsgs = $mdlRIP->performValidation();
+ foreach ($valMsgs as $field => $msg) {
+ if (!array_key_exists("validations", $result)) {
+ $result["validations"] = array();
+ }
+ $result["validations"]["rip.".$msg->getField()] = $msg->getMessage();
+ }
+
+ // serialize model to config and save
+ if ($valMsgs->count() == 0) {
+ $mdlRIP->serializeToConfig();
+ Config::getInstance()->save();
+ $result["result"] = "saved";
+ }
+ }
+ return $result;
+ }
+}
diff --git a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/RipController.php b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/RipController.php
index ce476267f..ab552bc03 100644
--- a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/RipController.php
+++ b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/RipController.php
@@ -5,8 +5,8 @@ class RipController extends \OPNsense\Base\IndexController
{
public function indexAction()
{
- $this->view->title = gettext("RIP-Settings");
- $this->view->generalForm = $this->getForm("rip");
+ $this->view->title = gettext("RIP Settings");
+ $this->view->ripForm = $this->getForm("rip");
$this->view->pick('OPNsense/Quagga/rip');
}
}
diff --git a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml
index 729a5fe53..cc86d9a8e 100644
--- a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml
+++ b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml
@@ -1,8 +1,38 @@
diff --git a/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml b/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml
index 113917841..542de374c 100644
--- a/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml
+++ b/net/quagga/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml
@@ -1,7 +1,7 @@