GRE2IFP
GRE2IFP(sc) = if_alloc(IFT_TUNNEL);
GRE2IFP(sc)->if_softc = sc;
if_initname(GRE2IFP(sc), grename, ifd->unit);
GRE2IFP(sc)->if_mtu = GREMTU;
GRE2IFP(sc)->if_flags = IFF_POINTOPOINT|IFF_MULTICAST;
GRE2IFP(sc)->if_output = gre_output;
GRE2IFP(sc)->if_ioctl = gre_ioctl;
GRE2IFP(sc)->if_transmit = gre_transmit;
GRE2IFP(sc)->if_qflush = gre_qflush;
GRE2IFP(sc)->if_reassign = gre_reassign;
GRE2IFP(sc)->if_capabilities |= IFCAP_LINKSTATE;
GRE2IFP(sc)->if_capenable |= IFCAP_LINKSTATE;
if_attach(GRE2IFP(sc));
bpfattach(GRE2IFP(sc), DLT_NULL, sizeof(u_int32_t));
*ifpp = GRE2IFP(sc);
GRE2IFP(sc)->if_drv_flags &= ~IFF_DRV_RUNNING;
if_link_state_change(GRE2IFP(sc), LINK_STATE_DOWN);
ifp = GRE2IFP(sc);
if ((GRE2IFP(sc)->if_flags & IFF_UP) == 0)
GRE2IFP(sc)->if_drv_flags |= IFF_DRV_RUNNING;
GRE2IFP(sc)->if_drv_flags &= ~IFF_DRV_RUNNING;
if (sc != NULL && (GRE2IFP(sc)->if_flags & IFF_UP) != 0){
if_printf(GRE2IFP(sc),
if_printf(GRE2IFP(sc),
if_printf(GRE2IFP(sc),
if_printf(GRE2IFP(sc),
if ((GRE2IFP(sc)->if_flags & IFF_UP) == 0)
GRE2IFP(sc)->if_drv_flags |= IFF_DRV_RUNNING;
GRE2IFP(sc)->if_drv_flags &= ~IFF_DRV_RUNNING;
if (sc != NULL && (GRE2IFP(sc)->if_flags & IFF_UP) != 0){
if_printf(GRE2IFP(sc),
if_printf(GRE2IFP(sc),
if_printf(GRE2IFP(sc),
if_printf(GRE2IFP(sc),
if_printf(GRE2IFP(sc),