Policing of Virtual Channel (vChannel) [Документация VAS Experts]

This is an old revision of the document!


3 Multiple Channels Policing

More about VChannels configuration: video tutorial

In case if the operator has several external (uplink) or internal channels often it is needed to control Channel Upper Boundary and limit low priority traffic independently of one another. Channel traffic is usually uneven and channels often are unequal.

It is necessary either to physically distribute the channels on different DPI interfaces, or to forward traffic on different channels through different VLANs so that the platform would be able to distinguish which traffic belongs to which channels.

Setting the channel parameters and constraints in the channel is same as subscribers rate plans using special identifier.

In the DPI setting /etc/dpi/fastdpi.conf there is a parameter to select distinguish type for channels:

vchannels_type=1

where

  • 1 using NICs for different channels
  • 2 using VLANs for different channels

After it you have to set NICs or VLANs list for virtual channels.

For NICs:

vchannels_list=dna0:dna1|dna2:dna3
dna0 & dna1 - virtual channel 1, dna2 & dna3 - virtual channel 2.
NICs that is not in vchannels_list but in in_dev/out_dev will be in general channel as before. It is managed as usual in configuration file

For VLANs:

vchannels_list=100:101-115|200:201:240-250
VLAN 100 and 101-115 - virtual channel 1, VLAN 200 and 240-250 - virtual channel 2. Traffic that is not in VLANs defined in vchannels_list will be in general channel as before. It is managed as usual in configuration file

Policing Configuration

Load the policing setting for channels 1 and 2

fdpi_ctrl load --policing vchannel1.cfg --vchannel 1
fdpi_ctrl load --policing vchannel2.cfg --vchannel 2

where vchannel1.cfg - file with policing definition (same as for the general channel,virtual channels and subscriber rate plans)

Example of configuration file:

htb_inbound_root=rate 10mbit 
htb_inbound_class0=rate 8bit ceil 10mbit
htb_inbound_class1=rate 1mbit ceil 3mbit 
htb_inbound_class2=rate 8bit ceil 10mbit
htb_inbound_class3=rate 8bit ceil 10mbit
htb_inbound_class4=rate 8bit ceil 10mbit
htb_inbound_class5=rate 8bit ceil 10mbit
htb_inbound_class6=rate 100mbit static
htb_inbound_class7=rate 8bit ceil 10mbit
htb_root=rate 10mbit 
htb_class0=rate 8bit ceil 10mbit
htb_class1=rate 1mbit ceil 3mbit 
htb_class2=rate 8bit ceil 10mbit
htb_class3=rate 8bit ceil 10mbit
htb_class4=rate 8bit ceil 10mbit
htb_class5=rate 8bit ceil 10mbit
htb_class6=rate 100mbit static
htb_class7=rate 8bit ceil 10mbit

Let's check what settings is loaded:

fdpi_ctrl list all vchannel --policing

The settings for the virtual channels are stored in DPI UDR (internal database) and can be changed on the fly during operation as well as for subscribers. Configuration of policing for the channel can be loaded by the named profile eather.

fdpi_ctrl load --policing --profile.name vchannel_1 --vchannel 1

The tariff plan can be set in JSON format as well.

Block List Setup - Service 4

The profile is created similarly to creating Subscriber's profile: Filtering Management.

fdpi_ctrl load --service 4 --profile.name test_blocked ––vchannel 2

Allow List Setup - Service 5

The profile is created similarly to creating Subscriber's profile: Allow List Management.

fdpi_ctrl load --service 5 --profile.name test_white ––vchannel 1