(void) printf("routing message version %d not understood\n",
warnx("routing message version %d not understood",
print_rtmsg(struct rt_msghdr *rtm, int msglen){	struct if_msghdr *ifm;	struct ifa_msghdr *ifam;	struct if_announcemsghdr *ifan;	const char *state = "unknown";	if (verbose == 0)		return;	if (rtm->rtm_version != RTM_VERSION) {		(void) printf("routing message version %d not understood\n",		    rtm->rtm_version);		return;	}	(void)printf("%s: len %d, ", msgtypes[rtm->rtm_type], rtm->rtm_msglen);	switch (rtm->rtm_type) {	case RTM_IFINFO:		ifm = (struct if_msghdr *)rtm;		(void) printf("if# %d, ", ifm->ifm_index);		switch (ifm->ifm_data.ifi_link_state) {		case LINK_STATE_DOWN:			state = "down";			break;		case LINK_STATE_UP:			state = "up";			break;		}		(void) printf("link: %s, flags:", state);		bprintf(stdout, ifm->ifm_flags, ifnetflags);		pmsg_addrs((char *)(ifm + 1), ifm->ifm_addrs);		break;	case RTM_NEWADDR:	case RTM_DELADDR:		ifam = (struct ifa_msghdr *)rtm;		(void) printf("metric %d, flags:", ifam->ifam_metric);		bprintf(stdout, ifam->ifam_flags, routeflags);		pmsg_addrs((char *)(ifam + 1), ifam->ifam_addrs);		break;	case RTM_IFANNOUNCE:		ifan = (struct if_announcemsghdr *)rtm;		(void) printf("if# %d, name %s, what: ",		    ifan->ifan_index, ifan->ifan_name);		switch (ifan->ifan_what) {		case IFAN_ARRIVAL:			printf("arrival");			break;		case IFAN_DEPARTURE:			printf("departure");			break;		default:			printf("#%d", ifan->ifan_what);			break;		}		printf("\n");		break;	default:		(void) printf("pid: %ld, seq %d, errno %d, flags:",			(long)rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno);		bprintf(stdout, rtm->rtm_flags, routeflags);		pmsg_common(rtm);	}}