unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



iftcntl(8)							   iftcntl(8)



NAME

  iftcntl - View and modify network interface traffic control settings

SYNOPSIS

  /usr/sbin/iftcntl interface command parameters

OPTIONS

  This section is organized by the tasks you can perform with the iftcntl
  command.  Each task subsection provides the iftcntl command syntax and the
  options to use to complete the tasks.

  Adding a Flow


  Syntax:

  iftcntl interface addflow service parameters

  interface
      Specifies	the name of the	interface on which to add a flow.

  addflow
      Adds a flow on the interface specified by	the interface parameter.

  service
      Specifies	the service on which to	add a flow.  The valid value is	cl
      (Controlled-Load)	service.  See RFC 2211 for more	information.

  parameters
      For the cl service, the following	parameters are mandatory:

      r	  Specifies the	average	data rate in bytes per second.

      p	  Specifies the	peak data rate in bytes	per second.  This parameter
	  is typically ignored by Controlled-Load implementations, and is
	  assumed to be	the maximum line rate.

      b	  Specifies the	bucket depth in	bytes.	This value should be several
	  times	greater	than the size of the data packets, even	for a con-
	  stant	data stream. This ensures data packet conformance with the
	  given	traffic	specification, even in cases of	unavoidable slight
	  jitter.

      m	  Specifies the	minimum	policed	unit in	bytes.

      M	  Specifies the	maximum	packet size in bytes.

      The following example adds a flow	on tu0 for the cl service and shows
      the successful completion	of the command.	 The example shows a reserva-
      tion suitable for	a data source that sends a constant 500-byte packet
      data stream at 1 megabit per second (Mbit/s), or 125,000 bytes per
      second, using the	User Datagram Protocol (UDP) and IPv4.	The UDP	and
      IPv4 headers create an overhead of 28 bytes, which results in 528-byte
      packets and a data rate of 132,000 bytes per second.
	   # iftcntl tu0 addflow cl 132000 0 4000 528 528
	   rhandle 0xfffffc00053ff9a0

      In the previous example, the second line,	printed	on stdout, contains
      the reservation handle (rhandle),	and indicates that the command was
      accepted by admission control.  To make this flow	reservation effec-
      tive, you	must add a filter.  This enables the packet classifier to
      identify which packets belong to the flow.  See the Adding a Filter
      section.

  Deleting a Flow


  Syntax:

  iftcntl interface delflow rhandle

  interface
      Specifies	the name of the	interface on which to delete a flow.

  delflow
      Deletes a	flow reservation on the	interface specified by the interface
      parameter.  This also deletes any	filters	associated with	the reserva-
      tion.

  rhandle
      Specifies	the reservation	handle of the flow.

  Displaying a Flow


  Syntax:

  iftcntl interface showflow -r	rhandle

  interface
      Specifies	the name of the	interface.

  showflow
      Displays the flow	reservation on the interface specified by the inter-
      face parameter and with the reservation handle specified in the follow-
      ing option.

  -r rhandle
      Specifies	the reservation	handle of the flow.

      The following example displays the flow reservation for interface	tu0
      and with the reservation handle 0xfffffc00053ff9a0:
	   # iftcntl tu0 showflow 0xfffffc00053ff9a0
	   rhandle	      policestyle   orig service   bitrate
	   -------------------------------------------------------
	   0xfffffc00053ff9a0 CL.EtherBasic MGMT      5	   1100176
	       tspec r=132000 p=0 b=4000 m=528 M=528
	       policed 0/0, dropped 0/0, good 0/0, refcount=1, no filters

      In the previous example, MGMT in the orig	column indicates the iftcntl
      addflowmr	as the originator of the flow.	If RSVP	originated the flow,
      RSVP would appear	in the orig column.  The bitrate column	indicates the
      (worst case) data	rate (in bits per second) of the flow including	the
      link layer overhead (for example,	the Ethernet header).

      The second line for each flow displays service specific parameters of
      the flow.	 The third line	displays statistics, expressed as the number
      of packets/number	of bytes, for the following packets:

      policed
	  Packets not conforming to the	given traffic specification.

      dropped
	  Policed packets that had to be dropped.  This	is subset of the
	  number of policed packets.

      good
	  Packets conforming to	the traffic specification.

  Displaying All Flows


  Syntax:

  iftcntl interface listflows

  interface
      Specifies	the name of the	interface.

  listflows
      Displays all existing flow reservations on the interface specified by
      the interface parameter, unless one of the following options is speci-
      fied.

      The following example displays all flow reservations for interface tu0:
	   # iftcntl tu0 listflows
	   rhandle	      policestyle   orig service   bitrate
	   -------------------------------------------------------
	   0xfffffc0003f0e960 CL.EtherBasic RSVP      5	   1141760
	   0xfffffc00053ff9a0 CL.EtherBasic MGMT      5	   1100176

      In the previous example, two reservations	exist. The orig	column indi-
      cates the	originator of the flow,	in this	case RSVP and MGMT (manually
      by using the iftcntl addflow command.  The bitrate column	indicates the
      (worst case) data	rate (in bits per second) of the flow including	the
      link layer overhead (for example,	the Ethernet header).

  Adding a Filter


  Syntax:

  iftcntl addfilter rhandle filter_spec

  addfilter
      Adds a filter association	to a flow specified by the rhandle parameter.
      The packet classifier in the IP output path of the kernel	uses filter
      to decide	whether	a given	packet is part of any flow for which a reser-
      vation exists.  You can associate	multiple filters with a	single flow.

  rhandle
      Specifies	the name of the	flow with which	to associate the filter.

  filter_spec
      Specifies	one of the following filter specifications:

      dest dest_port proto
	  Matches packets with the given IP destination	address	(dest),	des-
	  tination port	number (dest_port), and	protocol number	(proto).
	  Valid	proto values include 17	(UDP) and 6 (TCP).

      dest dest_port proto src src_port
	  Matches packet as in the previous filter specification, but also
	  restricts the	source IP address (src)	and port number	(src_port) to
	  the given values.

      -flowlabel src flowlabel
	  Matches IPv6 packets with the	given source address and flowlabel.

      The following example adds a filter to flow 0xfffffc000220e140 and
      shows the	successful completion of the command.
	   # iftcntl tu0 addfilter 0xfffffc000220e140 16.32.128.43 \
	   4364	6 16.32.64.1 12865
	   fhandle 0x50000da01

      In the previous example, the last	line, printed on stdout, contains the
      filter handle (fhandle), and indicates that the command was successful.

  Deleting a Filter


  Syntax:

  iftcntl delfilter rhandle fhandle

  delfilter
      Deletes a	filter with the	filter handle specified	by the rhandle and
      fhandleparameters.  If you delete	all filters associated with a flow,
      the flow reservation remains; it is not deleted.

  rhandle
      Specifies	the reservation	handle of the filter.

  fhandle
      Specifies	the filter handle of the filter.

  Configure Parameters


  Syntax:

  iftcntl interface config [param_name [value]]

  interface
      Specifies	the name of the	interface.

  config
      Displays the current, minimum, maximum, and default values for all
      traffic control parameters for the interface specified by	the interface
      parameter, unless	one of the following parameters	is specified.

  param_name
      Displays the specified parameter,	unless a value parameter (value) is
      also specified.  See the DESCRIPTION section for a list of parameters.

  value
      Sets the parameter specified by the param_name parameter to the value
      value.

      The following example displays all traffic control parameters for
      interface	tu0.  See the Traffic Control Parameters section for a
      description of each parameter.

       # iftcntl tu0 config
       ipv4_wf_hashtsize	= 229 (0..4294967295, default =	229)
       ipv4_wf_maxentries	= 458 (0..4294967295, default =	458)
       ipv4_portfilt_hashtsize	= 229 (0..4294967295, default =	229)
       ipv4_portfilt_maxentries	= 458 (0..4294967295, default =	458)
       ipv6_flowfilt_hashtsize	= 229 (0..4294967295, default =	229)
       ipv6_flowfilt_maxentries	= 458 (0..4294967295, default =	458)
       max_nonconform_queue_len	= 24 (0..2147483647, default = 24)
       max_total_r		= 5000000 (0..18446744073709551615,
	   default = 5000000)
       max_total_b		= 1000000 (0..18446744073709551615,
	   default = 1000000)
       max_nr_flows		= 500 (0..4294967295, default =	500)

DESCRIPTION

  The iftcntl command installs flows and filters on network interfaces that
  support traffic control.  The	Resource ReSerVation Protocol (RSVP) typi-
  cally	performs this dynamically when it receives an application request.
  However, you can use iftcntl if you need to manually establish a reserva-
  tion.	 If invoked manually, no RSVP signaling	occurs and only	the specified
  interface is affected.  The iftcntl command operates independently from
  RSVP.

  The iftcntl command fails on interfaces with no traffic control support.

  You can use the iftcntl to configure traffic control parameters in order to
  constrain the	amount of resources that RSVP is able to reserve. If you want
  this to occur	each time the system is	booted,	place the appropriate iftcntl
  command lines	in the /etc/inet.local file.

  If problems occur with RSVP reservations, use	iftcntl	showflow command to
  debug	them.  The rsvpstat -T command displays	the reservation	handles	for
  each reservation managed by RSVP.  You then use the iftcntl showflow com-
  mand and specify the reservation handle to display the statistics for	the
  flow.

  Traffic Control Parameters


  There	are two	types of traffic control parameters: those that	configure the
  packet classifier and	those that configure interfaces.  The following
  parameters configure the packet classifier:

  ipv4_wf_hashtsize
      Specifies	the number of hash buckets.

  ipv4_wf_maxentries
      Specifies	the maximum number of filters.

  ipv4_portfilt_hashtsize
      Specifies	the number of hash buckets.

  ipv4_portfilt_maxentries
      Specifies	the maximum number of filters.

  ipv6_flowfilt_hashtsize
      Specifies	the number of hash buckets.

  ipv6_flowfilt_maxentries
      Specifies	the maximum number of filters.

  The following	parameters configure an	interface for Controlled-Load traffic
  control:

  max_nonconform_queue_len
      Specifies	the size of an interface output	queue that is to hold policed
      packets.	Packets	on this	queue have a lower priority than best-effort
      packets. If you set this value to	zero, all policed packets are dropped
      immediately.

  max_total_r
      Specifies	the maximum total amount of bandwidth (in bits per second)
      available	for reservations.  The default is half the link	rate.

  max_total_b
      Specifies	the maximum total amount of token bucket space (in bytes)
      that can be allocated to reservations.

  max_nr_flows
      Specifies	the maximum number of flows for	which reservations will	be
      granted.

SEE ALSO

  Commands: rsvpd(8), rsvpstat(8)

  Files: inet.local(4)

  Networking: RSVP(7)

  Specifications: RFC 1633, Integrated Services	in the Internet	Architecture:
  an Overview

  RFC 2211, Specification of the Controlled-Load Network Element Service

  RFC 2216, Network Element Service Specification Template