Hi
Nothing is wrong in your case. That's how Linux kernel works when handling interrupts.
More precisely, Linux kernel tends to make the last serving core to handle the same interrupt again and again. You might ask "weird, doesn't that mean load will be unbalanced?". True. But in this case, Linux kernel tries to maintain cache hotness. As you can guess, interrupt handling involves code (the handler) and data (the packets etc). By making sure interrupt is handled by same core, there is no need to cache the same data on another core. The (wanted) net result is eventually faster execution.