97 lines
5.0 KiB
Diff
97 lines
5.0 KiB
Diff
Index: libzcfg_fe_tr98-1.0/l3fwd.c
|
|
===================================================================
|
|
--- libzcfg_fe_tr98-1.0.orig/l3fwd.c 2015-11-26 17:37:25.899726104 +0800
|
|
+++ libzcfg_fe_tr98-1.0/l3fwd.c 2015-11-26 17:35:24.153014800 +0800
|
|
@@ -58,11 +58,53 @@
|
|
*tr98Jobj = json_object_new_object();
|
|
json_object_object_add(*tr98Jobj, "DefaultConnectionService", json_object_new_string(tr98ObjName));
|
|
json_object_object_add(*tr98Jobj, "ForwardNumberOfEntries", json_object_new_int(routerObj->IPv4ForwardingNumberOfEntries));
|
|
+ json_object_object_add(*tr98Jobj, "X_ZYXEL_AutoSecureDefaultIface", json_object_new_boolean(routerObj->X_ZYXEL_AutoSecureDefaultIface));
|
|
|
|
zcfgFeObjStructFree(routerObj);
|
|
|
|
return ZCFG_SUCCESS;
|
|
}
|
|
+
|
|
+/*
|
|
+ * TR98 Object Name : InternetGatewayDevice.Layer3Forwarding
|
|
+ *
|
|
+ * Related object in TR181:
|
|
+ * Device.Routing.Router.1
|
|
+ */
|
|
+zcfgRet_t l3fwdObjSet(char *tr98FullPathName, int handler, struct json_object *tr98Jobj, struct json_object *multiJobj, char *paramfault)
|
|
+{
|
|
+ zcfgRet_t ret = ZCFG_SUCCESS;
|
|
+ objIndex_t objIid;
|
|
+ char defaultIfaceName[MAX_TR181_PATHNAME] = {0};
|
|
+ struct json_object *routerObj = NULL, *paramValue = NULL;
|
|
+
|
|
+ printf("%s\n", __FUNCTION__);
|
|
+
|
|
+ /*mapping InternetGatewayDevice.Layer3Forwarding to Device.Routing.Router.1*/
|
|
+ IID_INIT(objIid);
|
|
+ objIid.level = 1;
|
|
+ objIid.idx[0] = 1;
|
|
+ if(zcfgFeObjJsonGet(RDM_OID_ROUTING_ROUTER, &objIid, (void **)&routerObj) != ZCFG_SUCCESS ) {
|
|
+ printf("%s : Get Routing.Router.1 Fail\n", __FUNCTION__);
|
|
+ return ZCFG_INTERNAL_ERROR;
|
|
+ }
|
|
+
|
|
+ if(paramValue = json_object_object_get(tr98Jobj, "X_ZYXEL_AutoSecureDefaultIface"))
|
|
+ json_object_object_add(routerObj, "X_ZYXEL_AutoSecureDefaultIface", JSON_OBJ_COPY(paramValue));
|
|
+
|
|
+ if(multiJobj) {
|
|
+ zcfgFeJsonMultiObjAppend(RDM_OID_ROUTING_ROUTER, &objIid, multiJobj, routerObj);
|
|
+ }
|
|
+ else {
|
|
+ if((ret = zcfgFeObjJsonSet(RDM_OID_ROUTING_ROUTER, &objIid, routerObj, NULL)) != ZCFG_SUCCESS ) {
|
|
+ json_object_put(routerObj);
|
|
+ return ret;
|
|
+ }
|
|
+ }
|
|
+ json_object_put(routerObj);
|
|
+
|
|
+ return ZCFG_SUCCESS;
|
|
+}
|
|
|
|
#define MAX_IFACE_LENGTH (256+1)
|
|
/*
|
|
Index: libzcfg_fe_tr98-1.0/l3fwd.h
|
|
===================================================================
|
|
--- libzcfg_fe_tr98-1.0.orig/l3fwd.h 2015-11-26 17:37:25.551726093 +0800
|
|
+++ libzcfg_fe_tr98-1.0/l3fwd.h 2015-11-26 17:35:30.430094200 +0800
|
|
@@ -4,7 +4,7 @@
|
|
|
|
/*Handler Function*/
|
|
extern zcfgRet_t l3fwdObjGet(char *, int, struct json_object **, bool);
|
|
-
|
|
+extern zcfgRet_t l3fwdObjSet(char *tr98FullPathName, int handler, struct json_object *tr98Jobj, struct json_object *multiJobj, char *paramfault);
|
|
|
|
extern zcfgRet_t l3fwdFwdTbObjGet(char *, int, struct json_object **, bool);
|
|
extern zcfgRet_t l3fwdFwdTbObjSet(char *, int, struct json_object *, struct json_object *);
|
|
Index: libzcfg_fe_tr98-1.0/l3fwd_parameter.h
|
|
===================================================================
|
|
--- libzcfg_fe_tr98-1.0.orig/l3fwd_parameter.h 2015-11-26 17:37:25.555726093 +0800
|
|
+++ libzcfg_fe_tr98-1.0/l3fwd_parameter.h 2015-11-26 17:35:35.861789800 +0800
|
|
@@ -1,6 +1,7 @@
|
|
tr98Parameter_t para_L3Fwd[] = {
|
|
{ "DefaultConnectionService", PARAMETER_ATTR_WRITE, 257, json_type_string},
|
|
{ "ForwardNumberOfEntries", PARAMETER_ATTR_READONLY, 0, json_type_uint32},
|
|
+ { "X_ZYXEL_AutoSecureDefaultIface", PARAMETER_ATTR_WRITE, 0, json_type_boolean},
|
|
{ NULL, 0, 0, 0}
|
|
};
|
|
|
|
Index: libzcfg_fe_tr98-1.0/zcfg_fe_tr98_handle.h
|
|
===================================================================
|
|
--- libzcfg_fe_tr98-1.0.orig/zcfg_fe_tr98_handle.h 2015-11-26 17:37:28.399726182 +0800
|
|
+++ libzcfg_fe_tr98-1.0/zcfg_fe_tr98_handle.h 2015-11-26 17:35:48.248951600 +0800
|
|
@@ -292,7 +292,7 @@
|
|
{TR98_TIME, 0, para_Time, timeObjGet, timeObjSet, NULL, NULL, NULL},
|
|
//{TR98_USR_INTF, 0, NULL, NULL, NULL, NULL, NULL, NULL},
|
|
//{TR98_CAPT_PORTAL, 0, NULL, NULL, NULL, NULL, NULL, NULL},
|
|
-{TR98_L3_FWD, 0, para_L3Fwd, l3fwdObjGet, NULL, NULL, NULL, NULL, NULL, NULL},
|
|
+{TR98_L3_FWD, 0, para_L3Fwd, l3fwdObjGet, l3fwdObjSet, NULL, NULL, NULL, NULL, NULL},
|
|
{TR98_FWD, ATTR_INDEX_CREA,para_Fwd, l3fwdFwdTbObjGet, l3fwdFwdTbObjSet, l3fwdFwdTbObjAdd, l3fwdFwdTbObjDel, NULL, NULL, l3fwdFwdTbObjAttrSet},
|
|
{TR98_L2_BR, 0, para_L2Br, l2BridingObjGet, NULL, NULL, NULL, l2BridingObjNotify, l2BridingObjAttrGet, l2BridingObjAttrSet},
|
|
{TR98_BR, ATTR_INDEX_CREA, para_Br, l2BrObjGet, l2BrObjSet, l2BrObjAdd, l2BrObjDel, l2BrObjNotify, l2BrObjAttrGet, l2BrObjAttrSet},
|