-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Palo Alto Interface missing bandwidth, cannot compute OSPF cost #9013
Comments
Looking at the code the metric annotation is supported but it expects an 8-bit integer. Documentation indicates 16-bit integers. I'll try to fix this soon unless you or someone else beats me to it. |
@ratulm - looks like 2 bugs, one parsing and one not using the default of |
dhalperi
added a commit
that referenced
this issue
May 29, 2024
There are two types of OSPF metrics with different bounds. Separate them grammatically and make the interface metric one correctly u16. Improve testing for new behavior including both 16 bit support and using the PAN default when metric is not configured in configs. Fix #9013, thanks @netops501! commit-id:267766ed
Ended up being even more involved with requiring disambiguating two different types of metric concepts in PAN. #9024 |
dhalperi
added a commit
that referenced
this issue
May 29, 2024
There are two types of OSPF metrics with different bounds. Separate them grammatically and make the interface metric one correctly u16. Improve testing for new behavior including both 16 bit support and using the PAN default when metric is not configured in configs. Fix #9013, thanks @netops501! commit-id:267766ed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug and expected behavior
Palo Alto firewall doesn't support "bandwidth" under the interface. However, it has metric keyword for OSPF interface instead. For example,
set network virtual-router default protocol ospf area 0.0.0.0 interface tunnel.11 metric 5001
Runnable example
Additional context
Error message on the console:
2024-05-18 02:18:20,730 ERROR common.BatfishLogger Exception in container:241d5675-11a8-4cde-b7d1-34b045ce3916, testrig:1c8c3cd5-bae1-44fb-b236-deebc6219018; exception:java.lang.IllegalStateException: Interface tunnel.11 on paloalto-test is missing bandwidth, cannot compute OSPF cost
at com.google.common.base.Preconditions.checkState(Preconditions.java:835)
at org.batfish.datamodel.ospf.OspfProcess.computeInterfaceCost(OspfProcess.java:373)
at org.batfish.datamodel.ospf.OspfProcess.computeInterfaceCost(OspfProcess.java:362)
at org.batfish.datamodel.ospf.OspfProcess.lambda$initInterfaceCosts$4(OspfProcess.java:514)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4747)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4755)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
at java.base/java.util.Collections$2.tryAdvance(Collections.java:4747)
at java.base/java.util.Collections$2.forEachRemaining(Collections.java:4755)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at org.batfish.datamodel.ospf.OspfProcess.initInterfaceCosts(OspfProcess.java:514)
at org.batfish.main.Batfish.lambda$postProcessOspfCosts$34(Batfish.java:1653)
at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
at org.batfish.main.Batfish.lambda$postProcessOspfCosts$35(Batfish.java:1653)
at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
at org.batfish.main.Batfish.lambda$postProcessOspfCosts$36(Batfish.java:1650)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.batfish.main.Batfish.postProcessOspfCosts(Batfish.java:1646)
at org.batfish.main.Batfish.postProcessSnapshot(Batfish.java:1950)
at org.batfish.main.Batfish.serializeIndependentConfigs(Batfish.java:2314)
at org.batfish.main.Batfish.run(Batfish.java:2041)
at org.batfish.main.Driver.lambda$runBatfish$0(Driver.java:155)
at java.base/java.lang.Thread.run(Thread.java:829)
The text was updated successfully, but these errors were encountered: