freebsd-skq/sys/dev/mxge
Ravi Pokala c756fb6ebb mxge(4) should pass unhandled ioctls to ether_ioctl()
Panasas discovered that ioctl(SIOCGLAGGPORT) returns ENOTTY for mxge(4) when
the NIC is not a member of a lagg. This came as a surprise, because the
SIOCGLAGGPORT handler in if_lagg.c only returns ENOENT (if run against the
laggX interface, rather than a physical port) or EINVAL (if run against a
non-member physical port). This behavior was not seen with other drivers,
such as bge(4), igb(4), and cxl(4). When I compared their respective ioctl
handlers, I found that they all called ether_ioctl() for the default (i.e.
unhandled) case; by contrast, mxge(4) only calls ether_ioctl() for two
specific cases, and returns ENOTTY for the default case.

Remove the two cases which explicitly call ether_ioctl(), and let the
default case call it instead. This matches what the vast majority of the NIC
drivers do.

Reviewed by:	kmacy
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D14381
2018-02-15 03:22:04 +00:00
..
eth_z8e.h
ethp_z8e.h
if_mxge_var.h
if_mxge.c mxge(4) should pass unhandled ioctls to ether_ioctl() 2018-02-15 03:22:04 +00:00
mcp_gen_header.h
mxge_eth_z8e.c
mxge_ethp_z8e.c
mxge_mcp.h
mxge_rss_eth_z8e.c
mxge_rss_ethp_z8e.c
rss_eth_z8e.h
rss_ethp_z8e.h