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