All,
I'm using an SRX210HE running Junos 12.1X46-D35.1
I'm stumped....I've got a very simple setup:
There is ftp and http traffic going from "Remote Host" to "Local Host". I'm trying to rate-limit the ftp data so that it doesn't saturate an up-stream link that is 10Mbps. I should be able to do this at the outgoing interface fe-0/0/6.
I'm implemented CoS with an MF classifier. The firewall filter seems to be working as expected. I can see packet counts in the proper counters for ftp data as well as when I perform an http download.
The classifier also seems to be working as expected. I also see the packet counts in queues 5 and 6 with 'show interfaces extensive' (i.e. ftp data in queue 4, and http data in queue 5).
When I remove the scheduler map, each flow (e.g. ftp and http) receives 5Mbps as expected exiting fe-0/0/6.
When I implement the full config, no matter what allocation I give to each priority, the high priority queue stabilizes at 2.86Mbps and the low prio gets the rest.
The config here gives the low-priority the 'remainder'. But, I have explicitly configured percentages for that too with the same results.
Does anyone have any ideas?
Thanks,
Matt
Here's the relevant sections of my config:
interfaces {
gr-0/0/0 {
unit 0 {
tunnel {
source 192.168.1.72;
destination 192.168.1.71;
}
family inet {
mtu 1200;
address 10.10.10.1/24;
}
}
}
fe-0/0/6 {
per-unit-scheduler;
unit 0 {
family inet {
filter {
output myftpdata;
}
address 192.168.200.1/24;
}
}
}
ge-1/0/0 {
unit 0 {
family inet {
address 192.168.1.72;
}
}
}
}
class-of-service {
forwarding-classes {
queue 4 my-low-prio-class;
queue 5 my-high-prio-class;
}
interfaces {
fe-0/0/6 {
unit 0 {
scheduler-map my-sched-map;
shaping-rate 10m;
}
}
}
scheduler-maps {
my-sched-map {
forwarding-class my-low-prio-class scheduler my-low-prio;
forwarding-class my-high-prio-class scheduler my-high-prio;
}
}
schedulers {
my-low-prio {
transmit-rate percent 80;
buffer-size percent 80;
priority high;
}
my-high-prio {
transmit-rate {
remainder;
}
buffer-size {
remainder;
}
priority low;
}
}
}
firewall {
family inet {
filter myftpdata {
interface-specific;
term term1 {
from {
port ftp-data;
}
then {
count ftpdata-count;
forwarding-class my-low-prio-class;
}
}
term term2 {
from {
port 80;
}
then {
count otherdata-count;
forwarding-class my-high-prio-class;
}
}
term all-else {
then accept;
}
}
}
}