281 lines
14 KiB
XML
281 lines
14 KiB
XML
<model>
|
|
<mount>//OPNsense/quagga/ospf</mount>
|
|
<description>OSPF Routing configuration</description>
|
|
<version>1.0.3</version>
|
|
<items>
|
|
<enabled type="BooleanField">
|
|
<default>0</default>
|
|
<Required>Y</Required>
|
|
</enabled>
|
|
<routerid type="TextField">
|
|
<default></default>
|
|
<Required>N</Required>
|
|
<mask>/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/</mask>
|
|
</routerid>
|
|
<originate type="BooleanField">
|
|
<default>0</default>
|
|
<Required>Y</Required>
|
|
</originate>
|
|
<originatealways type="BooleanField">
|
|
<default>0</default>
|
|
<Required>Y</Required>
|
|
</originatealways>
|
|
<originatemetric type="IntegerField">
|
|
<Required>N</Required>
|
|
<MinimumValue>0</MinimumValue>
|
|
<MaximumValue>16777214</MaximumValue>
|
|
<ValidationMessage>Must be a number between 0 and 16777214.</ValidationMessage>
|
|
</originatemetric>
|
|
<passiveinterfaces type="InterfaceField">
|
|
<Required>N</Required>
|
|
<multiple>Y</multiple>
|
|
<default></default>
|
|
<AllowDynamic>Y</AllowDynamic>
|
|
<filters>
|
|
<enable>/^(?!0).*$/</enable>
|
|
</filters>
|
|
</passiveinterfaces>
|
|
<redistribute type="OptionField">
|
|
<Required>N</Required>
|
|
<multiple>Y</multiple>
|
|
<default></default>
|
|
<OptionValues>
|
|
<bgp>Border Gateway Protocol (BGP)</bgp>
|
|
<connected>Connected routes (directly attached subnet or host)</connected>
|
|
<kernel>Kernel routes (not installed via the zebra RIB)</kernel>
|
|
<rip>Routing Information Protocol (RIP)</rip>
|
|
<static>Statically configured routes</static>
|
|
</OptionValues>
|
|
</redistribute>
|
|
<redistributemap type="ModelRelationField">
|
|
<Model>
|
|
<template>
|
|
<source>OPNsense.quagga.ospf</source>
|
|
<items>routemaps.routemap</items>
|
|
<display>name</display>
|
|
<group>name</group>
|
|
</template>
|
|
</Model>
|
|
<ValidationMessage>Related Route-Map item not found</ValidationMessage>
|
|
<Multiple>N</Multiple>
|
|
<Required>N</Required>
|
|
</redistributemap>
|
|
<networks>
|
|
<network type="ArrayField">
|
|
<enabled type="BooleanField">
|
|
<default>1</default>
|
|
<Required>Y</Required>
|
|
</enabled>
|
|
<ipaddr type="TextField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
<mask>/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/</mask>
|
|
</ipaddr>
|
|
<area type="TextField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
<mask>/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/</mask>
|
|
</area>
|
|
<netmask type="IntegerField">
|
|
<default>24</default>
|
|
<MinimumValue>0</MinimumValue>
|
|
<Required>Y</Required>
|
|
<MaximumValue>32</MaximumValue>
|
|
<ValidationMessage>Network mask must be between 0 and 32.</ValidationMessage>
|
|
</netmask>
|
|
<arearange type="NetworkField">
|
|
<Required>N</Required>
|
|
</arearange>
|
|
<linkedPrefixlistIn type="ModelRelationField">
|
|
<Model>
|
|
<template>
|
|
<source>OPNsense.quagga.ospf</source>
|
|
<items>prefixlists.prefixlist</items>
|
|
<display>name</display>
|
|
<group>name</group>
|
|
</template>
|
|
</Model>
|
|
<ValidationMessage>Related Prefix-List item not found</ValidationMessage>
|
|
<Multiple>N</Multiple>
|
|
<Required>N</Required>
|
|
</linkedPrefixlistIn>
|
|
<linkedPrefixlistOut type="ModelRelationField">
|
|
<Model>
|
|
<template>
|
|
<source>OPNsense.quagga.ospf</source>
|
|
<items>prefixlists.prefixlist</items>
|
|
<display>name</display>
|
|
<group>name</group>
|
|
</template>
|
|
</Model>
|
|
<ValidationMessage>Related Prefix-List item not found</ValidationMessage>
|
|
<Multiple>N</Multiple>
|
|
<Required>N</Required>
|
|
</linkedPrefixlistOut>
|
|
</network>
|
|
</networks>
|
|
<interfaces>
|
|
<interface type="ArrayField">
|
|
<enabled type="BooleanField">
|
|
<default>1</default>
|
|
<Required>Y</Required>
|
|
</enabled>
|
|
<interfacename type="InterfaceField">
|
|
<Required>N</Required>
|
|
<multiple>N</multiple>
|
|
<default></default>
|
|
<AllowDynamic>Y</AllowDynamic>
|
|
<filters>
|
|
<enable>/^(?!0).*$/</enable>
|
|
</filters>
|
|
</interfacename>
|
|
<authtype type="OptionField">
|
|
<Required>N</Required>
|
|
<multiple>N</multiple>
|
|
<default></default>
|
|
<OptionValues>
|
|
<message-digest>MD5</message-digest>
|
|
</OptionValues>
|
|
</authtype>
|
|
<authkey type="TextField">
|
|
<default></default>
|
|
<Required>N</Required>
|
|
<mask>/^\S+$/</mask>
|
|
</authkey>
|
|
<authkey_id type="IntegerField">
|
|
<default>1</default>
|
|
<MinimumValue>1</MinimumValue>
|
|
<MaximumValue>255</MaximumValue>
|
|
<Required>Y</Required>
|
|
<ValidationMessage>The authentication key ID must be between 1 and 255.</ValidationMessage>
|
|
</authkey_id>
|
|
<cost type="IntegerField">
|
|
<default></default>
|
|
<MinimumValue>0</MinimumValue>
|
|
<Required>N</Required>
|
|
<MaximumValue>4294967295</MaximumValue>
|
|
<ValidationMessage>Cost must be between 0 and 4294967295.</ValidationMessage>
|
|
</cost>
|
|
<hellointerval type="IntegerField">
|
|
<default></default>
|
|
<MinimumValue>0</MinimumValue>
|
|
<Required>N</Required>
|
|
<MaximumValue>4294967295</MaximumValue>
|
|
<ValidationMessage>Hello interval must be between 0 and 4294967295.</ValidationMessage>
|
|
</hellointerval>
|
|
<deadinterval type="IntegerField">
|
|
<default></default>
|
|
<MinimumValue>0</MinimumValue>
|
|
<Required>N</Required>
|
|
<MaximumValue>4294967295</MaximumValue>
|
|
<ValidationMessage>Dead interval must be between 0 and 4294967295.</ValidationMessage>
|
|
</deadinterval>
|
|
<retransmitinterval type="IntegerField">
|
|
<default></default>
|
|
<MinimumValue>0</MinimumValue>
|
|
<Required>N</Required>
|
|
<MaximumValue>4294967295</MaximumValue>
|
|
<ValidationMessage>Retransmit interval must be between 0 and 4294967295.</ValidationMessage>
|
|
</retransmitinterval>
|
|
<transmitdelay type="IntegerField">
|
|
<default></default>
|
|
<MinimumValue>0</MinimumValue>
|
|
<Required>N</Required>
|
|
<MaximumValue>4294967295</MaximumValue>
|
|
<ValidationMessage>Transmit delay must be between 0 and 4294967295.</ValidationMessage>
|
|
</transmitdelay>
|
|
<priority type="IntegerField">
|
|
<default></default>
|
|
<MinimumValue>0</MinimumValue>
|
|
<Required>N</Required>
|
|
<MaximumValue>4294967295</MaximumValue>
|
|
<ValidationMessage>Priority must be between 0 and 4294967295.</ValidationMessage>
|
|
</priority>
|
|
<networktype type="OptionField">
|
|
<Required>N</Required>
|
|
<multiple>N</multiple>
|
|
<default></default>
|
|
<OptionValues>
|
|
<broadcast>Broadcast multi-access network</broadcast>
|
|
<non-broadcast>NBMA network</non-broadcast>
|
|
<point-to-multipoint>Point-to-multipoint network</point-to-multipoint>
|
|
<point-to-point>Point-to-point network</point-to-point>
|
|
</OptionValues>
|
|
</networktype>
|
|
</interface>
|
|
</interfaces>
|
|
<prefixlists>
|
|
<prefixlist type="ArrayField">
|
|
<enabled type="BooleanField">
|
|
<default>1</default>
|
|
<Required>Y</Required>
|
|
</enabled>
|
|
<name type="TextField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
<mask>/^([0-9a-zA-Z\._\-]){1,64}$/u</mask>
|
|
<ValidationMessage>The name should only contain alphanumeric characters, dashes, underscores or a dot.</ValidationMessage>
|
|
</name>
|
|
<seqnumber type="IntegerField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
<MinimumValue>10</MinimumValue>
|
|
<MaximumValue>99</MaximumValue>
|
|
</seqnumber>
|
|
<action type="OptionField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
<OptionValues>
|
|
<permit>Permit</permit>
|
|
<deny>Deny</deny>
|
|
</OptionValues>
|
|
</action>
|
|
<network type="TextField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
</network>
|
|
</prefixlist>
|
|
</prefixlists>
|
|
<routemaps>
|
|
<routemap type="ArrayField">
|
|
<enabled type="BooleanField">
|
|
<default>1</default>
|
|
<Required>Y</Required>
|
|
</enabled>
|
|
<name type="TextField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
</name>
|
|
<action type="OptionField">
|
|
<Required>Y</Required>
|
|
<OptionValues>
|
|
<permit>Permit</permit>
|
|
<deny>Deny</deny>
|
|
</OptionValues>
|
|
</action>
|
|
<id type="IntegerField">
|
|
<default></default>
|
|
<Required>Y</Required>
|
|
<MinimumValue>10</MinimumValue>
|
|
<MaximumValue>99</MaximumValue>
|
|
</id>
|
|
<match2 type="ModelRelationField">
|
|
<Model>
|
|
<template>
|
|
<source>OPNsense.quagga.ospf</source>
|
|
<items>prefixlists.prefixlist</items>
|
|
<display>name</display>
|
|
</template>
|
|
</Model>
|
|
<ValidationMessage>Related item not found</ValidationMessage>
|
|
<Multiple>N</Multiple>
|
|
<Required>N</Required>
|
|
</match2>
|
|
<set type="TextField">
|
|
<Required>N</Required>
|
|
</set>
|
|
</routemap>
|
|
</routemaps>
|
|
</items>
|
|
</model>
|