Skip to content

Problem about the implementations using stateful ALU #1

@GavynDracula

Description

@GavynDracula
blackbox stateful_alu sUpdateSrcAddr {
    reg : rSrcAddr;
    condition_lo : ipv4.srcAddr == register_lo;

    update_lo_1_predicate : not condition_lo;
    update_lo_1_value : ipv4.srcAddr;

    output_predicate : not condition_lo;
    output_dst : sfExportKey.srcAddr;
    output_value : register_lo;
}

Take sUpdateSrcAddr as an example. As far as I know, the default value of '*_predicate' is 1 (true), and of '*_value' is 0. So if condition (ipv4.srcAddr == register_lo) satisfies, alu_lo_1 = 0, alu_lo_2 = 0, and the register_lo will be updated to alu_lo_1 | alu_lo_2 = 0. Right? I think this logic is not correct for *flow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions