1/* $NetBSD: if_gre.c,v 1.49 2003/12/11 00:22:29 itojun Exp $ */ |
2/* $FreeBSD: head/sys/net/if_gre.c 125020 2004-01-26 12:21:59Z sobomax $ */ |
3 4/* 5 * Copyright (c) 1998 The NetBSD Foundation, Inc. 6 * All rights reserved. 7 * 8 * This code is derived from software contributed to The NetBSD Foundation 9 * by Heiko W.Rupp <hwr@pilhuhn.de> 10 * --- 382 unchanged lines hidden (view full) --- 393 394 error = 0; 395 396 s = splnet(); 397 switch (cmd) { 398 case SIOCSIFADDR: 399 ifp->if_flags |= IFF_UP; 400 break; |
401 case SIOCSIFDSTADDR: |
402 break; 403 case SIOCSIFFLAGS: 404 if ((error = suser(curthread)) != 0) 405 break; 406 if ((ifr->ifr_flags & IFF_LINK0) != 0) 407 sc->g_proto = IPPROTO_GRE; 408 else 409 sc->g_proto = IPPROTO_MOBILE; --- 74 unchanged lines hidden (view full) --- 484 bzero(&dp, sizeof(dp)); 485 bzero(&dm, sizeof(dm)); 486 sp.sin_len = sm.sin_len = dp.sin_len = dm.sin_len = 487 sizeof(struct sockaddr_in); 488 sp.sin_family = sm.sin_family = dp.sin_family = 489 dm.sin_family = AF_INET; 490 sp.sin_addr = sc->g_src; 491 dp.sin_addr = sc->g_dst; |
492 sm.sin_addr.s_addr = dm.sin_addr.s_addr = |
493 INADDR_BROADCAST; 494#ifdef INET 495 sc->encap = encap_attach(AF_INET, sc->g_proto, 496 sintosa(&sp), sintosa(&sm), sintosa(&dp), 497 sintosa(&dm), (sc->g_proto == IPPROTO_GRE) ? 498 &in_gre_protosw : &in_mobile_protosw, sc); 499 if (sc->encap == NULL) 500 printf("%s: unable to attach encap\n", --- 248 unchanged lines hidden --- |