int isis_instance_flex_algo_prefix_metric_create(struct nb_cb_create_args *args)
{
struct isis_area *area;
- const char *area_tag;
struct flex_algo *fa;
uint32_t algorithm;
- area_tag = yang_dnode_get_string(args->dnode, "../../../area-tag");
- area = isis_area_lookup(area_tag, VRF_DEFAULT);
- if (!area)
- return NB_ERR_RESOURCE;
-
algorithm = yang_dnode_get_uint32(args->dnode, "../flex-algo");
switch (args->event) {
case NB_EV_APPLY:
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ if (!area)
+ return NB_ERR_RESOURCE;
fa = flex_algo_lookup(area->flex_algos, algorithm);
if (!fa) {
snprintf(args->errmsg, args->errmsg_len,
struct nb_cb_destroy_args *args)
{
struct isis_area *area;
- const char *area_tag;
struct flex_algo *fa;
uint32_t algorithm;
- area_tag = yang_dnode_get_string(args->dnode, "../../../area-tag");
- area = isis_area_lookup(area_tag, VRF_DEFAULT);
- if (!area)
- return NB_ERR_RESOURCE;
-
algorithm = yang_dnode_get_uint32(args->dnode, "../flex-algo");
switch (args->event) {
case NB_EV_APPLY:
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ if (!area)
+ return NB_ERR_RESOURCE;
+
fa = flex_algo_lookup(area->flex_algos, algorithm);
if (!fa) {
snprintf(args->errmsg, args->errmsg_len,
int type)
{
struct isis_area *area;
- const char *area_tag;
struct flex_algo *fa;
uint32_t algorithm;
- area_tag = yang_dnode_get_string(args->dnode, "../../../area-tag");
- area = isis_area_lookup(area_tag, VRF_DEFAULT);
- if (!area)
- return NB_ERR_RESOURCE;
-
algorithm = yang_dnode_get_uint32(args->dnode, "../flex-algo");
switch (args->event) {
case NB_EV_APPLY:
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ if (!area)
+ return NB_ERR_RESOURCE;
+
fa = flex_algo_lookup(area->flex_algos, algorithm);
if (!fa) {
snprintf(args->errmsg, args->errmsg_len,
int type)
{
struct isis_area *area;
- const char *area_tag;
struct flex_algo *fa;
uint32_t algorithm;
- area_tag = yang_dnode_get_string(args->dnode, "../../../area-tag");
- area = isis_area_lookup(area_tag, VRF_DEFAULT);
- if (!area)
- return NB_ERR_RESOURCE;
-
algorithm = yang_dnode_get_uint32(args->dnode, "../flex-algo");
switch (args->event) {
case NB_EV_APPLY:
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ if (!area)
+ return NB_ERR_RESOURCE;
+
fa = flex_algo_lookup(area->flex_algos, algorithm);
if (!fa) {
snprintf(args->errmsg, args->errmsg_len,
int isis_instance_flex_algo_metric_type_modify(struct nb_cb_modify_args *args)
{
struct isis_area *area;
- const char *area_tag;
struct flex_algo *fa;
uint32_t algorithm;
enum flex_algo_metric_type metric_type;
- area_tag = yang_dnode_get_string(args->dnode, "../../../area-tag");
- area = isis_area_lookup(area_tag, VRF_DEFAULT);
- if (!area)
- return NB_ERR_RESOURCE;
-
algorithm = yang_dnode_get_uint32(args->dnode, "../flex-algo");
metric_type = yang_dnode_get_enum(args->dnode, NULL);
switch (args->event) {
case NB_EV_APPLY:
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ if (!area)
+ return NB_ERR_RESOURCE;
+
fa = flex_algo_lookup(area->flex_algos, algorithm);
if (!fa) {
snprintf(args->errmsg, args->errmsg_len,
int isis_instance_flex_algo_priority_modify(struct nb_cb_modify_args *args)
{
struct isis_area *area;
- const char *area_tag;
struct flex_algo *fa;
uint32_t algorithm;
uint32_t priority;
- area_tag = yang_dnode_get_string(args->dnode, "../../../area-tag");
- area = isis_area_lookup(area_tag, VRF_DEFAULT);
- if (!area)
- return NB_ERR_RESOURCE;
-
algorithm = yang_dnode_get_uint32(args->dnode, "../flex-algo");
priority = yang_dnode_get_uint32(args->dnode, NULL);
switch (args->event) {
case NB_EV_APPLY:
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ if (!area)
+ return NB_ERR_RESOURCE;
+
fa = flex_algo_lookup(area->flex_algos, algorithm);
if (!fa) {
snprintf(args->errmsg, args->errmsg_len,
int isis_instance_flex_algo_priority_destroy(struct nb_cb_destroy_args *args)
{
struct isis_area *area;
- const char *area_tag;
struct flex_algo *fa;
uint32_t algorithm;
uint32_t priority = FLEX_ALGO_PRIO_DEFAULT;
- area_tag = yang_dnode_get_string(args->dnode, "../../../area-tag");
- area = isis_area_lookup(area_tag, VRF_DEFAULT);
- if (!area)
- return NB_ERR_RESOURCE;
-
algorithm = yang_dnode_get_uint32(args->dnode, "../flex-algo");
priority = yang_dnode_get_uint32(args->dnode, NULL);
switch (args->event) {
case NB_EV_APPLY:
+ area = nb_running_get_entry(args->dnode, NULL, true);
+ if (!area)
+ return NB_ERR_RESOURCE;
+
fa = flex_algo_lookup(area->flex_algos, algorithm);
if (!fa) {
snprintf(args->errmsg, args->errmsg_len,