Re: Vlan Tag on Vlan Tag (l2tunneling)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Insan Praja SW
Date: Friday, October 17, 2008 - 11:30 am

On Fri, 22 Aug 2008 02:34:12 +0700, Reyk Floeter <reyk@openbsd.org> wrote:
Hi Reyk,
I just update my source from anoncvs1.ca.openbsd.org and I got conflict on  
"sys/net/if_vlan.c", "sys/net/if_bridge.c" and "sys/net/if_ethersubr.c"  
and yes, a couple months ago I use your QinQ patch on my machines. I  
really like to try to solve this on my own, but currently there is no  
software engineer around to help me.
I understand if you suggested me to follow the original code, and I really  
appreciate if you can help me to adjust the source code. from cvsweb, the  
later changes due to;

* Allow ether_input() and vlan_input() to handle incoming packets
   where the tag is stored in the mbuf header.
* Make bridge(4) handle interfaces with and without hardware tag
   support and forward packets inbetween.

by Claudio Jeker.

Below are the conflicted lines;

/usr/src/sys/net/if_vlan.c


<<<<<<< if_vlan.c
                 if ((p->if_capabilities & IFCAP_VLAN_HWTAGGING) &&
                     (ifv->ifv_type == ETHERTYPE_VLAN)) {
                         m->m_pkthdr.rcvif = ifp;
                         m->m_flags |= M_PROTO1;
=======
                 if (p->if_capabilities & IFCAP_VLAN_HWTAGGING) {
                         m->m_pkthdr.ether_vtag = ifv->ifv_tag;
                         m->m_flags |= M_VLANTAG;



<<<<<<< if_vlan.c
         tagh = etype == ETHERTYPE_QINQ ? svlan_tagh : vlan_tagh;
         tag = EVL_VLANOFTAG(ntohs(*mtod(m, u_int16_t *)));

         LIST_FOREACH(ifv, &tagh[TAG_HASH(tag)], ifv_list) {
                 if (m->m_pkthdr.rcvif == ifv->ifv_p && tag == ifv->ifv_tag  
&&
                     etype == ifv->ifv_type)
=======
         LIST_FOREACH(ifv, &vlan_tagh[TAG_HASH(tag)], ifv_list) {
                 if (m->m_pkthdr.rcvif == ifv->ifv_p && tag == ifv->ifv_tag)

/usr/src/sys/net/if_bridge.c

<<<<<<< if_bridge.c
         if ((etype == ETHERTYPE_VLAN || etype == ETHERTYPE_QINQ) &&
             (ifp->if_capabilities & IFCAP_VLAN_MTU) &&
             ((m->m_pkthdr.len - sizeof(struct ether_vlan_header)) <=
             ifp->if_mtu)) {
                 s = splnet();
                 bridge_ifenqueue(sc, ifp, m);
                 splx(s);
                 return;
=======
#if NVLAN > 0
         if ((m->m_flags & M_VLANTAG) || etype == ETHERTYPE_VLAN) {
                 int len = m->m_pkthdr.len;

                 if (m->m_flags & M_VLANTAG)
                         len += ETHER_VLAN_ENCAP_LEN;
                 if ((ifp->if_capabilities & IFCAP_VLAN_MTU) &&
                     (len - sizeof(struct ether_vlan_header) <=  
ifp->if_mtu)) {
                         s = splnet();
                         bridge_ifenqueue(sc, ifp, m);
                         splx(s);
                         return;
                 }
                 goto dropit;


/usr/src/sys/net/if_ethersubr.c

<<<<<<< if_ethersubr.c
         if ((etype == ETHERTYPE_VLAN || etype == ETHERTYPE_QINQ) &&
             (vlan_input(eh, m, etype) == 0))
=======
         if (((m->m_flags & M_VLANTAG) || etype == ETHERTYPE_VLAN)
             && (vlan_input(eh, m) == 0))


<<<<<<< if_ethersubr.c
         if (etype == ETHERTYPE_VLAN || etype == ETHERTYPE_QINQ) {
=======
         if ((m->m_flags & M_VLANTAG) || etype == ETHERTYPE_VLAN) {

Best Regards,



Insan Praja SW






-- 
insandotpraja(at)gmaildotcom
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Vlan Tag on Vlan Tag (l2tunneling), Stuart Henderson, (Thu Aug 21, 2:50 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Paul de Weerd, (Thu Aug 21, 4:41 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Henning Brauer, (Thu Aug 21, 4:49 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Claudio Jeker, (Thu Aug 21, 7:05 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Henning Brauer, (Thu Aug 21, 7:48 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Reyk Floeter, (Thu Aug 21, 11:31 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Reyk Floeter, (Thu Aug 21, 12:34 pm)
Re: Vlan Tag on Vlan Tag (l2tunneling), Paul de Weerd, (Thu Aug 21, 2:58 pm)
Re: Vlan Tag on Vlan Tag (l2tunneling), Henning Brauer, (Fri Aug 22, 3:38 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Insan Praja SW, (Fri Aug 22, 8:07 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Steve Shockley, (Fri Aug 22, 11:08 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Anathae Townsend, (Fri Aug 22, 12:07 pm)
Re: Vlan Tag on Vlan Tag (l2tunneling), Claudio Jeker, (Fri Aug 22, 4:09 pm)
Re: Vlan Tag on Vlan Tag (l2tunneling), Insan Praja SW, (Thu Sep 4, 7:22 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Insan Praja SW, (Fri Oct 17, 11:30 am)
Re: Vlan Tag on Vlan Tag (l2tunneling), Sam Fourman Jr., (Wed Feb 18, 12:57 pm)
Re: Vlan Tag on Vlan Tag (l2tunneling), Sam Fourman Jr., (Tue Mar 3, 4:25 pm)