From owner-cvs-all Mon May 25 01:49:48 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA01301 for cvs-all-outgoing; Mon, 25 May 1998 01:49:48 -0700 (PDT) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA01296; Mon, 25 May 1998 01:49:46 -0700 (PDT) (envelope-from julian@FreeBSD.org) From: Julian Elischer Received: (from julian@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id BAA03548; Mon, 25 May 1998 01:44:33 -0700 (PDT) Date: Mon, 25 May 1998 01:44:33 -0700 (PDT) Message-Id: <199805250844.BAA03548@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-share@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/share/man/man4 divert.4 src/sys/netinet ip_divert.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk julian 1998/05/25 01:44:32 PDT Modified files: share/man/man4 divert.4 sys/netinet ip_divert.c Log: Hide the interface name in the sin_zero section of the sockaddr_in passed to the user process for incoming packets. When the sockaddr_in is passed back to the divert socket later, use thi sas the primary interface lookup and only revert to the IP address when the name fails. This solves a long standing bug with divert sockets: When two interfaces had the same address (P2P for example) the interface "assigned" to the reinjected packet was sometimes incorect. Probably we should define a "sockaddr_div" to officially hold this extended information in teh same manner as sockaddr_dl. Revision Changes Path 1.11 +11 -3 src/share/man/man4/divert.4 1.25 +50 -8 src/sys/netinet/ip_divert.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message