The customer noticed their EVPN client's multicast traffic tail drops from time to time in Best Effort Queue 0, without CoS configured for the PTX10K router.
To solve such an issue, the best solution is to separate EVPN multicast traffic into another queue other than the best-effort Queue0(Q0)
To make this happen, we suggested a firewall like below to move multicast traffic into Q1 and applied it in the EVPN ingress vlan unit (et-0/0/3.23 in this example)
/// Sample firewall config to move multicast traffic into Q1 (mutlicast destination-mac-address 01:00:5e:00:00:00/25 for ipv4 and 33:33:00:00:00:00/16 for ipv6)
In this sample, we set multicast traffic with low-loss priority in Queue1 (Q1)
# set firewall family ethernet-switching filter MULTICAST-TO-Q1 term MATCH-MULTICAST from destination-mac-address 33:33:00:00:00:00/16
# set firewall family ethernet-switching filter MULTICAST-TO-Q1 term MATCH-MULTICAST from destination-mac-address 01:00:5e:00:00:00/25
# set firewall family ethernet-switching filter MULTICAST-TO-Q1 term MATCH-MULTICAST then accept
# set firewall family ethernet-switching filter MULTICAST-TO-Q1 term MATCH-MULTICAST then forwarding-class expedited-forwarding
# set firewall family ethernet-switching filter MULTICAST-TO-Q1 term MATCH-MULTICAST then loss-priority low
# set firewall family ethernet-switching filter MULTICAST-TO-Q1 term DEFAULT then accept
/// Apply the firewall to the EVPN ingress vlan port et-0/0/3.23 in this sample.
# set interfaces et-0/0/3 unit 23 encapsulation vlan-bridge
# set interfaces et-0/0/3 unit 23 vlan-id 23
# set interfaces et-0/0/3 unit 23 family ethernet-switching filter input MULTICAST-TO-Q1
/// We also need to rewrite the Q1 multicast traffic with the default 802.1 rewrite-rules on the egress interface (you can customize and use your own)
# set class-of-service interfaces ae1 unit 100 rewrite-rules ieee-802.1 ieee8021p-default
user@PTX10008> show class-of-service rewrite-rule type ieee-802.1
Rewrite rule: ieee8021p-default, Code point type: ieee-802.1, Index: 4
Forwarding class Loss priority Code point
assured-forwarding low 100
assured-forwarding high 101
best-effort low 000
best-effort high 001
expedited-forwarding low 010 <- rewrite Q1 multicast low-loss traffic with 010 value for next hop router to perform CoS action on this 802.1P value
expedited-forwarding high 011
network-control low 110
network-control high 111
labroot@PTX10001-Edge>
/// Sample configuration for CoS scheduler scheduler-map, tune these values accordingly if not suitable for your situation
ae1 is the egress core EVPN interface in this sample for this edge router and in this sample we only used Q0/Q1/Q3 for CoS queueing.
# set class-of-service interfaces ae1 scheduler-map my-sched-map
# set class-of-service scheduler-maps my-sched-map forwarding-class best-effort scheduler sched-be
# set class-of-service scheduler-maps my-sched-map forwarding-class expedited-forwarding scheduler sched-ef
# set class-of-service scheduler-maps my-sched-map forwarding-class network-control scheduler sched-nc
# set class-of-service schedulers sched-be transmit-rate percent 45
# set class-of-service schedulers sched-be buffer-size percent 75
# set class-of-service schedulers sched-be priority low
# set class-of-service schedulers sched-ef transmit-rate percent 50
# set class-of-service schedulers sched-ef buffer-size percent 20
# set class-of-service schedulers sched-ef priority high
# set class-of-service schedulers sched-nc transmit-rate percent 5
# set class-of-service schedulers sched-nc buffer-size percent 5
# set class-of-service schedulers sched-nc priority high