A protest opposing federal immigration enforcement policies unfolded peacefully in downtown Portland near the southwest waterfront May 1.

Although May Day protests typically focus on labor-related critiques, Occupy ICE PDX organized an early rally targeting the U.S. Customs and Immigration Enforcement agency.

Chants of "No KKK, no fascist USA, no cops," "ICE out of Portland," and "protect children" rang out from the crowd that gathered in Elizabeth Caruthers Park. The group then marched to the federal building where local ICE officials work in Portland.

Portland Police gave warnings that protesters needed to stay out of the street or face arrest. Protesters ignored the request, but largely moved out of the street when they reached the federal building.

Although dozens of Portland police monitored the event, the officers responded to protesters with restraint. Officers allowed the crowd to rally and march largely unimpeded, though they warned the group not to block traffic several times.

Far-right agitator Joey Gibson and several of his Patriot Prayer supporters showed up to badger the black-clad and sometimes masked protesters. A few people argued politics with the right-wingers.

There was no fighting but there were some theatrics. A person in the crowd played audio of a crying child who had been taken into custody at the border and separated from her father. Protesters also displayed a large wooden crib with a large baby doll.

As the protesters resumed marching around 3 pm, police again warned that they  needed to stay on sidewalks. That order again went ignored.

Still, the protest wound down without major incident. Around 3:30, protesters left to join another May Day rally in Holladay Park in Northeast Portland.