Higher-level VLAN API
This commit is contained in:
@@ -6,25 +6,16 @@ require 'pp'
|
||||
|
||||
nl = Netlink::Route::Socket.new
|
||||
puts "\n*** Before adding VLAN"
|
||||
pp nl.if.select { |lnk| lnk.kind?("vlan") }
|
||||
pp nl.if.links(:kind=>"vlan").to_a
|
||||
|
||||
puts "\n*** After adding VLAN on lo"
|
||||
begin
|
||||
nl.if.add_link(:link=>"lo",
|
||||
:linkinfo=>Netlink::LinkInfo.new(
|
||||
:kind=>"vlan", :data=>Netlink::VlanInfo.new(
|
||||
:id=>1234, #:flags => Netlink::VlanFlags.new(:flags=>Netlink::VLAN_FLAG_LOOSE_BINDING, :mask=>0xffffffff)
|
||||
)))
|
||||
nl.if.add_vlan(:link=>"lo", :vlan_id=>1234)
|
||||
rescue Errno::EEXIST
|
||||
puts "Already present"
|
||||
end
|
||||
pp nl.if.select { |lnk| lnk.kind?("vlan") }
|
||||
pp nl.if.links(:kind=>"vlan").to_a
|
||||
|
||||
puts "\n*** After deleting VLANs from lo"
|
||||
nl.if.each do |lnk|
|
||||
if lnk.kind?('vlan') && nl.if.name(lnk.link) == 'lo'
|
||||
nl.if.delete_link(lnk.index)
|
||||
end
|
||||
end
|
||||
pp nl.if.select { |lnk| lnk.kind?("vlan") }
|
||||
|
||||
nl.if.delete_vlan(:link=>"lo", :vlan_id=>1234)
|
||||
pp nl.if.links(:kind=>"vlan").to_a
|
||||
|
Reference in New Issue
Block a user