Compare commits

..

17 Commits

Author SHA1 Message Date
Patrick J Cherry
486b19a565 New squeeze release 2015-04-01 22:49:18 +01:00
Patrick J Cherry
2b34dbae71 Added tag 0.16-1+squeeze1 for changeset 18a68367218f 2014-08-26 16:33:28 +01:00
Patrick J Cherry
36352b4f9f New upstream release 2014-08-26 16:33:16 +01:00
Patrick J Cherry
fba61f79e3 Added tag 0.15-1+squeeze1 for changeset e74eb5d7ce2c 2014-01-21 10:03:26 +00:00
Patrick J Cherry
0c30853e93 New upstream release 2014-01-21 10:03:24 +00:00
Patrick J Cherry
d858e3d5b3 Added tag 0.14-1+squeeze1 for changeset 8b86579d1efb 2013-11-14 13:38:22 +00:00
Patrick J Cherry
f2e31b5337 New upstream release 2013-11-14 13:37:10 +00:00
Patrick J Cherry
5880ede839 Added tag 0.13-1+squeeze1 for changeset 03fdcb15a9be 2013-11-13 16:18:05 +00:00
Patrick J Cherry
ff565e1dd3 New upstream release 2013-11-13 16:16:25 +00:00
Patrick J Cherry
25cf355fc3 Added tag 0.12-1+squeeze1 for changeset fac5948fd32c 2013-09-12 14:31:28 +01:00
Patrick J Cherry
d4eeb977ce New upstream release 2013-09-12 14:28:35 +01:00
Patrick J Cherry
c0263e83d0 merge 2013-07-16 16:52:27 +01:00
Patrick J Cherry
2251b116ce merge 2013-07-16 16:45:29 +01:00
Patrick J Cherry
e27f54116e Foo 2013-07-16 16:28:40 +01:00
Patrick J Cherry
7195d7b24e arse 2013-07-16 16:36:19 +01:00
Patrick J Cherry
eeb55fa103 Added tag 0.11-1+squeeze1 for changeset 6993fdccebef 2013-07-05 14:02:25 +01:00
Patrick J Cherry
9c7e3a1a96 Updated hgignore for squeeze packages 2013-07-05 13:59:40 +01:00
13 changed files with 351 additions and 468 deletions

View File

@@ -1,7 +1,6 @@
^debian/ruby-linux-netlink$ ^debian/liblinux-netlink-ruby(1.8|1.9.1)?$
~$ ~$
^.config-liblinux-netlink-ruby ^.config-liblinux-netlink-ruby
^.pc/
^debian/files$ ^debian/files$
^debian/.*\.substvars$ ^debian/.*\.substvars$
^debian/.*\.debhelper.log$ ^debian/.*\.debhelper.log$

54
debian/changelog vendored
View File

@@ -1,68 +1,44 @@
ruby-linux-netlink (0.18-1+jessie1) stable; urgency=medium linux-netlink-ruby (0.17-1+squeeze1) oldstable; urgency=medium
* Fixed new massive IP test thing to work with ruby1.8 and also non-root users
* Make sure link exists before proceeding with test
* Scaled back the massive allocation of IPs from 11 /24s to 4.
* Updated linux header constants
* Updated to 0.18
-- Patrick J Cherry <patrick@bytemark.co.uk> Mon, 17 Oct 2016 13:09:35 +0100
ruby-linux-netlink (0.17-1+jessie1) testing; urgency=medium
* New upstream release * New upstream release
-- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 01 Apr 2015 22:51:34 +0100 -- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 01 Apr 2015 22:48:55 +0100
ruby-linux-netlink (0.16-1+jessie1) testing; urgency=medium linux-netlink-ruby (0.16-1+squeeze1) oldstable; urgency=low
* Repackaged for jessie
-- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 01 Apr 2015 17:39:44 +0100
ruby-linux-netlink (0.16-1+wheezy1) stable; urgency=medium
* New upstream release. * New upstream release.
-- Patrick J Cherry <patch@dynamo> Tue, 26 Aug 2014 16:33:48 +0100 -- Patrick J Cherry <patch@dynamo> Tue, 26 Aug 2014 16:32:44 +0100
ruby-linux-netlink (0.15-1+wheezy1) stable; urgency=low linux-netlink-ruby (0.15-1+squeeze1) oldstable; urgency=low
* New upstream release. * New upstream release.
-- Patrick J Cherry <patrick@bytemark.co.uk> Tue, 21 Jan 2014 10:01:20 +0000 -- Patrick J Cherry <patrick@bytemark.co.uk> Tue, 21 Jan 2014 10:02:54 +0000
ruby-linux-netlink (0.14-1+wheezy1) stable; urgency=low linux-netlink-ruby (0.14-1+squeeze1) oldstable; urgency=low
* New upstream release. * New upstream release.
-- Patrick J Cherry <patrick@bytemark.co.uk> Thu, 14 Nov 2013 13:37:28 +0000 -- Patrick J Cherry <patrick@bytemark.co.uk> Thu, 14 Nov 2013 11:59:05 +0000
ruby-linux-netlink (0.13-1+wheezy1) stable; urgency=low linux-netlink-ruby (0.13-1+squeeze1) oldstable; urgency=low
* New upstream release. * New upstream release.
-- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 13 Nov 2013 16:16:36 +0000 -- Patrick J Cherry <patrick@bytemark.co.uk> Wed, 13 Nov 2013 16:15:43 +0000
ruby-linux-netlink (0.12-1+wheezy1) stable; urgency=low linux-netlink-ruby (0.12-1+squeeze1) oldstable; urgency=low
* New upstream release. * New upstream release.
-- Patrick J Cherry <patrick@bytemark.co.uk> Thu, 12 Sep 2013 14:26:41 +0100 -- Patrick J Cherry <patrick@bytemark.co.uk> Thu, 12 Sep 2013 14:28:10 +0100
ruby-linux-netlink (0.11-1+wheezy2) stable; urgency=low linux-netlink-ruby (0.11-1+squeeze1) oldstable; urgency=low
* Switch to dpkg-source 3.0 (quilt) format. * New upstream version.
* Added patch to remove rubygems requires.
* Renamed source package to fit in with the new guidelines.
-- Patrick J Cherry <patrick@bytemark.co.uk> Fri, 05 Jul 2013 14:16:30 +0100 -- Patrick J Cherry <patrick@bytemark.co.uk> Fri, 05 Jul 2013 13:52:09 +0100
linux-netlink-ruby (0.11-1+wheezy1) stable; urgency=low
* New upstream version, repackaged for wheezy.
-- Patrick J Cherry <patrick@bytemark.co.uk> Fri, 05 Jul 2013 14:16:05 +0100
linux-netlink-ruby (0.10-6) stable; urgency=low linux-netlink-ruby (0.10-6) stable; urgency=low

37
debian/control vendored
View File

@@ -1,18 +1,39 @@
Source: ruby-linux-netlink Source: linux-netlink-ruby
Maintainer: Matthew Bloch <matthew@bytemark.co.uk> Maintainer: Matthew Bloch <matthew@bytemark.co.uk>
Uploaders: Patrick J Cherry <patrick@bytemark.co.uk> Uploaders: Patrick J Cherry <patrick@bytemark.co.uk>
Section: ruby Section: ruby
Priority: optional Priority: optional
Build-Depends: debhelper (>= 7), gem2deb, rake, ruby-ffi Build-Depends: debhelper (>= 7), cdbs, ruby1.8, ruby1.9.1, ruby-pkg-tools, rake
Standards-Version: 3.8.0 Standards-Version: 3.8.0
XS-Ruby-Versions: all
Package: ruby-linux-netlink Package: liblinux-netlink-ruby
Architecture: any Architecture: all
Depends: ruby | ruby-interpreter, ruby-ffi, ${misc:Depends} Depends: liblinux-netlink-ruby1.8 | liblinux-netlink-ruby1.9.1, ${misc:Depends}
Provides: liblinux-netlink-ruby1.8, liblinux-netlink-ruby1.9.1
XB-Ruby-Versions: ${ruby:Versions}
Description: Netlink socket library for Ruby Description: Netlink socket library for Ruby
This library provides an API for using a Linux Netlink socket, for doing This library provides an API for using a Linux Netlink socket, for doing
things like manipulating IP interfaces and routes programmatically, and things like manipulating IP interfaces and routes programmatically, and
capturing packets from ULOG. capturing packets from ULOG.
.
This is the metapackage for all versions of Ruby.
Package: liblinux-netlink-ruby1.8
Architecture: any
Depends: ruby1.8 (>= 1.8.7), libffi-ruby1.8, ${misc:Depends}
Description: Netlink socket library for Ruby 1.8
This library provides an API for using a Linux Netlink socket, for doing
things like manipulating IP interfaces and routes programmatically, and
capturing packets from ULOG.
.
This is the version for Ruby 1.8.7.
Package: liblinux-netlink-ruby1.9.1
Architecture: any
Depends: ruby1.9.1, libffi-ruby1.9.1, ${misc:Depends}
Description: Netlink socket library for Ruby 1.9.1
This library provides an API for using a Linux Netlink socket, for doing
things like manipulating IP interfaces and routes programmatically, and
capturing packets from ULOG.
.
This is the version for Ruby 1.9.1.

View File

@@ -0,0 +1 @@
examples/*

View File

@@ -1,32 +0,0 @@
Removed "require rubygems" from everywhere.
--- a/lib/linux/iptables.rb
+++ b/lib/linux/iptables.rb
@@ -1,11 +1,6 @@
require 'socket'
require 'linux/constants'
-
-begin
- require 'ffi'
-rescue LoadError
- require('rubygems') ? retry : raise
-end
+require 'ffi'
# Good things about FFI::Struct:
--- a/lib/linux/sendmsg.rb
+++ b/lib/linux/sendmsg.rb
@@ -1,12 +1,7 @@
# Patchup to add Socket#sendmsg and Socket#recvmsg for ruby 1.8
if BasicSocket.instance_methods.grep(/^sendmsg$/).empty?
- begin
- require 'ffi'
- rescue LoadError
- require('rubygems') ? retry : raise
- end
-
+ require 'ffi'
class BasicSocket
module FFIExt

View File

@@ -1 +0,0 @@
remove-rubygems-requirements

View File

@@ -1,2 +0,0 @@
---
- test/t_route.rb

20
debian/rules vendored
View File

@@ -1,23 +1,11 @@
#!/usr/bin/make -f #!/usr/bin/make -f
# #
# export DH_VERBOSE=1
#
# Uncomment to ignore all test failures (but the tests will run anyway)
# export DH_RUBY_IGNORE_TESTS=all
#
# Uncomment to ignore some test failures (but the tests will run anyway).
# Valid values:
# export DH_RUBY_IGNORE_TESTS=ruby1.8 ruby1.9.1 require-rubygems
#
# If you need to specify the .gemspec (eg there is more than one)
# export DH_RUBY_GEMSPEC=gem.gemspec
%: include /usr/share/cdbs/1/rules/debhelper.mk
dh $@ --buildsystem=ruby --with ruby include /usr/share/ruby-pkg-tools/1/class/ruby-setup-rb.mk
override_dh_auto_build-arch: makebuilddir::
rake lib/linux/c_struct_sizeof_size_t.rb rake lib/linux/c_struct_sizeof_size_t.rb
override_dh_auto_clean: clean::
rake clean rake clean

View File

@@ -1 +0,0 @@
3.0 (quilt)

View File

@@ -36,7 +36,6 @@ module Linux
NLM_F_ACK = 4 NLM_F_ACK = 4
NLM_F_ECHO = 8 NLM_F_ECHO = 8
NLM_F_DUMP_INTR = 16 NLM_F_DUMP_INTR = 16
NLM_F_DUMP_FILTERED = 32
NLM_F_ROOT = 0x100 NLM_F_ROOT = 0x100
NLM_F_MATCH = 0x200 NLM_F_MATCH = 0x200
NLM_F_ATOMIC = 0x400 NLM_F_ATOMIC = 0x400
@@ -54,8 +53,6 @@ module Linux
NLMSG_DONE = 0x3 NLMSG_DONE = 0x3
NLMSG_OVERRUN = 0x4 NLMSG_OVERRUN = 0x4
NLMSG_MIN_TYPE = 0x10
NETLINK_ADD_MEMBERSHIP = 1 NETLINK_ADD_MEMBERSHIP = 1
NETLINK_DROP_MEMBERSHIP = 2 NETLINK_DROP_MEMBERSHIP = 2
NETLINK_PKTINFO = 3 NETLINK_PKTINFO = 3
@@ -63,9 +60,6 @@ module Linux
NETLINK_NO_ENOBUFS = 5 NETLINK_NO_ENOBUFS = 5
NETLINK_RX_RING = 6 NETLINK_RX_RING = 6
NETLINK_TX_RING = 7 NETLINK_TX_RING = 7
NETLINK_LISTEN_ALL_NSID = 8
NETLINK_LIST_MEMBERSHIPS = 9
NETLINK_CAP_ACK = 10
NETLINK_UNCONNECTED = 0 NETLINK_UNCONNECTED = 0
NETLINK_CONNECTED = 1 NETLINK_CONNECTED = 1
@@ -77,7 +71,6 @@ module Linux
NLA_ALIGNTO = 4 # same on i686 and x86_64 NLA_ALIGNTO = 4 # same on i686 and x86_64
# from linux/rtnetlink.h. # from linux/rtnetlink.h.
RTM_BASE = 16
RTM_NEWLINK = 16 RTM_NEWLINK = 16
RTM_DELLINK = 17 RTM_DELLINK = 17
RTM_GETLINK = 18 RTM_GETLINK = 18
@@ -140,12 +133,6 @@ module Linux
RTM_DELMDB = 85 RTM_DELMDB = 85
RTM_GETMDB = 86 RTM_GETMDB = 86
RTM_NEWNSID = 88
RTM_DELNSID = 89
RTM_GETNSID = 90
RTM_NEWSTATS = 92
RTM_GETSTATS = 94
# RT#type # RT#type
RTN_UNSPEC = 0 RTN_UNSPEC = 0
@@ -177,7 +164,6 @@ module Linux
RTPROT_NTK = 15 RTPROT_NTK = 15
RTPROT_DHCP = 16 RTPROT_DHCP = 16
RTPROT_MROUTED = 17 RTPROT_MROUTED = 17
RTPROT_BABEL = 42
# RT#scope, IFAddr#scope # RT#scope, IFAddr#scope
RT_SCOPE_UNIVERSE = 0 RT_SCOPE_UNIVERSE = 0
@@ -191,7 +177,6 @@ module Linux
RTM_F_CLONED = 0x200 RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400 RTM_F_EQUALIZE = 0x400
RTM_F_PREFIX = 0x800 RTM_F_PREFIX = 0x800
RTM_F_LOOKUP_TABLE = 0x1000
# RT#table (reserved values) # RT#table (reserved values)
RT_TABLE_UNSPEC = 0 RT_TABLE_UNSPEC = 0
@@ -216,21 +201,11 @@ module Linux
RTA_TABLE = 15 RTA_TABLE = 15
RTA_MARK = 16 RTA_MARK = 16
RTA_MFC_STATS = 17 RTA_MFC_STATS = 17
RTA_VIA = 18
RTA_NEWDST = 19
RTA_PREF = 20
RTA_ENCAP_TYPE = 21
RTA_ENCAP = 22
RTA_EXPIRES = 23
RTA_PAD = 24
# Keys for RT#nh_flags # Keys for RT#nh_flags
RTNH_F_DEAD = 1 # Nexthop is dead (used by multipath) RTNH_F_DEAD = 1 # Nexthop is dead (used by multipath)
RTNH_F_PERVASIVE = 2 # Do recursive gateway lookup RTNH_F_PERVASIVE = 2 # Do recursive gateway lookup
RTNH_F_ONLINK = 4 # Gateway is forced on link RTNH_F_ONLINK = 4 # Gateway is forced on link
RTNH_F_OFFLOAD = 8 # offloaded route
RTNH_F_LINKDOWN = 16 # carrier-down on nexthop
# Keys for RT#metrics # Keys for RT#metrics
RTAX_UNSPEC = 0 RTAX_UNSPEC = 0
@@ -249,7 +224,6 @@ module Linux
RTAX_RTO_MIN = 13 RTAX_RTO_MIN = 13
RTAX_INITRWND = 14 RTAX_INITRWND = 14
RTAX_QUICKACK = 15 RTAX_QUICKACK = 15
RTAX_CC_ALGO = 16
# from linux/if_link.h # from linux/if_link.h
IFLA_UNSPEC = 0 IFLA_UNSPEC = 0
@@ -287,14 +261,6 @@ module Linux
IFLA_NUM_RX_QUEUES = 32 IFLA_NUM_RX_QUEUES = 32
IFLA_CARRIER = 33 IFLA_CARRIER = 33
IFLA_PHYS_PORT_ID = 34 IFLA_PHYS_PORT_ID = 34
IFLA_CARRIER_CHANGES = 35
IFLA_PHYS_SWITCH_ID = 36
IFLA_LINK_NETNSID = 37
IFLA_PHYS_PORT_NAME = 38
IFLA_PROTO_DOWN = 39
IFLA_GSO_MAX_SEGS = 40
IFLA_GSO_MAX_SIZE = 41
IFLA_PAD = 42
BRIDGE_MODE_UNSPEC = 0 BRIDGE_MODE_UNSPEC = 0
BRIDGE_MODE_HAIRPIN = 1 BRIDGE_MODE_HAIRPIN = 1
@@ -309,30 +275,12 @@ module Linux
IFLA_BRPORT_FAST_LEAVE = 7 # multicast fast leave IFLA_BRPORT_FAST_LEAVE = 7 # multicast fast leave
IFLA_BRPORT_LEARNING = 8 # mac learning IFLA_BRPORT_LEARNING = 8 # mac learning
IFLA_BRPORT_UNICAST_FLOOD = 9 # flood unicast traffic IFLA_BRPORT_UNICAST_FLOOD = 9 # flood unicast traffic
IFLA_BRPORT_PROXYARP = 10 # proxy ARP
IFLA_BRPORT_LEARNING_SYNC = 11 # mac learning sync from device
IFLA_BRPORT_PROXYARP_WIFI = 12 # proxy ARP for Wi-Fi
IFLA_BRPORT_ROOT_ID = 13 # designated root
IFLA_BRPORT_BRIDGE_ID = 14 # designated bridge
IFLA_BRPORT_DESIGNATED_PORT = 15
IFLA_BRPORT_DESIGNATED_COST = 16
IFLA_BRPORT_ID = 17
IFLA_BRPORT_NO = 18
IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19
IFLA_BRPORT_CONFIG_PENDING = 20
IFLA_BRPORT_MESSAGE_AGE_TIMER = 21
IFLA_BRPORT_FORWARD_DELAY_TIMER = 22
IFLA_BRPORT_HOLD_TIMER = 23
IFLA_BRPORT_FLUSH = 24
IFLA_BRPORT_MULTICAST_ROUTER = 25
IFLA_BRPORT_PAD = 26
IFLA_INFO_UNSPEC = 0 IFLA_INFO_UNSPEC = 0
IFLA_INFO_KIND = 1 # "vlan", "gre" etc IFLA_INFO_KIND = 1 # "vlan", "gre" etc
IFLA_INFO_DATA = 2 # packed rtattrs specific to type, e.g. vlan IFLA_INFO_DATA = 2 # packed rtattrs specific to type, e.g. vlan
IFLA_INFO_XSTATS = 3 IFLA_INFO_XSTATS = 3
# INFO_DATA for INFO_KIND == "vlan" # INFO_DATA for INFO_KIND == "vlan"
IFLA_VLAN_UNSPEC = 0 IFLA_VLAN_UNSPEC = 0
IFLA_VLAN_ID = 1 # ushort IFLA_VLAN_ID = 1 # ushort
@@ -347,16 +295,11 @@ module Linux
IFLA_MACVLAN_UNSPEC = 0 IFLA_MACVLAN_UNSPEC = 0
IFLA_MACVLAN_MODE = 1 IFLA_MACVLAN_MODE = 1
IFLA_MACVLAN_FLAGS = 2 IFLA_MACVLAN_FLAGS = 2
IFLA_MACVLAN_MACADDR_MODE = 3
IFLA_MACVLAN_MACADDR = 4
IFLA_MACVLAN_MACADDR_DATA = 5
IFLA_MACVLAN_MACADDR_COUNT = 6
MACVLAN_MODE_PRIVATE = 1 # don't talk to other macvlans MACVLAN_MODE_PRIVATE = 1
MACVLAN_MODE_VEPA = 2 # talk to other ports through ext bridge MACVLAN_MODE_VEPA = 2
MACVLAN_MODE_BRIDGE = 4 # talk to bridge ports directly MACVLAN_MODE_BRIDGE = 4
MACVLAN_MODE_PASSTHRU = 8 # take over the underlying device MACVLAN_MODE_PASSTHRU = 8
MACVLAN_MODE_SOURCE = 16 # use source MAC address list to assign
# TODO: VXLAN and VF stuff is missing here # TODO: VXLAN and VF stuff is missing here
@@ -388,8 +331,6 @@ module Linux
IFA_F_PERMANENT = 0x80 IFA_F_PERMANENT = 0x80
IFA_F_MANAGETEMPADDR = 0x100 IFA_F_MANAGETEMPADDR = 0x100
IFA_F_NOPREFIXROUTE = 0x200 IFA_F_NOPREFIXROUTE = 0x200
IFA_F_MCAUTOJOIN = 0x400
IFA_F_STABLE_PRIVACY = 0x800
# from linux/if_arp.h - selected subset # from linux/if_arp.h - selected subset
ARPHRD_NETROM = 0 ARPHRD_NETROM = 0
@@ -451,10 +392,8 @@ module Linux
NF_INET_NUMHOOKS = 5 NF_INET_NUMHOOKS = 5
NFPROTO_UNSPEC = 0 NFPROTO_UNSPEC = 0
NFPROTO_INET = 1
NFPROTO_IPV4 = 2 NFPROTO_IPV4 = 2
NFPROTO_ARP = 3 NFPROTO_ARP = 3
NFPROTO_NETDEV = 5
NFPROTO_BRIDGE = 7 NFPROTO_BRIDGE = 7
NFPROTO_IPV6 = 10 NFPROTO_IPV6 = 10
NFPROTO_DECNET = 12 NFPROTO_DECNET = 12

View File

@@ -5,7 +5,7 @@ $:.unshift lib unless $:.include? lib
Gem::Specification.new do |s| Gem::Specification.new do |s|
s.name = "netlinkrb" s.name = "netlinkrb"
s.version = "0.18" s.version = "0.17"
s.platform = Gem::Platform::RUBY s.platform = Gem::Platform::RUBY
s.authors = ["Brian Candler", "Matthew Bloch", "Patrick Cherry", "Alex Young", "Nicholas Thomas"] s.authors = ["Brian Candler", "Matthew Bloch", "Patrick Cherry", "Alex Young", "Nicholas Thomas"]
s.email = ["matthew@bytemark.co.uk"] s.email = ["matthew@bytemark.co.uk"]

View File

@@ -42,12 +42,8 @@ class TestAddr < Test::Unit::TestCase
test "massively parallel IP address addition" do test "massively parallel IP address addition" do
@ifname = create_test_interface @ifname = create_test_interface
return if @ifname.nil?
link = @ip.link.list.find{|x| x.ifname == @ifname} ips = (10..20).map {|y| (1..254).map {|z| "10.100.#{y}.#{z}" } }.flatten.compact
return if link.nil?
ips = (10..13).map {|y| (1..254).map {|z| "10.100.#{y}.#{z}" } }.flatten.compact
threads = ips.map {|ip| threads = ips.map {|ip|
Thread.new { Thread.new {
@@ -59,8 +55,7 @@ class TestAddr < Test::Unit::TestCase
} }
} }
threads.map{|t| t.join } threads.map(&:join)
created = @ip.addr.list(:index => @ifname, :family => Socket::AF_INET). created = @ip.addr.list(:index => @ifname, :family => Socket::AF_INET).
map {|ifaddr| ifaddr.address.to_s } map {|ifaddr| ifaddr.address.to_s }