[Xorp-hackers] [greearb/xorp.ct] 5a6506: xorp: rtrmgr: Insert missing XrlAtoms for sending ...

GitHub noreply at github.com
Tue Mar 20 10:31:19 PDT 2012


  Branch: refs/heads/master
  Home:   https://github.com/greearb/xorp.ct
  Commit: 5a65069284ccb8a0a9a6a24adf00e31356261247
      https://github.com/greearb/xorp.ct/commit/5a65069284ccb8a0a9a6a24adf00e31356261247
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/rtrmgr/xorp_client.cc

  Log Message:
  -----------
  xorp: rtrmgr: Insert missing XrlAtoms for sending fake args

Added missing XrlAtoms for sending fake args.

Signed-off-by: Igor Maravic <igorm at etf.rs>


  Commit: 6e77828d2cf8cbcfa335db907784d34a5ca653aa
      https://github.com/greearb/xorp.ct/commit/6e77828d2cf8cbcfa335db907784d34a5ca653aa
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/libxipc/xrl_atom.cc
  M xorp/libxipc/xrl_atom.hh
  M xorp/rtrmgr/conf_tree_node.cc
  M xorp/rtrmgr/conf_tree_node.hh
  M xorp/rtrmgr/template_commands.cc
  M xorp/rtrmgr/xorp_client.cc

  Log Message:
  -----------
  xorp: rtrmgr: Fix using of return varibles in xrl

Without this patch, when we read and write from/to same xrl variable,
value that should be committed to variable is overwritten with fake value.

For example:
...
parent @: uint {

	%create: xrl "$(prot.targetname)/prot/0.1/create?node:u32=$(@)";
	%activate: xrl "$(prot.targetname)/prot/0.1/activate?node:u32=$(@)->child_ret:u32=$(@.child)";
	%update: xrl "$(prot.targetname)/prot/0.1/update?node:u32=$(@)->child_ret:u32=$(@.child)";

	child {
		%set: xrl "$(prot.targetname)/prot/0.1/set?node:u32=$(parent.@)&child:u32=$(@)";
	}
}
...

In this case in function set we would get bogus value for variable child, because we are writing to it
from update functions.

This patch fixes that.

Case when we are calling %create + %set + %activate is working without this patch.

Signed-off-by: Igor Maravic <igorm at etf.rs>


  Commit: 2466c8a1d1272dc0f23e92c2e03adde5d2546945
      https://github.com/greearb/xorp.ct/commit/2466c8a1d1272dc0f23e92c2e03adde5d2546945
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/rtrmgr/conf_tree_node.cc

  Log Message:
  -----------
  xorp: rtrmgr: When adding child node, remove named variable with same name

When adding child node, remove named variable with same name. If we wouldn't
do that, we couldn't set value for child node, in function ConfigTreeNode::set_variable(),
because we would always find named variable first.

Signed-off-by: Igor Maravic <igorm at etf.rs>


  Commit: 38087a8c4fc23d14a0eff13d03d434396dc85aa9
      https://github.com/greearb/xorp.ct/commit/38087a8c4fc23d14a0eff13d03d434396dc85aa9
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/fea/data_plane/ifconfig/ifconfig_set.cc
  M xorp/rtrmgr/cli.cc
  M xorp/rtrmgr/master_conf_tree_node.cc
  M xorp/rtrmgr/master_conf_tree_node.hh
  M xorp/rtrmgr/module_command.cc

  Log Message:
  -----------
  trivial: automated ws fixes

Signed-off-by: Igor Maravic <igorm at etf.rs>


  Commit: edbfa3fd26949cc0f1b40fc68bf627bf8e1a215d
      https://github.com/greearb/xorp.ct/commit/edbfa3fd26949cc0f1b40fc68bf627bf8e1a215d
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/rtrmgr/cli.cc
  M xorp/rtrmgr/conf_tree_node.cc
  M xorp/rtrmgr/conf_tree_node.hh
  M xorp/rtrmgr/master_conf_tree_node.cc
  M xorp/rtrmgr/master_conf_tree_node.hh

  Log Message:
  -----------
  xorp: rtrmgr: Enable usage of %get functions

%get functions are very important, so our CLI DB would be synchronized with kernel DB.

So, in this patch I am looking for existing %get functions of affected modules. They are stashed
in map for latter calling.

After we finish all changes in our module, that means after end_commit function is called,
all stashed %get functions are called.

Signed-off-by: Igor Maravic <igorm at etf.rs>


  Commit: d8fbd89c04daba50d9673f4425da9fec9ec87c20
      https://github.com/greearb/xorp.ct/commit/d8fbd89c04daba50d9673f4425da9fec9ec87c20
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/etc/templates/interfaces.tp

  Log Message:
  -----------
  xorp:etc:templates: add missing returning args to %get functions

Signed-off-by: Igor Maravic <igorm at etf.rs>


  Commit: c266ad467a31d289a2770a1b97f53d66a984a935
      https://github.com/greearb/xorp.ct/commit/c266ad467a31d289a2770a1b97f53d66a984a935
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/etc/templates/interfaces.tp

  Log Message:
  -----------
  xorp: etc: templates: Don't read vif parameters one by one

Delete %get functions for vif address parameters
and put single %get function in address node that handle
all parameters.

All parameters that should be read from system are false by default.
They are synchronized as soon as vif address is created.

If parent if of created vif doesn't exist on system,
those parameters aren't important.

Signed-off-by: Igor Maravic <igorm at etf.rs>


  Commit: 24373f852352e864d28490cfb5f0d55b86537ac6
      https://github.com/greearb/xorp.ct/commit/24373f852352e864d28490cfb5f0d55b86537ac6
  Author: Igor Maravic <igorm at etf.rs>
  Date:   2012-03-20 (Tue, 20 Mar 2012)

  Changed paths:
    M xorp/fea/data_plane/ifconfig/ifconfig_set.cc

  Log Message:
  -----------
  xorp: fea: data_plane: ifconfig: Check if we can set destination(broadcast) address for vif

If our vif on system isn't broadcast-capable(point-to-point) link
we can't set appropriate broadcast(destination) address. Commit will fail in that case.

Signed-off-by: Igor Maravic <igorm at etf.rs>


Compare: https://github.com/greearb/xorp.ct/compare/e232c06...24373f8


More information about the Xorp-hackers mailing list