[PATCH v2] xdp: Sample xdp program implementing ip forward

Stephen Hemminger stephen at networkplumber.org
Tue Oct 10 10:19:21 PDT 2017


On Tue, 10 Oct 2017 12:58:52 +0530
Christina Jacob <christina.jacob.koikara at gmail.com> wrote:

> +/* Get the mac address of the interface given interface name */
> +static long *getmac(char *iface)
> +{
> +	int fd;
> +	struct ifreq ifr;
> +	long *mac = NULL;
> +
> +	fd = socket(AF_INET, SOCK_DGRAM, 0);
> +	ifr.ifr_addr.sa_family = AF_INET;
> +	strncpy(ifr.ifr_name, iface, IFNAMSIZ - 1);
> +	ioctl(fd, SIOCGIFHWADDR, &ifr);
> +	mac = (long *)ifr.ifr_hwaddr.sa_data;
> +	close(fd);
> +	return mac;

Always check return value of ioctl.
You are assuming sizeof(long) > 6 bytes.
Also the byte order.



More information about the linux-arm-kernel mailing list