Strictly speaking, plumbing and unplumbing an interface has nothing to do with adding or removing an IP address to the interface, although the interface must be plumbed before the IP address is added, and unplumbing will remove the address, but this is only because the IP address cannot be associated with an unplumbed interface.
When a system is booted, it attaches a driver to each physical network interface. Of course, there may be more than one interface on the system, each with it's own driver. When you plumb an interface, the kernel creates the a stream and attaches the driver to the IP module. There is only one IP module running per system, so all of the drivers get attached to it, and this also tells the IP module that it is there to send packets to as well. Of course, without an IP address assigned to the interface, IP will not send packets out through an interface, but packets can arrive on such an interface and will be processed via IP normally. This generally doesn't happen because an interface without an IP address wil not respond to
ARP requests, but it will receive broadcast packets in this manner.
And of course, unplumb does the opposite, disconnecting the interface from the IP module.
Main Topics
Browse All Topics





by: TDKDPosted on 2008-12-17 at 10:20:49ID: 23196290
Hi beer9,
plumb/unplumb enables/disables streams on that interface.
When run, "unplumb" detaches the IP address from that interface. Plumb is automatically done when you add the IP address. While plumb is not explicitly used in day-to-day operations, unplumb is used to remove the IP address from the interface.
plumb and unplumb is differed based on primary interface name and secondary interface name.
primary interface - lan0
Secondary interface - lan0:1
See more on ifconfig man page for "IP Index Number" part
By default,
plumbing is made setup after configuring the ip-address to any type of interface so that streams on TCP / IP to be used.
unplumbing is used to remove the configured ip-address on the interface. Here it is differeing based on iterface as,
primary interface - it is unplumbig the interface at once so that streams with tcp/ip is disabled.
secondary interface - it will get in effect by assigning ip-address to that interface as 0.0.0.0 ( ipv4 ) :: ( ipv6 )
you can view these changes with netstat -in command execution