Skip to content

Strengthening verifications of Ethernet principal #20

Description

@AltraMayor

The Ethernet principal is not properly verifying its XIDs that come from userland to its local and main tables.

The Ethernet principal does not check that the interface associated to a local Ethernet XID exists, is up, or has the proper format (e.g. having the correct number of zeros after the Ethernet address). local_newroute() in net/xia/ppal_ether/main.c should do these verifications. Most of the code for this fix can be copied from another function in the same file, namely main_newroute().

Finally, main_newroute() should verify that the Ethernet address part of the Ethernet XID being added is not the Ethernet address of the interface referred in the XID. Putting in simpler language, the neighbor represented by the new XID should not be the host itself because it would mean that the XID is local instead of main. Notice that analogous test is not needed in local_newroute() because one may want to force a neighbor XID to behave as a local XID.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions