From nobody@FreeBSD.org  Fri Mar 21 23:18:03 2014
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTPS id C996DCAB
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 21 Mar 2014 23:18:03 +0000 (UTC)
Received: from cgiserv.freebsd.org (cgiserv.freebsd.org [IPv6:2001:1900:2254:206a::50:4])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.freebsd.org (Postfix) with ESMTPS id 9C344F0F
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 21 Mar 2014 23:18:03 +0000 (UTC)
Received: from cgiserv.freebsd.org ([127.0.1.6])
	by cgiserv.freebsd.org (8.14.8/8.14.8) with ESMTP id s2LNI2hC080241
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 21 Mar 2014 23:18:02 GMT
	(envelope-from nobody@cgiserv.freebsd.org)
Received: (from nobody@localhost)
	by cgiserv.freebsd.org (8.14.8/8.14.8/Submit) id s2LNI2PV080238;
	Fri, 21 Mar 2014 23:18:02 GMT
	(envelope-from nobody)
Message-Id: <201403212318.s2LNI2PV080238@cgiserv.freebsd.org>
Date: Fri, 21 Mar 2014 23:18:02 GMT
From: "Vladislav V. Prodan" <admin@support.od.ua>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Ngctl strange behavior when adding more than 530 vlan through nethraph
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         187835
>Category:       bin
>Synopsis:       ngctl(8) strange behavior when adding more than 530 vlan through nethraph
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-net
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 21 23:20:00 UTC 2014
>Closed-Date:    
>Last-Modified:  Sat Mar 22 00:25:57 UTC 2014
>Originator:     Vladislav V. Prodan
>Release:        FreeBSD 10.0
>Organization:
support.od.ua
>Environment:
FreeBSD vm-10-2.domain.com 10.0-STABLE FreeBSD 10.0-STABLE #0: Wed Feb 26 00:26:28 EET 2014     root@vm-10-2.domain.com:/usr/obj/usr/src/sys/vm-10-2.2  amd64

>Description:

Vlan numbering started with number 100

1)
After adding 538 th Vlans (vid = 637) were suddenly added additional options pcp=0 cfi=0

..
=627 } { hook="vlan628" vlan=628 vid=628 } { hook="vlan629" vlan=629 vid=629 } { hook="vlan630" vlan=630 vid=630 } { hook="vlan631" vlan=631 vid=631 } { hook="vlan632" vlan=632 vid=632 } { hook="vlan633" vlan=633 vid=633 } { hook="vlan634" vlan=634 vid=634 } { hook="vlan635" vlan=635 vid=635 } { hook="vlan636" vlan=636 vid=636 } { hook="vlan637" vlan=637 vid=637 pcp=0 cfi=0 } { hook="vlan638" vlan=638 vid=638 pcp=0 cfi=0 } { hook="vlan639" vlan=639 vid=639 pcp=0 cfi=0 } { hook="vlan640" vlan=640 vid=640 pcp=0 cfi=0 } { hook="vlan641" vlan=641 vid=641 pcp=0 cfi=0 } { hook="vlan642" vlan=642 vid=642 pcp=0 cfi=0 } { hook="vlan643" vlan=643 vid=643 pcp=0 cfi=0 } { hook="vlan644" vlan=644 vid=644 pcp=0 cfi=0 } { hook="vlan645" vlan=645 vid=645 pcp=0 cfi=0 } { hook="vlan646" vlan=646 vid=646 pcp=0 cfi=0 } { hook="vlan647" vlan=647 vid=647 pcp=0 cfi=0 } { hook="vlan648" vlan=648 vid=648 pcp=0 cfi=0 } { hook="vlan649" vlan=649 vid=649 pcp=0 cfi=0 } ] }

2)
After adding 560 th Vlans (vid = 659) Vlan list instead of a text format has become a binary ...

# ngctl msg em2:lower gettable
Rec'd response 3 from "[7]:":
0000:  3a 02 00 00 76 6c 61 6e 31 30 30 00 00 00 00 00  :...vlan100.....
0010:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0020:  00 00 00 00 64 00 64 00 00 00 76 6c 61 6e 31 30  ....d.d...vlan10
0030:  31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  1...............
0040:  00 00 00 00 00 00 00 00 00 00 65 00 65 00 00 00  ..........e.e...
0050:  76 6c 61 6e 31 30 32 00 00 00 00 00 00 00 00 00  vlan102.........
0060:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0070:  66 00 66 00 00 00 76 6c 61 6e 31 30 33 00 00 00  f.f...vlan103...
0080:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
..

Script to create Vlan

#!/bin/sh

ETHER_IF=em2

ngctl -f- <<EOF
     mkpeer ${ETHER_IF}: vlan lower downstream
     name ${ETHER_IF}:lower vlan-em2
     connect ${ETHER_IF}: vlan-em2: upper nomatch
EOF

for i in `jot 560 100`; do
    ngctl mkpeer vlan-em2: eiface vlan$i ether
    ngctl msg vlan-em2: addfilter \{ vlan=$i hook=\"vlan$i\" \}
done

Tuning:

cat /etc/sysctl.conf
..
net.graph.recvspace=2048000
net.graph.maxdgram=2048000
kern.ipc.nmbclusters=2000000
..



>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-net 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Sat Mar 22 00:25:29 UTC 2014 
Responsible-Changed-Why:  
reclassify. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=187835 
>Unformatted:
