Skip to content

Junos auto-export (inter-VRF route leaking) not implemented #117

@dhalperi

Description

@dhalperi

Problem

Junos routing-options auto-export causes automatic route leaking between VRFs that share route target communities. Batfish parses this statement but does not implement the route leaking behavior, resulting in missing routes in VRFs that should receive leaked routes.

Technical Details

When auto-export is configured under a Junos routing instance, the device automatically leaks routes between VRFs that have matching import/export route targets. This is similar to vrf-export + vrf-import but is automatic based on shared route targets.

In the junos_evpn_type5 lab, both TENANT-A and TENANT-B have auto-export configured along with overlapping vrf-target communities. This causes local routes (including virtual-gateway-address /32 routes) to be leaked between VRFs on the device.

Batfish recognizes the auto-export statement in the parser grammar (no parse warning is emitted) but does not implement it -- the statement has no Java conversion logic. This means routes that should be leaked between VRFs are missing in Batfish.

Additionally, vrf-export generates a parse warning ("This feature is not currently supported"), and vpn-apply-export is unrecognized. These related export mechanisms also contribute to route distribution differences.

Observed In

junos_evpn_type5 lab -- main RIB on node1-1 and router1, where device shows VGA local routes in VRFs that received them via auto-export, but Batfish does not have these routes.

Symptoms

Main RIB validation shows device routes with No_match_found_on_the_right for routes that were leaked between VRFs via auto-export on the device but are absent in Batfish.

Configuration Patterns

routing-instances {
    TENANT-A {
        routing-options {
            auto-export;
        }
        vrf-target target:65000:10000;
    }
}

Next Steps

Implement auto-export route leaking in Batfish for Junos routing instances. This requires evaluating shared route targets between VRFs and leaking matching routes accordingly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions