Create a Post
cancel
Showing results for 
Search instead for 
Did you mean: 
jkougoulos
Participant

r80.40 - VSX interface affinity HP DL380G10 Openserver tg3

Hello,

I am new in Checkpoint firewalls (well I configured a couple of rules 20 years ago in Solaris based one, but this does not count) and I have inherited a VSX HA cluster running on HP DL380 Gen10 Openserver with 3 quad tg3 based (broadcom) 1G NICs and a couple of dual Intel 10G NICs. The box has 2x10 cores, the first 8 of them are licensed.

I have read a lot of documents and skXXXXX in the last days, many forum posts and have done several experiments. I still have some issues with setting up the affinity of the interfaces properly.

Long story short, it looks like each tg3 interface is serviced by 5 IRQs

eg:

Click to Expand
# grep "eth0-" /proc/interrupts | awk ' { print $1, $23 } '
218: eth0-0
219: eth0-txrx-1
220: eth0-tx-2
221: eth0-tx-3
222: eth0-tx-4

Now, when I setup the affinity of the interface eth0 to CPU 0, this is what I get:

Click to Expand
# fw ctl affinity -s -i eth0 0
Interface eth0: CPU 0 - set successfully
Multi-queue affinity was not changed. For More info, see sk113834.


# fw ctl affinity -l -r -v -a
CPU 0: eth0 (irq 222) eth4 (irq 237) eth5 (irq 227)
CPU 1: eth0 (irq 222) eth1 (irq 267) eth2 (irq 242) eth3 (irq 247) eth5 (irq 227) eth6 (irq 217) eth7 (irq 257) eth11 (irq 212) eth12 (irq 267) eth13 (irq 232) eth14 (irq 252)
CPU 2: eth0 (irq 222) eth5 (irq 227)
CPU 3: eth0 (irq 222) eth5 (irq 227)
CPU 4: eth0 (irq 222) eth5 (irq 227)
CPU 5: eth0 (irq 222) eth5 (irq 227)
CPU 6: eth0 (irq 222) eth5 (irq 227)
CPU 7: eth0 (irq 222) eth5 (irq 227)
CPU 8: eth0 (irq 222) eth5 (irq 227)
CPU 9: eth0 (irq 222) eth5 (irq 227)
CPU 10:
CPU 11:
CPU 12:
CPU 13:
CPU 14:
CPU 15:
CPU 16:
CPU 17:
CPU 18:
CPU 19:
All:
The current license permits the use of CPUs 0, 1, 2, 3, 4, 5, 6, 7 only.
Interface eth8: has multi queue enabled
Interface eth9: has multi queue enabled



# fw ctl affinity -l
Interface eth0: CPU 0 1 2 3 4 5 6 7 8 9
Interface eth1: CPU 1
Interface eth2: CPU 1
Interface eth3: CPU 1
Interface eth4: CPU 0
Interface eth5: CPU 0 1 2 3 4 5 6 7 8 9
Interface eth6: CPU 1
Interface eth7: CPU 1
Interface eth11: CPU 1
Interface eth12: CPU 1
Interface eth13: CPU 1
Interface eth14: CPU 1
VS_0: CPU 2 3 4 5 6 7
VS_0 fwk: CPU 2 3 4 5 6 7
VS_1: CPU 2 3 4 5 6 7
VS_1 fwk: CPU 2 3 4 5 6 7
VS_5: CPU 2 3 4 5 6 7
VS_5 fwk: CPU 2 3 4 5 6 7
VS_8: CPU 2 3 4 5 6 7
VS_8 fwk: CPU 2 3 4 5 6 7
The current license permits the use of CPUs 0, 1, 2, 3, 4, 5, 6, 7 only.
Interface eth8: has multi queue enabled
Interface eth9: has multi queue enabled

Now if I go a bit deeper:

Click to Expand
# for i in `grep "eth0-" /proc/interrupts | awk -F: ' { print $1 } ' | sed 's/://' `; do echo -n "$i -> " ; cat /proc/irq/$i/smp_affinity ; done
218 -> 00001
219 -> 003ff
220 -> 003ff
221 -> 003ff
222 -> 003ff

Notice also that in the output of fw ctl affinity -l -r -v -a, eth1 seems to use the same IRQ with eth12.

While, in reality:

Click to Expand
# grep "eth1-" /proc/interrupts | awk ' { print $1, $23 } '
258: eth1-0
259: eth1-txrx-1
260: eth1-tx-2
261: eth1-tx-3
262: eth1-tx-4

# grep "eth12-" /proc/interrupts | awk ' { print $1, $23 } '
263: eth12-0
264: eth12-txrx-1
265: eth12-tx-2
266: eth12-tx-3
267: eth12-tx-4

So, my question is... does it look the same in other installations using tg3 driver in r80.40 / is it expected behaviour or should I look for something else?

Thanks!

John     

 

`

0 Kudos
4 Replies
This widget could not be displayed.

Leaderboard

Epsum factorial non deposit quid pro quo hic escorol.

Upcoming Events

    CheckMates Events