add Bridge.Interface()

This commit is contained in:
Matthias Radestock committed 2016-01-13 13:50:18 +00:00
1 parent f12ec3b295
commit e5c256daa1
3 files changed
+17

No files matched your search

+9
View File
@@ -1,5 +1,9 @@
package router
import (
"net"
)
// Interface to packet handling on the local virtual bridge
type Bridge interface {
// Inject a packet to be delivered locally
@@ -9,6 +13,7 @@ type Bridge interface {
// should not be included.
StartConsumingPackets(BridgeConsumer) error
Interface() *net.Interface
String() string
Stats() map[string]int
}
@@ -26,6 +31,10 @@ func (NullBridge) StartConsumingPackets(BridgeConsumer) error {
return nil
}
func (NullBridge) Interface() *net.Interface {
return nil
}
func (NullBridge) String() string {
return "<no bridge networking>"
}
+4
View File
@@ -204,6 +204,10 @@ func (fastdp *FastDatapath) Bridge() Bridge {
return fastDatapathBridge{fastdp}
}
func (fastdp fastDatapathBridge) Interface() *net.Interface {
return fastdp.iface
}
func (fastdp fastDatapathBridge) String() string {
return fmt.Sprint(fastdp.dpname, " (via ODP)")
}
+4
View File
@@ -104,6 +104,10 @@ func newPcapHandle(ifName string, promisc bool, snaplen int, bufSz int) (handle
return
}
func (p *Pcap) Interface() *net.Interface {
return p.iface
}
func (p *Pcap) String() string {
return fmt.Sprint(p.iface.Name, " (via pcap)")
}