>Number:         171840
>Category:       misc
>Synopsis:       IPv6 packets transmitting only on queue 0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 21 07:20:02 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Venkat Duvvuru
>Release:        9.0-RELEASE
>Organization:
Emulex
>Environment:
FreeBSD root@xxx FreeBsd 9.0-RELEASE FreeBSD 9.0-RELEASE #12: Thu Aug 23 
23:42:39 IST 2012     root@root@xxx FreeBsd:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
1. The below code is absent for ip6_output? This is causing the ipv6 traffic to 
always flow in just one queue. Flowid is filled by the driver in the receive 
path and the same flowid will be used to transmit packets. I think this logic 
is missing for ipv6 packets.

"netinet/ip_output.c" Function: ip_output
if (inp != NULL) {
                INP_LOCK_ASSERT(inp);
                M_SETFIB(m, inp->inp_inc.inc_fibnum);
                if (inp->inp_flags & (INP_HW_FLOWID|INP_SW_FLOWID)) {
                        m->m_pkthdr.flowid = inp->inp_flowid;
                        m->m_flags |= M_FLOWID;
                }
        }
2. "fle" is NULL after enabling FLOWTABLE for IPv6
 
"net/flowtable.c"
        if (af == AF_INET6)
        {
                fle = flowtable_lookup_mbuf6(ft, m);
                if (fle != NULL && m != NULL && (m->m_flags & M_FLOWID) == 0) {
                        m->m_flags |= M_FLOWID;
                        m->m_pkthdr.flowid = fle->f_fhash;
                }
        }
>How-To-Repeat:
Run ipv6 traffic with any tool and check the number of packets transmitted on 
all the created transmit queues. Only num packets on queue0 increases.
>Fix:
For the first problem I think we should populate inp->inp_flowid in the mbuf 
packet header. For the second problem, I'm not sure why flowtable_lookup_mbuf6 
is returning NULL after enabling FLOWTABLE.

>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to