opnsense-plugins/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF.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>