Puncture wounds are so dangerous because they're hard to see and don't usually look all that bad. A puncture from a giant breed dog can easily cause an inch-deep wound that is just begging for infection. Topical treatments like antibiotic ointments will only help heal the top layer and possibly hide a nasty infection deeper inside. So yes, it's time for a trip to the vet. :-)
The swelling could be caused by bruising, and some inflammation, which would probably take care of itself, but it is possible there is muscle damage too. Take a good look at the skin under his fur, and see if you can see ANY abrasions, puncture wounds, anything at all, no matter how small, where the skin may be broken.
If there is something, then another possibility is that there is some infection. In which case I would take him to the vet when they re-open after New Year holiday.
I would obviously keep an eye on that neck anyway, and if it stays the same or gets worse in the next day, I'd take him in to the vet 2nd Jan.
Ice packs would reduce swelling. But kep a close eye on that neck, and if he gets any worse, or if you see puncture wounds.....vet.