表示基本的网络接口,比如 h1-eth0 表示 host 1 上的 eth0 接口。
属性包括所在的节点,名称,所接的 link,mac/ip 信息等。
构造的时候会传入节点、端口等属性,并绑定接口到对应的节点的端口上。

  1. def __init__( self, name, node=None, port=None, link=None, **params ):
  2. """name: interface name (e.g. h1-eth0)
  3. node: owning node (where this intf most likely lives)
  4. link: parent link if we're part of a link
  5. other arguments are passed to config()"""
  6. self.node = node
  7. self.name = name
  8. self.link = link
  9. self.mac, self.ip, self.prefixLen = None, None, None
  10. # Add to node (and move ourselves if necessary )
  11. node.addIntf( self, port=port )
  12. # Save params for future reference
  13. self.params = params
  14. self.config( **params )

所支持的方法包括配置 mac/ip 等配置方法,大都是通过 ifconfig 命令在对应节点上调用cmd方法来实现。
此外,还提供了 config() 方法来一次性配置所有的属性。