Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-13 Thread John Baldwin
On Monday, January 12, 2015 05:42:34 PM Bjoern A. Zeeb wrote:
  On 12 Jan 2015, at 15:51 , John Baldwin j...@baldwin.cx wrote:
  
  On Tuesday, January 06, 2015 07:07:11 PM Bryan Venteicher wrote:
  On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery bdrew...@freebsd.org 
wrote:
  On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
  On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
  
  mailto:li...@jnielsen.net wrote:
 Bryan-
 
 On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org
  
 mailto:bry...@freebsd.org wrote:
  Author: bryanv
  Date: Fri Oct 10 06:08:59 2014
  New Revision: 272886
  URL: https://svnweb.freebsd.org/changeset/base/272886
  
  Log:
  Add context pointer and source address to the UDP tunnel callback
  
  These are needed for the forthcoming vxlan implementation. The
  
  context
  
  pointer means we do not have to use a spare pointer field in the
  
  inpcb,
  
  and the source address is required to populate vxlan's forwarding
  
  table.
  
  While I highly doubt there is an out of tree consumer of the UDP
  tunneling callback, this change may be a difficult to eventually
  
  MFC.
  
 I noticed this comment while doing an MFC of vxlan to my local tree.
 Do you think an MFC to 10-STABLE of this change (and vxlan
 generally) will be feasible? Is there precedent for ABI changes like
 this being sanctioned? Could symbol versioning help?
  
  I'd like to get some consensus on whether this commit is OK to MFC.
  With
  this commit, vxlan should be an easy to MFC.
  
  Breaking ABI will potentially hurt packages. FreeBSD builds packages for
  the oldest supported release on a branch. If you break ABI in 10.2 while
  we are building packages for 10.1 then any packages using these
  interfaces may not work right or result in panics packages with kmods.
  Please consider that.
  
  The only user visible change of this commit would be the addition of a
  field at the end of 'struct udpcb'. I don't think that is a problem, at
  least a similar change didn't prevent the MFC of UDP Lite.
  
  The kernel part of this changes the UDP tunneling functions which I guess
  there could be a 3rd party module out there, but I very highly doubt
  that,
  based on how un-useful the previous interface was.
  
  Userland should not be impacted by this at all.  (Nothing in userland
  cares
  about udpcb's internals.)  I think there was only ever one consumer for
  the
  existing UDP tunneling code (bz@ knows what it is).  I'm not sure where it
  lives.
 
 If you are talking about u_tun_func then it came from SCTP over UDP
 tunneling.  tuexen and rrs are your friends.
 
 I was wondering if it could be used similarly for IPsec UDPencap but I think
 that went nowhere back then.

It is the IPsec UDPencap case I was thinking of.  If that is a dead end then 
the only consumer is already in-tree, so in this case I think this is ok to 
MFC (but remember to bump __FreeBSD_version).

-- 
John Baldwin
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-13 Thread Bryan Venteicher
On Mon, Jan 12, 2015 at 5:20 PM, Michael Tuexen tue...@fh-muenster.de
wrote:


  On 12 Jan 2015, at 18:42, Bjoern A. Zeeb b...@freebsd.org wrote:
 
 
  On 12 Jan 2015, at 15:51 , John Baldwin j...@baldwin.cx wrote:
 
  On Tuesday, January 06, 2015 07:07:11 PM Bryan Venteicher wrote:
  On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery bdrew...@freebsd.org
 wrote:
  On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
  On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
 
  mailto:li...@jnielsen.net wrote:
Bryan-
 
On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org
 
mailto:bry...@freebsd.org wrote:
  Author: bryanv
  Date: Fri Oct 10 06:08:59 2014
  New Revision: 272886
  URL: https://svnweb.freebsd.org/changeset/base/272886
 
  Log:
  Add context pointer and source address to the UDP tunnel callback
 
  These are needed for the forthcoming vxlan implementation. The
 
  context
 
  pointer means we do not have to use a spare pointer field in the
 
  inpcb,
 
  and the source address is required to populate vxlan's forwarding
 
  table.
 
  While I highly doubt there is an out of tree consumer of the UDP
  tunneling callback, this change may be a difficult to eventually
 
  MFC.
 
I noticed this comment while doing an MFC of vxlan to my local
 tree.
Do you think an MFC to 10-STABLE of this change (and vxlan
generally) will be feasible? Is there precedent for ABI changes
 like
this being sanctioned? Could symbol versioning help?
 
  I'd like to get some consensus on whether this commit is OK to MFC.
 With
  this commit, vxlan should be an easy to MFC.
 
  Breaking ABI will potentially hurt packages. FreeBSD builds packages
 for
  the oldest supported release on a branch. If you break ABI in 10.2
 while
  we are building packages for 10.1 then any packages using these
  interfaces may not work right or result in panics packages with kmods.
  Please consider that.
 
  The only user visible change of this commit would be the addition of a
  field at the end of 'struct udpcb'. I don't think that is a problem, at
  least a similar change didn't prevent the MFC of UDP Lite.
 
  The kernel part of this changes the UDP tunneling functions which I
 guess
  there could be a 3rd party module out there, but I very highly doubt
 that,
  based on how un-useful the previous interface was.
 
  Userland should not be impacted by this at all.  (Nothing in userland
 cares
  about udpcb's internals.)  I think there was only ever one consumer for
 the
  existing UDP tunneling code (bz@ knows what it is).  I'm not sure
 where it
  lives.
 
  If you are talking about u_tun_func then it came from SCTP over UDP
 tunneling.  tuexen and rrs are your friends.
 rrs implemented it to support SCTP over UDP over IPv[46]. To be more
 precisely, to
 receive such packets.



So I am just being overly cautious and this change is fine to MFC?


Best regards
 Michael
 
  I was wondering if it could be used similarly for IPsec UDPencap but I
 think that went nowhere back then.
 
  —
  Bjoern A. Zeeb  Charles Haddon Spurgeon:
  Friendship is one of the sweetest joys of life.  Many might have failed
  beneath the bitterness of their trial  had they not found a friend.
 
 
 


___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org

Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-12 Thread John Baldwin
On Tuesday, January 06, 2015 07:07:11 PM Bryan Venteicher wrote:
 On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery bdrew...@freebsd.org wrote:
  On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
   On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
   
   mailto:li...@jnielsen.net wrote:
   Bryan-
   
   On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org
   
   mailto:bry...@freebsd.org wrote:
Author: bryanv
Date: Fri Oct 10 06:08:59 2014
New Revision: 272886
URL: https://svnweb.freebsd.org/changeset/base/272886

Log:
 Add context pointer and source address to the UDP tunnel callback
 
 These are needed for the forthcoming vxlan implementation. The
  
  context
  
 pointer means we do not have to use a spare pointer field in the
  
  inpcb,
  
 and the source address is required to populate vxlan's forwarding
  
  table.
  
 While I highly doubt there is an out of tree consumer of the UDP
 tunneling callback, this change may be a difficult to eventually
  
  MFC.
  
   I noticed this comment while doing an MFC of vxlan to my local tree.
   Do you think an MFC to 10-STABLE of this change (and vxlan
   generally) will be feasible? Is there precedent for ABI changes like
   this being sanctioned? Could symbol versioning help?
   
   I'd like to get some consensus on whether this commit is OK to MFC. With
   this commit, vxlan should be an easy to MFC.
  
  Breaking ABI will potentially hurt packages. FreeBSD builds packages for
  the oldest supported release on a branch. If you break ABI in 10.2 while
  we are building packages for 10.1 then any packages using these
  interfaces may not work right or result in panics packages with kmods.
  Please consider that.
 
 The only user visible change of this commit would be the addition of a
 field at the end of 'struct udpcb'. I don't think that is a problem, at
 least a similar change didn't prevent the MFC of UDP Lite.
 
 The kernel part of this changes the UDP tunneling functions which I guess
 there could be a 3rd party module out there, but I very highly doubt that,
 based on how un-useful the previous interface was.

Userland should not be impacted by this at all.  (Nothing in userland cares
about udpcb's internals.)  I think there was only ever one consumer for the 
existing UDP tunneling code (bz@ knows what it is).  I'm not sure where it 
lives.

-- 
John Baldwin

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-12 Thread Bryan Venteicher
On Mon, Jan 12, 2015 at 9:51 AM, John Baldwin j...@baldwin.cx wrote:

 On Tuesday, January 06, 2015 07:07:11 PM Bryan Venteicher wrote:
  On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery bdrew...@freebsd.org
 wrote:
   On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
   
mailto:li...@jnielsen.net wrote:
Bryan-
   
On Oct 10, 2014, at 12:09 AM, Bryan Venteicher 
 bry...@freebsd.org
   
mailto:bry...@freebsd.org wrote:
 Author: bryanv
 Date: Fri Oct 10 06:08:59 2014
 New Revision: 272886
 URL: https://svnweb.freebsd.org/changeset/base/272886

 Log:
  Add context pointer and source address to the UDP tunnel
 callback

  These are needed for the forthcoming vxlan implementation. The
  
   context
  
  pointer means we do not have to use a spare pointer field in
 the
  
   inpcb,
  
  and the source address is required to populate vxlan's
 forwarding
  
   table.
  
  While I highly doubt there is an out of tree consumer of the
 UDP
  tunneling callback, this change may be a difficult to
 eventually
  
   MFC.
  
I noticed this comment while doing an MFC of vxlan to my local
 tree.
Do you think an MFC to 10-STABLE of this change (and vxlan
generally) will be feasible? Is there precedent for ABI changes
 like
this being sanctioned? Could symbol versioning help?
   
I'd like to get some consensus on whether this commit is OK to MFC.
 With
this commit, vxlan should be an easy to MFC.
  
   Breaking ABI will potentially hurt packages. FreeBSD builds packages
 for
   the oldest supported release on a branch. If you break ABI in 10.2
 while
   we are building packages for 10.1 then any packages using these
   interfaces may not work right or result in panics packages with kmods.
   Please consider that.
 
  The only user visible change of this commit would be the addition of a
  field at the end of 'struct udpcb'. I don't think that is a problem, at
  least a similar change didn't prevent the MFC of UDP Lite.
 
  The kernel part of this changes the UDP tunneling functions which I guess
  there could be a 3rd party module out there, but I very highly doubt
 that,
  based on how un-useful the previous interface was.

 Userland should not be impacted by this at all.  (Nothing in userland cares
 about udpcb's internals.)  I think there was only ever one consumer for the
 existing UDP tunneling code (bz@ knows what it is).  I'm not sure where it
 lives.



The only in tree consumer is SCTP.


 --
 John Baldwin


___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-12 Thread Michael Tuexen

 On 12 Jan 2015, at 18:42, Bjoern A. Zeeb b...@freebsd.org wrote:
 
 
 On 12 Jan 2015, at 15:51 , John Baldwin j...@baldwin.cx wrote:
 
 On Tuesday, January 06, 2015 07:07:11 PM Bryan Venteicher wrote:
 On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery bdrew...@freebsd.org wrote:
 On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
 On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
 
 mailto:li...@jnielsen.net wrote:
   Bryan-
 
   On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org
 
   mailto:bry...@freebsd.org wrote:
 Author: bryanv
 Date: Fri Oct 10 06:08:59 2014
 New Revision: 272886
 URL: https://svnweb.freebsd.org/changeset/base/272886
 
 Log:
 Add context pointer and source address to the UDP tunnel callback
 
 These are needed for the forthcoming vxlan implementation. The
 
 context
 
 pointer means we do not have to use a spare pointer field in the
 
 inpcb,
 
 and the source address is required to populate vxlan's forwarding
 
 table.
 
 While I highly doubt there is an out of tree consumer of the UDP
 tunneling callback, this change may be a difficult to eventually
 
 MFC.
 
   I noticed this comment while doing an MFC of vxlan to my local tree.
   Do you think an MFC to 10-STABLE of this change (and vxlan
   generally) will be feasible? Is there precedent for ABI changes like
   this being sanctioned? Could symbol versioning help?
 
 I'd like to get some consensus on whether this commit is OK to MFC. With
 this commit, vxlan should be an easy to MFC.
 
 Breaking ABI will potentially hurt packages. FreeBSD builds packages for
 the oldest supported release on a branch. If you break ABI in 10.2 while
 we are building packages for 10.1 then any packages using these
 interfaces may not work right or result in panics packages with kmods.
 Please consider that.
 
 The only user visible change of this commit would be the addition of a
 field at the end of 'struct udpcb'. I don't think that is a problem, at
 least a similar change didn't prevent the MFC of UDP Lite.
 
 The kernel part of this changes the UDP tunneling functions which I guess
 there could be a 3rd party module out there, but I very highly doubt that,
 based on how un-useful the previous interface was.
 
 Userland should not be impacted by this at all.  (Nothing in userland cares
 about udpcb's internals.)  I think there was only ever one consumer for the 
 existing UDP tunneling code (bz@ knows what it is).  I'm not sure where it 
 lives.
 
 If you are talking about u_tun_func then it came from SCTP over UDP 
 tunneling.  tuexen and rrs are your friends.
rrs implemented it to support SCTP over UDP over IPv[46]. To be more precisely, 
to
receive such packets.

Best regards
Michael
 
 I was wondering if it could be used similarly for IPsec UDPencap but I think 
 that went nowhere back then.
 
 — 
 Bjoern A. Zeeb  Charles Haddon Spurgeon:
 Friendship is one of the sweetest joys of life.  Many might have failed
 beneath the bitterness of their trial  had they not found a friend.
 
 
 

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org

Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-12 Thread John Baldwin
On 1/12/15 11:12 AM, Bryan Venteicher wrote:


 On Mon, Jan 12, 2015 at 9:51 AM, John Baldwin j...@baldwin.cx
 mailto:j...@baldwin.cx wrote:

 On Tuesday, January 06, 2015 07:07:11 PM Bryan Venteicher wrote:
  On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery
 bdrew...@freebsd.org mailto:bdrew...@freebsd.org wrote:
   On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen
 li...@jnielsen.net mailto:li...@jnielsen.net
   
mailto:li...@jnielsen.net mailto:li...@jnielsen.net wrote:
Bryan-
   
On Oct 10, 2014, at 12:09 AM, Bryan Venteicher
 bry...@freebsd.org mailto:bry...@freebsd.org
   
mailto:bry...@freebsd.org mailto:bry...@freebsd.org
 wrote:
 Author: bryanv
 Date: Fri Oct 10 06:08:59 2014
 New Revision: 272886
 URL: https://svnweb.freebsd.org/changeset/base/272886

 Log:
  Add context pointer and source address to the UDP
 tunnel callback

  These are needed for the forthcoming vxlan
 implementation. The
  
   context
  
  pointer means we do not have to use a spare pointer
 field in the
  
   inpcb,
  
  and the source address is required to populate
 vxlan's forwarding
  
   table.
  
  While I highly doubt there is an out of tree consumer
 of the UDP
  tunneling callback, this change may be a difficult to
 eventually
  
   MFC.
  
I noticed this comment while doing an MFC of vxlan to my
 local tree.
Do you think an MFC to 10-STABLE of this change (and vxlan
generally) will be feasible? Is there precedent for ABI
 changes like
this being sanctioned? Could symbol versioning help?
   
I'd like to get some consensus on whether this commit is OK
 to MFC. With
this commit, vxlan should be an easy to MFC.
  
   Breaking ABI will potentially hurt packages. FreeBSD builds
 packages for
   the oldest supported release on a branch. If you break ABI in
 10.2 while
   we are building packages for 10.1 then any packages using these
   interfaces may not work right or result in panics packages
 with kmods.
   Please consider that.
 
  The only user visible change of this commit would be the
 addition of a
  field at the end of 'struct udpcb'. I don't think that is a
 problem, at
  least a similar change didn't prevent the MFC of UDP Lite.
 
  The kernel part of this changes the UDP tunneling functions
 which I guess
  there could be a 3rd party module out there, but I very highly
 doubt that,
  based on how un-useful the previous interface was.

 Userland should not be impacted by this at all.  (Nothing in
 userland cares
 about udpcb's internals.)  I think there was only ever one
 consumer for the
 existing UDP tunneling code (bz@ knows what it is).  I'm not sure
 where it
 lives.



 The only in tree consumer is SCTP.

I thought there was some IPSEC use-case that was the original impetus
for bz@ adding this?  Bjoern really is the person to ask about that though.

-- 
John Baldwin

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-12 Thread Bjoern A. Zeeb

 On 12 Jan 2015, at 15:51 , John Baldwin j...@baldwin.cx wrote:
 
 On Tuesday, January 06, 2015 07:07:11 PM Bryan Venteicher wrote:
 On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery bdrew...@freebsd.org wrote:
 On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
 On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
 
 mailto:li...@jnielsen.net wrote:
Bryan-
 
On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org
 
mailto:bry...@freebsd.org wrote:
 Author: bryanv
 Date: Fri Oct 10 06:08:59 2014
 New Revision: 272886
 URL: https://svnweb.freebsd.org/changeset/base/272886
 
 Log:
 Add context pointer and source address to the UDP tunnel callback
 
 These are needed for the forthcoming vxlan implementation. The
 
 context
 
 pointer means we do not have to use a spare pointer field in the
 
 inpcb,
 
 and the source address is required to populate vxlan's forwarding
 
 table.
 
 While I highly doubt there is an out of tree consumer of the UDP
 tunneling callback, this change may be a difficult to eventually
 
 MFC.
 
I noticed this comment while doing an MFC of vxlan to my local tree.
Do you think an MFC to 10-STABLE of this change (and vxlan
generally) will be feasible? Is there precedent for ABI changes like
this being sanctioned? Could symbol versioning help?
 
 I'd like to get some consensus on whether this commit is OK to MFC. With
 this commit, vxlan should be an easy to MFC.
 
 Breaking ABI will potentially hurt packages. FreeBSD builds packages for
 the oldest supported release on a branch. If you break ABI in 10.2 while
 we are building packages for 10.1 then any packages using these
 interfaces may not work right or result in panics packages with kmods.
 Please consider that.
 
 The only user visible change of this commit would be the addition of a
 field at the end of 'struct udpcb'. I don't think that is a problem, at
 least a similar change didn't prevent the MFC of UDP Lite.
 
 The kernel part of this changes the UDP tunneling functions which I guess
 there could be a 3rd party module out there, but I very highly doubt that,
 based on how un-useful the previous interface was.
 
 Userland should not be impacted by this at all.  (Nothing in userland cares
 about udpcb's internals.)  I think there was only ever one consumer for the 
 existing UDP tunneling code (bz@ knows what it is).  I'm not sure where it 
 lives.

If you are talking about u_tun_func then it came from SCTP over UDP tunneling.  
tuexen and rrs are your friends.

I was wondering if it could be used similarly for IPsec UDPencap but I think 
that went nowhere back then.

— 
Bjoern A. Zeeb  Charles Haddon Spurgeon:
Friendship is one of the sweetest joys of life.  Many might have failed
 beneath the bitterness of their trial  had they not found a friend.

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org

Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-06 Thread Bryan Drewery
On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
 
 
 On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
 mailto:li...@jnielsen.net wrote:
 
 Bryan-
 
 On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org
 mailto:bry...@freebsd.org wrote:
 
  Author: bryanv
  Date: Fri Oct 10 06:08:59 2014
  New Revision: 272886
  URL: https://svnweb.freebsd.org/changeset/base/272886
 
  Log:
   Add context pointer and source address to the UDP tunnel callback
 
   These are needed for the forthcoming vxlan implementation. The context
   pointer means we do not have to use a spare pointer field in the inpcb,
   and the source address is required to populate vxlan's forwarding 
 table.
 
   While I highly doubt there is an out of tree consumer of the UDP
   tunneling callback, this change may be a difficult to eventually MFC.
 
 I noticed this comment while doing an MFC of vxlan to my local tree.
 Do you think an MFC to 10-STABLE of this change (and vxlan
 generally) will be feasible? Is there precedent for ABI changes like
 this being sanctioned? Could symbol versioning help?
 
 
 
 I'd like to get some consensus on whether this commit is OK to MFC. With
 this commit, vxlan should be an easy to MFC.

Breaking ABI will potentially hurt packages. FreeBSD builds packages for
the oldest supported release on a branch. If you break ABI in 10.2 while
we are building packages for 10.1 then any packages using these
interfaces may not work right or result in panics packages with kmods.
Please consider that.

 
  
 
   Phabricator: https://reviews.freebsd.org/D383
   Reviewed by: gnn
 
  Modified:
   head/sys/netinet/sctputil.c
   head/sys/netinet/udp_usrreq.c
   head/sys/netinet/udp_var.h
   head/sys/netinet6/udp6_usrreq.c
 
 Thanks,
 
 JN
 
 


-- 
Regards,
Bryan Drewery
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-06 Thread John Nielsen
Bryan-

On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org wrote:

 Author: bryanv
 Date: Fri Oct 10 06:08:59 2014
 New Revision: 272886
 URL: https://svnweb.freebsd.org/changeset/base/272886
 
 Log:
  Add context pointer and source address to the UDP tunnel callback
 
  These are needed for the forthcoming vxlan implementation. The context
  pointer means we do not have to use a spare pointer field in the inpcb,
  and the source address is required to populate vxlan's forwarding table.
 
  While I highly doubt there is an out of tree consumer of the UDP
  tunneling callback, this change may be a difficult to eventually MFC.

I noticed this comment while doing an MFC of vxlan to my local tree. Do you 
think an MFC to 10-STABLE of this change (and vxlan generally) will be 
feasible? Is there precedent for ABI changes like this being sanctioned? Could 
symbol versioning help?

  Phabricator: https://reviews.freebsd.org/D383
  Reviewed by: gnn
 
 Modified:
  head/sys/netinet/sctputil.c
  head/sys/netinet/udp_usrreq.c
  head/sys/netinet/udp_var.h
  head/sys/netinet6/udp6_usrreq.c

Thanks,

JN

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-06 Thread Bryan Venteicher
On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net wrote:

 Bryan-

 On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org wrote:

  Author: bryanv
  Date: Fri Oct 10 06:08:59 2014
  New Revision: 272886
  URL: https://svnweb.freebsd.org/changeset/base/272886
 
  Log:
   Add context pointer and source address to the UDP tunnel callback
 
   These are needed for the forthcoming vxlan implementation. The context
   pointer means we do not have to use a spare pointer field in the inpcb,
   and the source address is required to populate vxlan's forwarding table.
 
   While I highly doubt there is an out of tree consumer of the UDP
   tunneling callback, this change may be a difficult to eventually MFC.

 I noticed this comment while doing an MFC of vxlan to my local tree. Do
 you think an MFC to 10-STABLE of this change (and vxlan generally) will be
 feasible? Is there precedent for ABI changes like this being sanctioned?
 Could symbol versioning help?



I'd like to get some consensus on whether this commit is OK to MFC. With
this commit, vxlan should be an easy to MFC.



   Phabricator: https://reviews.freebsd.org/D383
   Reviewed by: gnn
 
  Modified:
   head/sys/netinet/sctputil.c
   head/sys/netinet/udp_usrreq.c
   head/sys/netinet/udp_var.h
   head/sys/netinet6/udp6_usrreq.c

 Thanks,

 JN


___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r272886 - in head/sys: netinet netinet6

2015-01-06 Thread Bryan Venteicher
On Tue, Jan 6, 2015 at 5:27 PM, Bryan Drewery bdrew...@freebsd.org wrote:

 On 1/6/2015 4:00 PM, Bryan Venteicher wrote:
 
 
  On Tue, Jan 6, 2015 at 2:52 PM, John Nielsen li...@jnielsen.net
  mailto:li...@jnielsen.net wrote:
 
  Bryan-
 
  On Oct 10, 2014, at 12:09 AM, Bryan Venteicher bry...@freebsd.org
  mailto:bry...@freebsd.org wrote:
 
   Author: bryanv
   Date: Fri Oct 10 06:08:59 2014
   New Revision: 272886
   URL: https://svnweb.freebsd.org/changeset/base/272886
  
   Log:
Add context pointer and source address to the UDP tunnel callback
  
These are needed for the forthcoming vxlan implementation. The
 context
pointer means we do not have to use a spare pointer field in the
 inpcb,
and the source address is required to populate vxlan's forwarding
 table.
  
While I highly doubt there is an out of tree consumer of the UDP
tunneling callback, this change may be a difficult to eventually
 MFC.
 
  I noticed this comment while doing an MFC of vxlan to my local tree.
  Do you think an MFC to 10-STABLE of this change (and vxlan
  generally) will be feasible? Is there precedent for ABI changes like
  this being sanctioned? Could symbol versioning help?
 
 
 
  I'd like to get some consensus on whether this commit is OK to MFC. With
  this commit, vxlan should be an easy to MFC.

 Breaking ABI will potentially hurt packages. FreeBSD builds packages for
 the oldest supported release on a branch. If you break ABI in 10.2 while
 we are building packages for 10.1 then any packages using these
 interfaces may not work right or result in panics packages with kmods.
 Please consider that.



The only user visible change of this commit would be the addition of a
field at the end of 'struct udpcb'. I don't think that is a problem, at
least a similar change didn't prevent the MFC of UDP Lite.

The kernel part of this changes the UDP tunneling functions which I guess
there could be a 3rd party module out there, but I very highly doubt that,
based on how un-useful the previous interface was.



 
 
Phabricator: https://reviews.freebsd.org/D383
Reviewed by: gnn
  
   Modified:
head/sys/netinet/sctputil.c
head/sys/netinet/udp_usrreq.c
head/sys/netinet/udp_var.h
head/sys/netinet6/udp6_usrreq.c
 
  Thanks,
 
  JN
 
 


 --
 Regards,
 Bryan Drewery

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r272886 - in head/sys: netinet netinet6

2014-10-10 Thread Bryan Venteicher
Author: bryanv
Date: Fri Oct 10 06:08:59 2014
New Revision: 272886
URL: https://svnweb.freebsd.org/changeset/base/272886

Log:
  Add context pointer and source address to the UDP tunnel callback
  
  These are needed for the forthcoming vxlan implementation. The context
  pointer means we do not have to use a spare pointer field in the inpcb,
  and the source address is required to populate vxlan's forwarding table.
  
  While I highly doubt there is an out of tree consumer of the UDP
  tunneling callback, this change may be a difficult to eventually MFC.
  
  Phabricator:  https://reviews.freebsd.org/D383
  Reviewed by:  gnn

Modified:
  head/sys/netinet/sctputil.c
  head/sys/netinet/udp_usrreq.c
  head/sys/netinet/udp_var.h
  head/sys/netinet6/udp6_usrreq.c

Modified: head/sys/netinet/sctputil.c
==
--- head/sys/netinet/sctputil.c Fri Oct 10 03:20:12 2014(r272885)
+++ head/sys/netinet/sctputil.c Fri Oct 10 06:08:59 2014(r272886)
@@ -6832,7 +6832,8 @@ sctp_log_trace(uint32_t subsys, const ch
 
 #endif
 static void
-sctp_recv_udp_tunneled_packet(struct mbuf *m, int off, struct inpcb *ignored)
+sctp_recv_udp_tunneled_packet(struct mbuf *m, int off, struct inpcb *ignored,
+const struct sockaddr *sa SCTP_UNUSED, void *ctx SCTP_UNUSED)
 {
struct ip *iph;
 
@@ -6968,7 +6969,7 @@ sctp_over_udp_start(void)
}
/* Call the special UDP hook. */
if ((ret = udp_set_kernel_tunneling(SCTP_BASE_INFO(udp4_tun_socket),
-   sctp_recv_udp_tunneled_packet))) {
+   sctp_recv_udp_tunneled_packet, NULL))) {
sctp_over_udp_stop();
return (ret);
}
@@ -6992,7 +6993,7 @@ sctp_over_udp_start(void)
}
/* Call the special UDP hook. */
if ((ret = udp_set_kernel_tunneling(SCTP_BASE_INFO(udp6_tun_socket),
-   sctp_recv_udp_tunneled_packet))) {
+   sctp_recv_udp_tunneled_packet, NULL))) {
sctp_over_udp_stop();
return (ret);
}

Modified: head/sys/netinet/udp_usrreq.c
==
--- head/sys/netinet/udp_usrreq.c   Fri Oct 10 03:20:12 2014
(r272885)
+++ head/sys/netinet/udp_usrreq.c   Fri Oct 10 06:08:59 2014
(r272886)
@@ -312,7 +312,8 @@ udp_append(struct inpcb *inp, struct ip 
 */
up = intoudpcb(inp);
if (up-u_tun_func != NULL) {
-   (*up-u_tun_func)(n, off, inp);
+   (*up-u_tun_func)(n, off, inp, (struct sockaddr *)udp_in,
+   up-u_tun_ctx);
return;
}
 
@@ -1717,7 +1718,7 @@ udp_attach(struct socket *so, int proto,
 #endif /* INET */
 
 int
-udp_set_kernel_tunneling(struct socket *so, udp_tun_func_t f)
+udp_set_kernel_tunneling(struct socket *so, udp_tun_func_t f, void *ctx)
 {
struct inpcb *inp;
struct udpcb *up;
@@ -1733,6 +1734,7 @@ udp_set_kernel_tunneling(struct socket *
return (EBUSY);
}
up-u_tun_func = f;
+   up-u_tun_ctx = ctx;
INP_WUNLOCK(inp);
return (0);
 }

Modified: head/sys/netinet/udp_var.h
==
--- head/sys/netinet/udp_var.h  Fri Oct 10 03:20:12 2014(r272885)
+++ head/sys/netinet/udp_var.h  Fri Oct 10 06:08:59 2014(r272886)
@@ -55,7 +55,8 @@ struct udpiphdr {
 struct inpcb;
 struct mbuf;
 
-typedef void(*udp_tun_func_t)(struct mbuf *, int off, struct inpcb *);
+typedef void(*udp_tun_func_t)(struct mbuf *, int off, struct inpcb *,
+ const struct sockaddr *, void *);
 
 /*
  * UDP control block; one per udp.
@@ -65,6 +66,7 @@ struct udpcb {
u_int   u_flags;/* Generic UDP flags. */
uint16_tu_rxcslen;  /* Coverage for incoming datagrams. */
uint16_tu_txcslen;  /* Coverage for outgoing datagrams. */
+   void*u_tun_ctx; /* Tunneling callback context. */
 };
 
 #defineintoudpcb(ip)   ((struct udpcb *)(ip)-inp_ppcb)
@@ -176,7 +178,8 @@ voidudplite_input(struct mbuf *, int);
 struct inpcb   *udp_notify(struct inpcb *inp, int errno);
 intudp_shutdown(struct socket *so);
 
-intudp_set_kernel_tunneling(struct socket *so, udp_tun_func_t f);
+intudp_set_kernel_tunneling(struct socket *so, udp_tun_func_t f,
+void *ctx);
 
 #endif /* _KERNEL */
 

Modified: head/sys/netinet6/udp6_usrreq.c
==
--- head/sys/netinet6/udp6_usrreq.c Fri Oct 10 03:20:12 2014
(r272885)
+++ head/sys/netinet6/udp6_usrreq.c Fri Oct 10 06:08:59 2014
(r272886)
@@ -150,7 +150,8 @@ udp6_append(struct inpcb *inp, struct mb
 */
up = intoudpcb(inp);
if