PERFORCE change 194133 for review

Takuya ASADA syuu at FreeBSD.org
Fri Jun 3 02:28:52 UTC 2011


http://p4web.freebsd.org/@@194133?ac=10

Change 194133 by syuu at x200 on 2011/06/03 02:28:43

	Clear bit ioctls added (BIOCCRRXQMASK, BIOCCRTXQMASK, BIOCCROTHERQMASK)

Affected files ...

.. //depot/projects/soc2011/mq_bpf/src/contrib/libpcap/pcap-bpf.c#3 edit
.. //depot/projects/soc2011/mq_bpf/src/sys/net/bpf.c#3 edit
.. //depot/projects/soc2011/mq_bpf/src/sys/net/bpf.h#3 edit
.. //depot/projects/soc2011/mq_bpf/src/sys/net/if_tap.c#3 edit

Differences ...

==== //depot/projects/soc2011/mq_bpf/src/contrib/libpcap/pcap-bpf.c#3 (text+ko) ====

@@ -2129,7 +2129,7 @@
 			}
 		}
 		if (p->other_mask != (uint32_t)-1) {
-			if (ioctl(fd, BIOSTOTHERMASK, &p->other_mask) < 0) {
+			if (ioctl(fd, BIOCSTOTHERMASK, &p->other_mask) < 0) {
 				snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "BIOCSTOTHERQMASK: %s",
 				    pcap_strerror(errno));
 				status = PCAP_ERROR;

==== //depot/projects/soc2011/mq_bpf/src/sys/net/bpf.c#3 (text+ko) ====

@@ -57,6 +57,7 @@
 #include <sys/sockio.h>
 #include <sys/ttycom.h>
 #include <sys/uio.h>
+#include <sys/syslog.h>
 
 #include <sys/event.h>
 #include <sys/file.h>
@@ -64,6 +65,7 @@
 #include <sys/proc.h>
 
 #include <sys/socket.h>
+#include <sys/syslog.h>
 
 #include <net/if.h>
 #include <net/bpf.h>
@@ -1517,7 +1519,7 @@
 
 	case BIOCRXQLEN:
 		{
-			printf("BIOCRXQLEN\n");
+			log(LOG_DEBUG, "BIOCRXQLEN\n");
 			struct ifnet *const ifp = d->bd_bif->bif_ifp;
 			*(int *)addr = ifp->if_rxq_num;
 			break;
@@ -1525,7 +1527,7 @@
 
 	case BIOCTXQLEN:
 		{
-			printf("BIOCTXQLEN\n");
+			log(LOG_DEBUG, "BIOCTXQLEN\n");
 			struct ifnet *const ifp = d->bd_bif->bif_ifp;
 			*(int *)addr = ifp->if_txq_num;
 			break;
@@ -1533,21 +1535,21 @@
 
 	/* XXX: not implemented yet */
 	case BIOCRXQAFFINITY:
-		printf("BIOCRXQAFFINITY\n");
+		log(LOG_DEBUG, "BIOCRXQAFFINITY\n");
 		error = EINVAL;
 		break;
 
 	/* XXX: not implemented yet */
 	case BIOCTXQAFFINITY:
-		printf("BIOCTXQAFFINITY\n");
+		log(LOG_DEBUG, "BIOCTXQAFFINITY\n");
 		error = EINVAL;
 		break;
 
 	case BIOCENAQMASK:
 		{
-			printf("BIOCENAQMASK\n");
+			log(LOG_DEBUG, "BIOCENAQMASK\n");
 			if (d->bd_bif == NULL) {
-				printf("d->bd_bif == NULL\n");
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
 				/*
 				 * No interface attached yet.
 				 */
@@ -1555,17 +1557,17 @@
 				break;
 			}
 			if (d->bd_qmask.qm_enabled) {
-				printf("d->bd_qmask.qm_enabled\n");
+				log(LOG_DEBUG, "d->bd_qmask.qm_enabled\n");
 				error = EINVAL;
 				break;
 			}
 			struct ifnet *const ifp = d->bd_bif->bif_ifp;
 			d->bd_qmask.qm_enabled = TRUE;
-			printf("ifp->if_rxq_num:%d\n", ifp->if_rxq_num);
+			log(LOG_DEBUG, "ifp->if_rxq_num:%d\n", ifp->if_rxq_num);
 			d->bd_qmask.qm_rxq_mask =
 				malloc(ifp->if_rxq_num * sizeof(boolean_t), M_BPF, 
 					M_WAITOK | M_ZERO);
-			printf("ifp->if_txq_num:%d\n", ifp->if_txq_num);
+			log(LOG_DEBUG, "ifp->if_txq_num:%d\n", ifp->if_txq_num);
 			d->bd_qmask.qm_txq_mask =
 				malloc(ifp->if_txq_num * sizeof(boolean_t), M_BPF, 
 					M_WAITOK | M_ZERO);
@@ -1575,9 +1577,9 @@
 
 	case BIOCDISQMASK:
 		{
-			printf("BIOCDISQMASK\n");
+			log(LOG_DEBUG, "BIOCDISQMASK\n");
 			if (d->bd_bif == NULL) {
-				printf("d->bd_bif == NULL\n");
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
 				/*
 				 * No interface attached yet.
 				 */
@@ -1585,7 +1587,7 @@
 				break;
 			}
 			if (!d->bd_qmask.qm_enabled) {
-				printf("!d->bd_qmask.qm_enabled\n");
+				log(LOG_DEBUG, "!d->bd_qmask.qm_enabled\n");
 				error = EINVAL;
 				break;
 			}
@@ -1598,9 +1600,9 @@
 	case BIOCSTRXQMASK:
 		{
 			int index;
-			printf("BIOCSTRXQMASK\n");
+			log(LOG_DEBUG, "BIOCSTRXQMASK\n");
 			if (d->bd_bif == NULL) {
-				printf("d->bd_bif == NULL\n");
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
 				/*
 				 * No interface attached yet.
 				 */
@@ -1608,22 +1610,45 @@
 				break;
 			}
 			if (!d->bd_qmask.qm_enabled) {
-				printf("!d->bd_qmask.qm_enabled\n");
+				log(LOG_DEBUG, "!d->bd_qmask.qm_enabled\n");
 				error = EINVAL;
 				break;
 			}
 			index = *(uint32_t *)addr;
-			printf("index:%d\n", index);
+			log(LOG_DEBUG, "index:%d\n", index);
 			d->bd_qmask.qm_rxq_mask[index] = TRUE;
 			break;
 		}
 
+	case BIOCCRRXQMASK:
+		{
+			int index;
+			log(LOG_DEBUG, "BIOCCRRXQMASK\n");
+			if (d->bd_bif == NULL) {
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
+				/*
+				 * No interface attached yet.
+				 */
+				error = EINVAL;
+				break;
+			}
+			if (!d->bd_qmask.qm_enabled) {
+				log(LOG_DEBUG, "!d->bd_qmask.qm_enabled\n");
+				error = EINVAL;
+				break;
+			}
+			index = *(uint32_t *)addr;
+			log(LOG_DEBUG, "index:%d\n", index);
+			d->bd_qmask.qm_rxq_mask[index] = FALSE;
+			break;
+		}
+
 	case BIOCGTRXQMASK:
 		{
 			int index;
-			printf("BIOCGTRXQMASK\n");
+			log(LOG_DEBUG, "BIOCGTRXQMASK\n");
 			if (d->bd_bif == NULL) {
-				printf("d->bd_bif == NULL\n");
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
 				/*
 				 * No interface attached yet.
 				 */
@@ -1631,12 +1656,12 @@
 				break;
 			}
 			if (!d->bd_qmask.qm_enabled) {
-				printf("!d->bd_qmask.qm_enabled\n");
+				log(LOG_DEBUG, "!d->bd_qmask.qm_enabled\n");
 				error = EINVAL;
 				break;
 			}
 			index = *(uint32_t *)addr;
-			printf("index:%d\n", index);
+			log(LOG_DEBUG, "index:%d\n", index);
 			*(uint32_t *)addr = d->bd_qmask.qm_rxq_mask[index];
 			break;
 		}
@@ -1644,9 +1669,9 @@
 	case BIOCSTTXQMASK:
 		{
 			int index;
-			printf("BIOCSTTXQMASK\n");
+			log(LOG_DEBUG, "BIOCSTTXQMASK\n");
 			if (d->bd_bif == NULL) {
-				printf("d->bd_bif == NULL\n");
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
 				/*
 				 * No interface attached yet.
 				 */
@@ -1654,22 +1679,45 @@
 				break;
 			}
 			if (!d->bd_qmask.qm_enabled) {
-				printf("!d->bd_qmask.qm_enabled\n");
+				log(LOG_DEBUG, "!d->bd_qmask.qm_enabled\n");
 				error = EINVAL;
 				break;
 			}
 			index = *(uint32_t *)addr;
-			printf("index:%d\n", index);
+			log(LOG_DEBUG, "index:%d\n", index);
 			d->bd_qmask.qm_txq_mask[index] = TRUE;
 			break;
 		}
 
+	case BIOCCRTXQMASK:
+		{
+			int index;
+			log(LOG_DEBUG, "BIOCCRTXQMASK\n");
+			if (d->bd_bif == NULL) {
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
+				/*
+				 * No interface attached yet.
+				 */
+				error = EINVAL;
+				break;
+			}
+			if (!d->bd_qmask.qm_enabled) {
+				log(LOG_DEBUG, "!d->bd_qmask.qm_enabled\n");
+				error = EINVAL;
+				break;
+			}
+			index = *(uint32_t *)addr;
+			log(LOG_DEBUG, "index:%d\n", index);
+			d->bd_qmask.qm_txq_mask[index] = FALSE;
+			break;
+		}
+
 	case BIOCGTTXQMASK:
 		{
 			int index;
-			printf("BIOCGTTXQMASK\n");
+			log(LOG_DEBUG, "BIOCGTTXQMASK\n");
 			if (d->bd_bif == NULL) {
-				printf("d->bd_bif == NULL\n");
+				log(LOG_DEBUG, "d->bd_bif == NULL\n");
 				/*
 				 * No interface attached yet.
 				 */
@@ -1677,25 +1725,29 @@
 				break;
 			}
 			if (!d->bd_qmask.qm_enabled) {
-				printf("!d->bd_qmask.qm_enabled\n");
+				log(LOG_DEBUG, "!d->bd_qmask.qm_enabled\n");
 				error = EINVAL;
 				break;
 			}
 			index = *(uint32_t *)addr;
-			printf("index:%d\n", index);
+			log(LOG_DEBUG, "index:%d\n", index);
 			*(uint32_t *)addr = d->bd_qmask.qm_txq_mask[index];
 			break;
 		}
 
-	case BIOSTOTHERMASK:
-		printf("BIOSTOTHERMASK\n");
-		d->bd_qmask.qm_other_mask = (boolean_t)*(uint32_t *)addr;
-		printf("mask:%d\n", d->bd_qmask.qm_other_mask);
+	case BIOCSTOTHERMASK:
+		log(LOG_DEBUG, "BIOSTOTHERMASK\n");
+		d->bd_qmask.qm_other_mask = TRUE;
+		break;
+
+	case BIOCCROTHERMASK:
+		log(LOG_DEBUG, "BIOCCROTHERMASK\n");
+		d->bd_qmask.qm_other_mask = FALSE;
 		break;
 
-	case BIOGTOTHERMASK:
-		printf("BIOGTOTHERMASK\n");
-		printf("mask:%d\n", d->bd_qmask.qm_other_mask);
+	case BIOCGTOTHERMASK:
+		log(LOG_DEBUG, "BIOCGTOTHERMASK\n");
+		log(LOG_DEBUG, "mask:%d\n", d->bd_qmask.qm_other_mask);
 		*(uint32_t *)addr = (uint32_t)d->bd_qmask.qm_other_mask;
 		break;
 	}
@@ -2010,7 +2062,7 @@
 	BPFIF_LOCK(bp);
 	LIST_FOREACH(d, &bp->bif_dlist, bd_next) {
 		if (d->bd_qmask.qm_enabled) {
-			printf("bpf_tap other_mask:%d\n", 
+			log(LOG_DEBUG, "bpf_tap other_mask:%d\n", 
 				d->bd_qmask.qm_other_mask);
 			if (!d->bd_qmask.qm_other_mask)
 				continue;
@@ -2063,10 +2115,10 @@
 
 #if 0
 	if (m->m_pkthdr.txqid != (uint32_t)-1 && m->m_pkthdr.txqid != PCPU_GET(cpuid))
-		printf("txqid:%d cpuid:%d\n", m->m_pkthdr.txqid, PCPU_GET(cpuid));
+		log(LOG_DEBUG, "txqid:%d cpuid:%d\n", m->m_pkthdr.txqid, PCPU_GET(cpuid));
 #endif
 	if (m->m_pkthdr.rxqid != (uint32_t)-1 && m->m_pkthdr.rxqid != PCPU_GET(cpuid))
-		printf("rxqid:%d cpuid:%d\n", m->m_pkthdr.rxqid, PCPU_GET(cpuid));
+		log(LOG_DEBUG, "rxqid:%d cpuid:%d\n", m->m_pkthdr.rxqid, PCPU_GET(cpuid));
 
 	/* Skip outgoing duplicate packets. */
 	if ((m->m_flags & M_PROMISC) != 0 && m->m_pkthdr.rcvif == NULL) {
@@ -2080,7 +2132,7 @@
 	BPFIF_LOCK(bp);
 	LIST_FOREACH(d, &bp->bif_dlist, bd_next) {
 		if (d->bd_qmask.qm_enabled) {
-			printf("bpf_mtap rxqid:%x txqid:%x rxqmask:%x txqmask:%x\n",
+			log(LOG_DEBUG, "bpf_mtap rxqid:%x txqid:%x rxqmask:%x txqmask:%x\n",
 				m->m_pkthdr.rxqid, m->m_pkthdr.txqid,
 				d->bd_qmask.qm_rxq_mask[m->m_pkthdr.rxqid],
 				d->bd_qmask.qm_txq_mask[m->m_pkthdr.txqid]);
@@ -2134,10 +2186,10 @@
 
 #if 0
 	if (m->m_pkthdr.txqid != (uint32_t)-1 && m->m_pkthdr.txqid != PCPU_GET(cpuid))
-		printf("txqid:%d cpuid:%d\n", m->m_pkthdr.txqid, PCPU_GET(cpuid));
+		log(LOG_DEBUG, "txqid:%d cpuid:%d\n", m->m_pkthdr.txqid, PCPU_GET(cpuid));
 #endif
 	if (m->m_pkthdr.rxqid != (uint32_t)-1 && m->m_pkthdr.rxqid != PCPU_GET(cpuid))
-		printf("rxqid:%d cpuid:%d\n", m->m_pkthdr.rxqid, PCPU_GET(cpuid));
+		log(LOG_DEBUG, "rxqid:%d cpuid:%d\n", m->m_pkthdr.rxqid, PCPU_GET(cpuid));
 
 	/* Skip outgoing duplicate packets. */
 	if ((m->m_flags & M_PROMISC) != 0 && m->m_pkthdr.rcvif == NULL) {
@@ -2160,7 +2212,7 @@
 	BPFIF_LOCK(bp);
 	LIST_FOREACH(d, &bp->bif_dlist, bd_next) {
 		if (d->bd_qmask.qm_enabled) {
-			printf("bpf_mtap2 rxqid:%x txqid:%x rxqmask:%x txqmask:%x\n",
+			log(LOG_DEBUG, "bpf_mtap2 rxqid:%x txqid:%x rxqmask:%x txqmask:%x\n",
 				m->m_pkthdr.rxqid, m->m_pkthdr.txqid,
 				d->bd_qmask.qm_rxq_mask[m->m_pkthdr.rxqid],
 				d->bd_qmask.qm_txq_mask[m->m_pkthdr.txqid]);

==== //depot/projects/soc2011/mq_bpf/src/sys/net/bpf.h#3 (text+ko) ====

@@ -154,11 +154,14 @@
 #define BIOCENAQMASK	_IO('B', 137)
 #define BIOCDISQMASK	_IO('B', 138)
 #define BIOCSTRXQMASK	_IOWR('B', 139, uint32_t)
-#define BIOCGTRXQMASK	_IOR('B', 140, uint32_t)
+#define BIOCCRRXQMASK	_IOWR('B', 140, uint32_t)
+#define BIOCGTRXQMASK	_IOR('B', 141, uint32_t)
 #define BIOCSTTXQMASK	_IOWR('B', 141, uint32_t)
-#define BIOCGTTXQMASK	_IOR('B', 142, uint32_t)
-#define BIOSTOTHERMASK	_IOW('B', 143, uint32_t)
-#define BIOGTOTHERMASK	_IOR('B', 144, uint32_t)
+#define BIOCCRTXQMASK	_IOWR('B', 142, uint32_t)
+#define BIOCGTTXQMASK	_IOR('B', 143, uint32_t)
+#define BIOCSTOTHERMASK	_IO('B', 143)
+#define BIOCCROTHERMASK	_IO('B', 144)
+#define BIOCGTOTHERMASK	_IOR('B', 145, uint32_t)
 
 /* Obsolete */
 #define	BIOCGSEESENT	BIOCGDIRECTION

==== //depot/projects/soc2011/mq_bpf/src/sys/net/if_tap.c#3 (text+ko) ====

@@ -54,6 +54,7 @@
 #include <sys/socket.h>
 #include <sys/sockio.h>
 #include <sys/sysctl.h>
+#include <sys/syslog.h>
 #include <sys/systm.h>
 #include <sys/ttycom.h>
 #include <sys/uio.h>
@@ -871,7 +872,7 @@
 
 	m->m_pkthdr.rxqid = (uint32_t)-1;
 	m->m_pkthdr.txqid = PCPU_GET(cpuid);
-	printf("%s rxqid:%x txqid:%x\n", __func__, m->m_pkthdr.rxqid, m->m_pkthdr.txqid);
+	log(LOG_DEBUG, "%s rxqid:%x txqid:%x\n", __func__, m->m_pkthdr.rxqid, m->m_pkthdr.txqid);
 
 	/* feed packet to bpf */
 	BPF_MTAP(ifp, m);
@@ -949,7 +950,7 @@
 
 	m->m_pkthdr.rxqid = PCPU_GET(cpuid);
 	m->m_pkthdr.txqid = (uint32_t)-1;
-	printf("%s rxqid:%x txqid:%x\n", __func__, m->m_pkthdr.rxqid, m->m_pkthdr.txqid);
+	log(LOG_DEBUG, "%s rxqid:%x txqid:%x\n", __func__, m->m_pkthdr.rxqid, m->m_pkthdr.txqid);
 
 	/* Pass packet up to parent. */
 	(*ifp->if_input)(ifp, m);


More information about the p4-projects mailing list