diff options
author | Nicholas Dance <ndance@vdura.com> | 2025-02-05 23:33:20 +0000 |
---|---|---|
committer | Ravi Pokala <rpokala@FreeBSD.org> | 2025-02-24 00:13:09 +0000 |
commit | 8d079c6a9a5dfdc75adaf9bc31f2ee8111b849a1 (patch) | |
tree | 96084f5bf944e16fe244af766a89480a77a81c28 /kpasswd/(public-mirror) | |
parent | 2ab4a41956159e7c974979693cb0b13cf552128e (diff) |
To support DHCP for IPoIB links, DHCP clients and servers require the
ability to transmit link-layer broadcasts on the IB interfaces. BPF
provides the mechanism for doing this.
This change updates the if_infiniband driver to be capable of accepting
link-layer broadcast requests via BPF using Ethernet formatted frames
(the driver currently registers with BPF as DLT_EN10MB). Only Broadcast
frames can reliably be interpreted using the Ethernet header format so
detect unicast and multicast frames are rejected if passed in using the
Ethernet format. This doesn't impact the ability to support native
unicast, broadcast or multicast frames if native infiniband header
support is added to BPF at a later date.
Further the above, this commit also addresses an issue in the existing
code that can result in separation of part of the packet header from the
rest of the payload if a BPF write was attempted. This was caused by
mbuf preallocation of the infiniband header length regardless of length
of the prepend data.
Reviewed by: rpokala; Greg Foster <gfoster@vdura.com>
Tested by: Greg Foster <gfoster@vdura.com>
MFC after: 1 week
Sponsored by: Vdura
Pull Request: https://github.com/freebsd/freebsd-src/pull/1591
Diffstat (limited to 'kpasswd/(public-mirror)')
0 files changed, 0 insertions, 0 deletions