Hi Linux people, I hope this is an appropriate place to ask this.. In a program I'm writing I have a network namespace with a virtual (TAP) network interface assigned to it. I would like it so that the interface is automatically destroyed when the namespace is destroyed (ie. when the last process in the namespace exits). I can't see any way to implement this..
As I understand it, when a namespace is destroyed all its interfaces are moved to the root namespace. If this is the case, is there anyway to detect when an interface is moved so that I can close it manually? Alternatively, is there a way to detect when a namespace is destroyed? I figured it might possible to use inotify to do this, but it won't let me watch directories under /proc. Also the files under /proc/*/ns/ seem to be some kind of wierd symlink-to-a-raw-inode-thing (?) - is there a way to detect when an inode is destroyed that I can use with these? I also thought it might be possible to use a netlink socket to detect when an interface changes namespace. But the netlink docs don't seem to suggest that this is possible. Basically I'm looking for any event the Linux kernel can give me that I can use to implement what I want. Does anyone have any ideas? Thanks for any help anyone can give me. - Andrew
signature.asc
Description: Digital signature