Documentation
¶
Index ¶
- Variables
- func ParseIpAddr(ipAddrStr string) ([]byte, error)
- func ParseMacAddr(macAddrStr string) ([]byte, error)
- type Config
- type Engine
- type NetIf
- func (i *NetIf) ConvMacAddrToUint64(macAddr []byte) (macAddrUint64 uint64)
- func (i *NetIf) ConvUint64ToMacAddr(macAddrUint64 uint64) (macAddr []byte)
- func (i *NetIf) GetArpCache(ipAddr []byte) (macAddr []byte)
- func (i *NetIf) HandleArp(ethPayload []byte, ethSrcMac []byte)
- func (i *NetIf) NetworkStateCheck()
- func (i *NetIf) PacketHandle()
- func (i *NetIf) RxIcmp(ipv4Payload []byte, ipv4SrcAddr []byte)
- func (i *NetIf) RxIpv4(ethPayload []byte)
- func (i *NetIf) RxTcp()
- func (i *NetIf) RxUdp(ipv4Payload []byte, ipv4SrcAddr []byte)
- func (i *NetIf) SetArpCache(ipAddr []byte, macAddr []byte)
- func (i *NetIf) TxIcmp(icmpPayload []byte, seq uint16, ipv4DstAddr []byte) []byte
- func (i *NetIf) TxIpv4(ipv4Payload []byte, ipv4HeadProto uint8, ipv4DstAddr []byte) []byte
- func (i *NetIf) TxTcpAck(tcpSrcPort uint16, tcpDstPort uint16, ipv4DstAddr []byte) []byte
- func (i *NetIf) TxTcpSyn(tcpSrcPort uint16, tcpDstPort uint16, ipv4DstAddr []byte) []byte
- func (i *NetIf) TxTcpSynAck(tcpSrcPort uint16, tcpDstPort uint16, ipv4DstAddr []byte) []byte
- func (i *NetIf) TxUdp(udpPayload []byte, udpSrcPort uint16, udpDstPort uint16, ipv4DstAddr []byte) []byte
- type NetIfConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var (
BROADCAST_MAC_ADDR = []byte{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
)
Functions ¶
func ParseIpAddr ¶
func ParseMacAddr ¶
Types ¶
type Config ¶
type Config struct { DebugLog bool // 调试日志 NetIfConfigList []*NetIfConfig // 网卡列表 }
type NetIf ¶
type NetIf struct { Name string MacAddr []byte IpAddr []byte NetworkMask []byte GatewayIpAddr []byte EthRxChan chan []byte EthTxChan chan []byte Engine *Engine // arp缓存表 key:ip value:mac ArpCacheTable map[uint32]uint64 ArpCacheTableLock sync.RWMutex HandleUdp func(udpPayload []byte, udpSrcPort uint16, udpDstPort uint16, ipv4SrcAddr []byte) }
func (*NetIf) ConvMacAddrToUint64 ¶
func (*NetIf) ConvUint64ToMacAddr ¶
func (*NetIf) GetArpCache ¶
func (*NetIf) NetworkStateCheck ¶
func (i *NetIf) NetworkStateCheck()
func (*NetIf) PacketHandle ¶
func (i *NetIf) PacketHandle()
func (*NetIf) SetArpCache ¶
func (*NetIf) TxTcpSynAck ¶
Click to show internal directories.
Click to hide internal directories.