Re: [PATCH 5.x] netns

2003-03-05 Thread Pedro F. Giffuni
Guys;

I have to agree with Terry that the fixes for netns
should be committed, and furthermore they should be
MFC (using his first patch perhaps). It's a nightmare
to try to rescue anything from the Attic, at least it
would be nice to have it in better shape before
killing it.

The flame fest on removing it or not can go on ;).

cheers,

Pedro.

__
Yahoo! Cellulari: loghi, suonerie, picture message per il tuo telefonino
http://it.yahoo.com/mail_it/foot/?http://it.mobile.yahoo.com/index2002.html

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Re: [PATCH 5.x] netns

2003-03-05 Thread David O'Brien
On Wed, Mar 05, 2003 at 04:03:49AM -0800, Terry Lambert wrote:
 Peter Wemm wrote:
  Terry Lambert wrote:
   Here are two patches.  The first fixes missing pieces in /sys/conf/files
   and /sys/conf/options, the second fixes all the files that need it in
   /sys/netns/.
  
  You seem to have posted the wrong patch.
  This is against 4.x, not -current, and this is [EMAIL PROTECTED]
 Here is a single patch vs. 5.x.
 
 I believe this makes it actually work.
   ^
   huh?  This is untested?

 Please apply this to the code, even if you are intent on putting
 working code in the Attic.

Why keep it?  You've just proven that even one with a desire has trouble
determining if it works or not.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Re: [PATCH 5.x] netns

2003-03-05 Thread Terry Lambert
Peter Wemm wrote:
 Terry Lambert wrote:
  Here are two patches.  The first fixes missing pieces in /sys/conf/files
  and /sys/conf/options, the second fixes all the files that need it in
  /sys/netns/.
 
 You seem to have posted the wrong patch.
 
 This is against 4.x, not -current, and this is [EMAIL PROTECTED]

Here is a single patch vs. 5.x.

I believe this makes it actually work.  I have addressed all
the protosw issues in this patch.

Please apply this to the code, even if you are intent on putting
working code in the Attic.

Thanks,
-- TerryIndex: conf/files
===
RCS file: /cvs/src/sys/conf/files,v
retrieving revision 1.765
diff -c -r1.765 files
*** conf/files  4 Mar 2003 23:19:55 -   1.765
--- conf/files  5 Mar 2003 06:03:11 -
***
*** 1429,1434 
--- 1429,1435 
  netns/ns_output.c optional ns
  netns/ns_pcb.coptional ns
  netns/ns_proto.c  optional ns
+ netns/ns_cksum.c  optional ns
  netns/spp_debug.c optional ns
  netns/spp_usrreq.coptional ns
  netsmb/smb_conn.c optional netsmb
Index: netns/idp_usrreq.c
===
RCS file: /cvs/src/sys/netns/idp_usrreq.c,v
retrieving revision 1.15
diff -c -r1.15 idp_usrreq.c
*** netns/idp_usrreq.c  19 Feb 2003 05:47:37 -  1.15
--- netns/idp_usrreq.c  5 Mar 2003 08:04:20 -
***
*** 54,59 
--- 54,63 
  #include netns/idp_var.h
  #include netns/ns_error.h
  
+ extern int idpcksum;  /* from ns_input.c */
+ extern long ns_pexseq;/* from ns_input.c */
+ extern struct nspcb nsrawpcb; /* from ns_input.c */
+ 
  /*
   * IDP protocol implementation.
   */
***
*** 63,72 
  /*
   *  This may also be called for raw listeners.
   */
! idp_input(m, nsp)
struct mbuf *m;
!   register struct nspcb *nsp;
  {
register struct idp *idp = mtod(m, struct idp *);
struct ifnet *ifp = m-m_pkthdr.rcvif;
  
--- 67,78 
  /*
   *  This may also be called for raw listeners.
   */
! void
! idp_input(m, nsp0)
struct mbuf *m;
!   int nsp0;   /* XXX offset */
  {
+   register struct nspcb *nsp = ns_pcblookupm(m);
register struct idp *idp = mtod(m, struct idp *);
struct ifnet *ifp = m-m_pkthdr.rcvif;
  
***
*** 79,92 
idp_ns.sns_addr = idp-idp_sna;
if (ns_neteqnn(idp-idp_sna.x_net, ns_zeronet)  ifp) {
register struct ifaddr *ifa;
  
!   for (ifa = ifp-if_addrlist; ifa; ifa = ifa-ifa_next) {
if (ifa-ifa_addr-sa_family == AF_NS) {
idp_ns.sns_addr.x_net =
IA_SNS(ifa)-sns_addr.x_net;
break;
}
!   }
}
nsp-nsp_rpt = idp-idp_pt;
if ( ! (nsp-nsp_flags  NSP_RAWIN) ) {
--- 85,100 
idp_ns.sns_addr = idp-idp_sna;
if (ns_neteqnn(idp-idp_sna.x_net, ns_zeronet)  ifp) {
register struct ifaddr *ifa;
+   int s;
  
!   s = splimp();
!   TAILQ_FOREACH(ifa, ifp-if_addrhead, ifa_link)
if (ifa-ifa_addr-sa_family == AF_NS) {
idp_ns.sns_addr.x_net =
IA_SNS(ifa)-sns_addr.x_net;
break;
}
!   splx(s);
}
nsp-nsp_rpt = idp-idp_pt;
if ( ! (nsp-nsp_flags  NSP_RAWIN) ) {
***
*** 103,108 
--- 111,117 
m_freem(m);
  }
  
+ void
  idp_abort(nsp)
struct nspcb *nsp;
  {
***
*** 134,153 
so-so_error = errno;
ns_pcbdisconnect(nsp);
soisdisconnected(so);
  }
  
  int noIdpRoute;
! idp_output(nsp, m0)
!   struct nspcb *nsp;
struct mbuf *m0;
  {
!   register struct mbuf *m;
register struct idp *idp;
-   register struct socket *so;
register int len;
register struct route *ro;
!   struct mbuf *mprev;
!   extern int idpcksum;
  
len = m_length(m0, mprev);
/*
--- 143,164 
so-so_error = errno;
ns_pcbdisconnect(nsp);
soisdisconnected(so);
+   return(NULL);   /* XXX */
  }
  
  int noIdpRoute;
! 
! int
! idp_output(m0, so)
struct mbuf *m0;
+   struct socket *so;
  {
!   struct nspcb *nsp = sotonspcb(so);
!   struct mbuf *m;
register struct idp *idp;
register int len;
register struct route *ro;
!   struct mbuf *mprev = NULL;
  
len = m_length(m0, mprev);
/*
***
*** 204,210 
/*
 * Output datagram.
 */
-   so = nsp-nsp_socket;
if (so-so_options  SO_DONTROUTE)
return (ns_output(m, (struct route *)0,

Re: [PATCH 5.x] netns

2003-03-05 Thread Terry Lambert
David O'Brien wrote:
  Here is a single patch vs. 5.x.
 
  I believe this makes it actually work.
^
huh?  This is untested?

Will you accept interoperability between two FreeBSD boxes?  A
FreeBSD box and a NetBSD box?


  Please apply this to the code, even if you are intent on putting
  working code in the Attic.
 
 Why keep it?  You've just proven that even one with a desire has trouble
 determining if it works or not.

No, I've just implied that I don't personally have the ability
to put together an interoperability test bed that tests against
non-FreeBSD boxes, without a lot of effort.

Is FreeBSD/FreeBSD interoperability acceptable?

It's like posting a driver for a SCSI card that was written
from the specifications, without a card in hand.

Except that his code is *already* in the tree, so it's not
like I'm asking anyone to commit anything that doesn't at
least make the status quo better.


For heaven's sake!  *It has only been 3 days* since the code
was threatened!  What do you expect *in 3 days*!?!


-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Re: [PATCH 5.x] netns

2003-03-05 Thread Steve Kargl
On Wed, Mar 05, 2003 at 12:24:39PM -0800, Terry Lambert wrote:
 
 For heaven's sake!  *It has only been 3 days* since the code
 was threatened!  What do you expect *in 3 days*!?!
 

The code has been broken for 7 years.  You've
had ample time to fix and *maintain* this code.

Points moot, anyway.  netns has been moved to
the attic.

-- 
Steve

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Re: [PATCH 5.x] netns

2003-03-05 Thread Terry Lambert
Steve Kargl wrote:
 On Wed, Mar 05, 2003 at 12:24:39PM -0800, Terry Lambert wrote:
  For heaven's sake!  *It has only been 3 days* since the code
  was threatened!  What do you expect *in 3 days*!?!
 
 
 The code has been broken for 7 years.  You've
 had ample time to fix and *maintain* this code.
 
 Points moot, anyway.  netns has been moved to
 the attic.


Well, that'll certainly show Terry!


Any chance at all of committing my patch to the code in the
attic, so that it will at least compile and run as of current
of the time it was put in the attic?

Thanks,
-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Re: [PATCH 5.x] netns

2003-03-05 Thread Peter Wemm
=?iso-8859-1?q?Pedro=20F.=20Giffuni?= wrote:
 Guys;
 
 I have to agree with Terry that the fixes for netns
 should be committed, and furthermore they should be
 MFC (using his first patch perhaps). It's a nightmare
 to try to rescue anything from the Attic, at least it
 would be nice to have it in better shape before
 killing it.

They can be cleaned up and committed to RELENG_4 after the freeze is over.
The original 4.x patch posted wasn't ready for commit though.  (eg: externs
scattered all over the place rather than declaring things properly in the
include files).

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
All of this is for nothing if we don't go to the stars - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message