Half duplex

Half duplex means that 1 channel is used for communication. Sending data must be synchronized with receiving data and it's possible that both ends of the communication try to send data at the same time causing a collision. The aggregate bandwidth of a 100 Mbps link is 100 Mbps. This is half of what full duplex provides. Ethernet hubs are half duplex, always.

Forcing an interface into half duplex mode
In OpenBSD you can see the media modes with the ifconfig command:

$ ifconfig -m xl0 xl0: flags=8843 mtu 1500 lladdr 00:60:08:5a:86:82 media: Ethernet 100baseTX full-duplex status: no carrier supported media: media none media 10baseT media 10baseT mediaopt full-duplex media 100baseTX media 100baseTX mediaopt full-duplex media autoselect inet 172.16.2.2 netmask 0xfffffe00 broadcast 172.16.3.255 inet6 fe80::260:8ff:fe5a:8682%xl0 prefixlen 64 scopeid 0x2

To then change it to half duplex mode you would type: $ ifconfig xl0 media 10baseT

In Linux you'd use mii-tool to do this.