[Contents] [Prev] [Next] [Index] [Report an Error]

Imposing a Minimum MTU Setting

The maximum transmission unit (MTU) is the greatest amount of data or packet size (in bytes) that can be transferred in one physical frame on a network.

This example tests the MTU of SONET/SDH interfaces, reports when the MTU is less than the value of the $min-mtu variable, here set to 2048, and causes the commit operation to fail.

XSLT Syntax

<?xml version="1.0" standalone="yes"?>

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:junos="http://xml.juniper.net/junos/*/junos"
    xmlns:xnm="http://xml.juniper.net/xnm/1.1/xnm"
    xmlns:jcs="http://xml.juniper.net/junos/commit-scripts/1.0">

    <xsl:import href="../import/junos.xsl"/>

    <xsl:param name="min-mtu" select="2048"/>

    <xsl:template match="configuration">
        <xsl:for-each select="interfaces/interface[starts-with(name, 'so-')
                                   and mtu and mtu &lt; $min-mtu]">
            <xnm:error>
                <xsl:call-template name="jcs:edit-path"/>
                <xsl:call-template name="jcs:statement">
                    <xsl:with-param name="dot" select="mtu"/>
                </xsl:call-template>
                <message>
                    <xsl:text>SONET interfaces must have a minimum MTU of </xsl:text>
                    <xsl:value-of select="$min-mtu"/>
                    <xsl:text>.</xsl:text>
                </message>
            </xnm:error>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

SLAX Syntax

version 1.0;

ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";

import "../import/junos.xsl";

param $min-mtu = 2048;

match configuration {
    for-each (interfaces/interface[starts-with(name, 'so-') and mtu and
                        mtu < $min-mtu]) {
        <xnm:error> {
            call jcs:edit-path();
            call jcs:statement($dot = mtu);
            <message> {
                expr "SONET interfaces must have a minimum MTU of ";
                expr $min-mtu;
                expr ".";
            }
        }
    }
}

[Contents] [Prev] [Next] [Index] [Report an Error]