if_llatbl.c (197306) | if_llatbl.c (201282) |
---|---|
1/* 2 * Copyright (c) 2004 Luigi Rizzo, Alessandro Cerri. All rights reserved. 3 * Copyright (c) 2004-2008 Qing Li. All rights reserved. 4 * Copyright (c) 2008 Kip Macy. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 11 unchanged lines hidden (view full) --- 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 */ 27#include <sys/cdefs.h> | 1/* 2 * Copyright (c) 2004 Luigi Rizzo, Alessandro Cerri. All rights reserved. 3 * Copyright (c) 2004-2008 Qing Li. All rights reserved. 4 * Copyright (c) 2008 Kip Macy. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 11 unchanged lines hidden (view full) --- 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 */ 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/sys/net/if_llatbl.c 197306 2009-09-18 09:03:23Z zec $"); | 28__FBSDID("$FreeBSD: head/sys/net/if_llatbl.c 201282 2009-12-30 21:35:34Z qingli $"); |
29 30#include "opt_inet.h" 31#include "opt_inet6.h" 32 33#include <sys/param.h> 34#include <sys/systm.h> 35#include <sys/malloc.h> 36#include <sys/mbuf.h> --- 232 unchanged lines hidden (view full) --- 269 270 switch (rtm->rtm_type) { 271 case RTM_ADD: 272 if (rtm->rtm_flags & RTF_ANNOUNCE) { 273 flags |= LLE_PUB; 274#ifdef INET 275 if (dst->sa_family == AF_INET && 276 ((struct sockaddr_inarp *)dst)->sin_other != 0) { | 29 30#include "opt_inet.h" 31#include "opt_inet6.h" 32 33#include <sys/param.h> 34#include <sys/systm.h> 35#include <sys/malloc.h> 36#include <sys/mbuf.h> --- 232 unchanged lines hidden (view full) --- 269 270 switch (rtm->rtm_type) { 271 case RTM_ADD: 272 if (rtm->rtm_flags & RTF_ANNOUNCE) { 273 flags |= LLE_PUB; 274#ifdef INET 275 if (dst->sa_family == AF_INET && 276 ((struct sockaddr_inarp *)dst)->sin_other != 0) { |
277 struct rtentry *rt = rtalloc1(dst, 0, 0); | 277 struct rtentry *rt; 278 ((struct sockaddr_inarp *)dst)->sin_other = 0; 279 rt = rtalloc1(dst, 0, 0); |
278 if (rt == NULL || !(rt->rt_flags & RTF_HOST)) { 279 log(LOG_INFO, "%s: RTM_ADD publish " 280 "(proxy only) is invalid\n", 281 __func__); 282 if (rt) 283 RTFREE_LOCKED(rt); 284 return EINVAL; 285 } --- 97 unchanged lines hidden --- | 280 if (rt == NULL || !(rt->rt_flags & RTF_HOST)) { 281 log(LOG_INFO, "%s: RTM_ADD publish " 282 "(proxy only) is invalid\n", 283 __func__); 284 if (rt) 285 RTFREE_LOCKED(rt); 286 return EINVAL; 287 } --- 97 unchanged lines hidden --- |