From 9738a944c05f054b1ba33327fa76aaa0586cb299 Mon Sep 17 00:00:00 2001
From: Guy Zana <guy@cloudius-systems.com>
Date: Tue, 26 Feb 2013 13:33:31 +0200
Subject: [PATCH] net: cleaned up if.c and if_ethersubr.c

---
 bsd/sys/net/if.c           |  8 +-------
 bsd/sys/net/if_ethersubr.c | 10 +++++-----
 2 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/bsd/sys/net/if.c b/bsd/sys/net/if.c
index df09ff965..7cb2d3313 100644
--- a/bsd/sys/net/if.c
+++ b/bsd/sys/net/if.c
@@ -677,13 +677,9 @@ if_purgeaddrs(struct ifnet *ifp)
 			ifr.ifra_addr = *ifa->ifa_addr;
 			if (ifa->ifa_dstaddr)
 				ifr.ifra_broadaddr = *ifa->ifa_dstaddr;
-#if 0
 			if (in_control(NULL, SIOCDIFADDR, (caddr_t)&ifr, ifp,
 			    NULL) == 0)
 				continue;
-#else
-			/* FIXME: OSv: disable forward ioctl to ip stack */
-#endif
 		}
 #endif /* INET */
 #ifdef INET6
@@ -765,8 +761,7 @@ if_detach_internal(struct ifnet *ifp, int vmove)
 	if_purgeaddrs(ifp);
 
 #ifdef INET
-	/* FIXME: OSv: uncomment... */
-	// in_ifdetach(ifp);
+	in_ifdetach(ifp);
 #endif
 
 #ifdef INET6
@@ -1646,7 +1641,6 @@ if_link_state_change(struct ifnet *ifp, int link_state)
 
 	ifp->if_link_state = link_state;
 
-	/* FIXME: Call async... */
 	do_link_state_change(ifp, 0);
 }
 
diff --git a/bsd/sys/net/if_ethersubr.c b/bsd/sys/net/if_ethersubr.c
index 6a08f0bd2..8f87b73f3 100644
--- a/bsd/sys/net/if_ethersubr.c
+++ b/bsd/sys/net/if_ethersubr.c
@@ -665,7 +665,6 @@ ether_input_internal(struct ifnet *ifp, struct mbuf *m)
 		}
 	}
 #endif
-
 	{
 		/*
 		 * If the frame received was not for our MAC address, set the
@@ -803,13 +802,14 @@ ether_demux(struct ifnet *ifp, struct mbuf *m)
 	 */
 	switch (ether_type) {
 #ifdef INET
-#if 0
 	case ETHERTYPE_IP:
-		if ((m = ip_fastforward(m)) == NULL)
+#if 0
+	    /* FIXME: OSv - port ip fast forward to get perf gain */
+	    if ((m = ip_fastforward(m)) == NULL)
 			return;
-		isr = NETISR_IP;
-		break;
 #endif
+	    isr = NETISR_IP;
+		break;
 
 	case ETHERTYPE_ARP:
 		if (ifp->if_flags & IFF_NOARP) {
-- 
GitLab