batfish / batfish

Batfish is a network configuration analysis tool that can find bugs and guarantee the correctness of (planned or current) network configurations. It enables network engineers to rapidly and safely evolve their network, without fear of outages or security breaches.

Home Page:http://www.batfish.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SetAdministrativeCost should allow use of 32-bit integers.

nickgian opened this issue · comments

Based on Juniper Docs the max value for AD is 4294967295.
Batfish models administrative distance as a Java int which is signed and has a max-value of 2147483647.
I believe Batfish should use long/LongExpr to properly represent AD.

Every other vendor this is 1-255, and Junos defaults that way, from the same docs, too. We might need to make a Junos-specific enhancement in a different field instead of AD.

Are you seeing this happen in real devices?

Note symbolic routes also currently limited to 8 bits.

    _adminDist = MutableBDDInteger.makeFromIndex(factory, 8, idx, false);

I think what I'm saying is, I'm surprised something in the VI didn't reject AD > 255 :)

Note symbolic routes also currently limited to 8 bits.

    _adminDist = MutableBDDInteger.makeFromIndex(factory, 8, idx, false);

fyi #8807

I have not seen use cases, that use more than 255.