So im going to have a few networks
Production - 10.130.0.0/22
Vendors - 10.150.0.0/22
Guest - 10.68.0.0/22
Streaming - 10.70.0.0/24
Now my entire internet connection will be 2Gig down and 300 UP.
What my goal is, is that I want all of these networks to at any given time to have access to all this bandwidth.
But what I also want is that if needed..
I need production to be able to have
500 down GUARANTEED and 50 UP Guaranteed
Vendors to have GUARANTEED 500 Down and 50UP GUARANTEED
And for streaming I need them to have 500 Down GUARANTEED and 200 UP guaranteed..
So if all networks are pretty much hitting those maxes that is where I need the bandwidth to be prioritized
Ive tried to lab this out and its been pretty hard for me to know if im doing any of this right as im one person and its pretty hard to stress out all these networks and watch the behavior.. so I went to the forbidden road of asking CHATGPT and it gave me these results.. I was wondering if there was any real substance to this approach.. I must admit.. a decent amount of my learning has been sort of reverse engineering finished products and learning them on the way back to the solution.. so like a solution.. ok what is in place on this config for it to all work… remove it all.. and add it all back to see where and how each change adds to make everything work.. well anyways.. here are the commands..
really appreciate any comments that could help me trust or distrust this..
/ip firewall mangle
add chain=forward src-address=10.130.0.0/22 action=mark-connection new-connection-mark=production_conn passthrough=yes
add chain=forward src-address=10.150.0.0/22 action=mark-connection new-connection-mark=vendors_conn passthrough=yes
add chain=forward src-address=10.70.0.0/24 action=mark-connection new-connection-mark=streaming_conn passthrough=yes
add chain=forward connection-mark=production_conn action=mark-packet new-packet-mark=production_packet passthrough=no
add chain=forward connection-mark=vendors_conn action=mark-packet new-packet-mark=vendors_packet passthrough=no
add chain=forward connection-mark=streaming_conn action=mark-packet new-packet-mark=streaming_packet passthrough=no
/queue tree
add name="Production_Down" parent=global down max-limit=500M queue=default packet-mark=production_packet
add name="Production_Up" parent=global up max-limit=50M queue=default packet-mark=production_packet
add name="Vendors_Down" parent=global down max-limit=500M queue=default packet-mark=vendors_packet
add name="Vendors_Up" parent=global up max-limit=50M queue=default packet-mark=vendors_packet
add name="Streaming_Down" parent=global down max-limit=500M queue=default packet-mark=streaming_packet
add name="Streaming_Up" parent=global up max-limit=200M queue=default packet-mark=streaming_packet
/queue tree
set [find name="Production_Down"] priority=1
set [find name="Production_Up"] priority=1
set [find name="Vendors_Down"] priority=2
set [find name="Vendors_Up"] priority=2
set [find name="Streaming_Down"] priority=3
set [find name="Streaming_Up"] priority=3
add name="Guest_Down" parent=global down max-limit=2G queue=default packet-mark=guest_packet
add name="Guest_Up" parent=global up max-limit=300M queue=default packet-mark=guest_packet