+func ParseMacAddress(s string) (MacAddress, error) {
+ var macaddr MacAddress
+ mac, err := net.ParseMAC(s)
+ if err != nil {
+ return macaddr, err
+ }
+ copy(macaddr[:], mac[:])
+ return macaddr, nil
+}
+func (x MacAddress) ToMAC() net.HardwareAddr {
+ return net.HardwareAddr(x[:])
+}
+func (x MacAddress) String() string {
+ return x.ToMAC().String()
+}
+func (x *MacAddress) MarshalText() ([]byte, error) {
+ return []byte(x.String()), nil
+}
+func (x *MacAddress) UnmarshalText(text []byte) error {
+ mac, err := ParseMacAddress(string(text))
+ if err != nil {
+ return err
+ }
+ *x = mac
+ return nil
+}
+
+// AfPacketCreate defines message 'af_packet_create'.