View | Details | Raw Unified
Collapse All | Expand All

(-) if-linux.c (-2 / +5 lines)
 Lines 359-366    Link Here 
	nlm->rt.rtm_dst_len = inet_ntocidr(*netmask);
	nlm->rt.rtm_dst_len = inet_ntocidr(*netmask);
	add_attr_l(&nlm->hdr, sizeof(*nlm), RTA_DST,
	add_attr_l(&nlm->hdr, sizeof(*nlm), RTA_DST,
		   &destination->s_addr, sizeof(destination->s_addr));
		   &destination->s_addr, sizeof(destination->s_addr));
	add_attr_l(&nlm->hdr, sizeof(*nlm), RTA_GATEWAY,
	/* If destination == gateway then don't add the gateway */
		   &gateway->s_addr, sizeof(gateway->s_addr));
	if (destination->s_addr != gateway->s_addr ||
	    netmask->s_addr != INADDR_BROADCAST)
		add_attr_l(&nlm->hdr, sizeof(*nlm), RTA_GATEWAY,
			   &gateway->s_addr, sizeof(gateway->s_addr));
	add_attr_32(&nlm->hdr, sizeof(*nlm), RTA_OIF, ifindex);
	add_attr_32(&nlm->hdr, sizeof(*nlm), RTA_OIF, ifindex);
	add_attr_32(&nlm->hdr, sizeof(*nlm), RTA_PRIORITY, metric);
	add_attr_32(&nlm->hdr, sizeof(*nlm), RTA_PRIORITY, metric);