# File : mef_ws_discovery.conf ######################### MEF Configuration command ################## mefcfg={ #Criteria: bit0-broadcast, bit1-unicast, bit3-multicast Criteria=8 # Multicast frames are received during hostsleepmode NumEntries=2 # Number of activated MEF entries #mef_entry_0: example filters to match WS-Discovery pkt for IPv4. mef_entry_0={ #mode: bit0--hostsleep mode, bit1--non hostsleep mode mode=1 # HostSleep mode #action: 0--discard and not wake host, 1--discard and wake host 3--allow and wake host action=3 # Allow and Wake host filter_num=4 # Number of filter #RPN only support "&&" and "||" operator,space can not be removed between operator. RPN=Filter_0 && Filter_1 && Filter_2 && Filter_3 #Filter_0 will match IPv4 protocol packet Filter_0={ type=0x41 repeat=1 byte=08:00 offset=20 } #Filter_1 will match dest multicast IPv4 address 239.255.255.250 Filter_1={ type=0x41 repeat=1 byte=ef:ff:ff:fa offset=38 } #Filter_2 will match UDP packet Filter_2={ type=0x42 pattern=17 offset=31 numbyte=1 } #Filter_3 will match UDP port 3702 Filter_3={ type=0x42 pattern=3702 offset=44 numbyte=2 } } #mef_entry_1: example filters to match WS-Discovery pkt for IPv6. mef_entry_1={ #mode: bit0--hostsleep mode, bit1--non hostsleep mode mode=1 # HostSleep mode #action: 0--discard and not wake host, 1--discard and wake host 3--allow and wake host action=3 # Allow and Wake host filter_num=4 # Number of filter #RPN only support "&&" and "||" operator,space can not be removed between operator. RPN=Filter_0 && Filter_1 && Filter_2 && Filter_3 #Filter_0 will match IPv4 protocol packet Filter_0={ type=0x41 repeat=1 byte=86:dd offset=20 } #Filter_1 will match dest multicast IPv6 address FF02::C Filter_1={ type=0x41 repeat=1 byte=ff:02:00:00:00:00:00:00:00:00:00:00:00:00:00:0c offset=46 } #Filter_2 will match UDP packet Filter_2={ type=0x42 pattern=17 offset=28 numbyte=1 } #Filter_3 will match UDP port 3702 Filter_3={ type=0x42 pattern=3702 offset=64 numbyte=2 } } } #--------------------------examples for MEF filters-------------------------------- # example: filters to match ARP packet with protocol addr 192.168.0.104 # mef_entry_0={ # mode=1 # HostSleep mode # action=3 # Allow and Wake host # filter_num=3 # Number of filter # RPN=Filter_0 && Filter_1 && Filter_2 # #Filter_0 looking for rx pkt with DA is broadcast address # Filter_0={ # type=0x41 # repeat=6 # byte=ff # offset=0 # } # #Filter_1 looking for rx pkt with EtherType is 0x0806(ARP) # Filter_1={ # type=0x41 # repeat=1 # byte=08:06 # offset=20 # } # #Filter_2 looking for rx pkt with ARP target protocol addr 192.168.0.104 # Filter_2={ # type=0x41 # repeat=1 # byte=c0:a8:00:68 # offset=46 # } # } #------------------------------------------------------------------------------------- # example: filter to check if the destination MAC address is unicast pkt # mef_entry_0={ # mode=1 # HostSleep mode # action=3 # Allow and Wake host # filter_num=3 # Number of filter # RPN=Filter_0 # #Filter_0 is Bit comparison filter, it always with type=0x43 # #Byte filter always has type, byte, mask, offset 4 filed # #"byte" is the byte sequence constant with each byte in hex format, with ':' as delimiter between two byte # #"mask" is also with each byte in hex format, with ':' as delimiter between two byte # #"byte" should has the same length as "mask" # #Filter_0 will check if the destination MAC address is unicast pkt # Filter_0={ # type=0x43 #Bit comparison filter # byte=00 #00 is the 1-byte sequence constant # offset=0 #0 is the byte offset of the rx pkt # mask=01 #1 is the 1-byte mask # } # } #-------------------------------------------------------------------------------------------------- # example: Disable MEF filters # mefcfg={ # #Criteria: bit0-broadcast, bit1-unicast, bit3-multicast # Criteria=2 # Unicast frames are received during hostsleepmode # NumEntries=0 # Number of activated MEF entries # } #-------------------------------------------------------------------------------------------------- # example: Test MEF filters # mefcfg={ # Criteria=1 # NumEntries=1 # mef_entry_0={ # mode=4 # Test Mode # action=16 # Invoke Test # filter_num=0 # } # } #----------------------------------------------------------------------------------------------------- # example: Test MEF filters # mefcfg={ # Criteria=1 # NumEntries=1 # mef_entry_0={ # mode=4 # action=0 # filter_num=1 # RPN=Filter_0 # Filter_0={ # type=0x44 # test filter # repeat=2 # 2 copies of 'BE:EF' # byte=BE:EF # 'BE:EF' is the byte sequence constant # offset=18 # 18 is the byte offset of the equal length field of rx'd pkt. # dest=00:50:43:20:5a:82 # '00:50:43:20:5a:82' is the byte sequence constant # } # } # } #---------------------------------------------------------------------------------------------------- #example: Filter broadcast/ipv4 multicast/ipv6 multicast packets in non hostsleep mode #mefcfg={ # Criteria=9 # broadcast and multicast frames # NumEntries=1 # Number of activated MEF entries # mef_entry_0={ # mode=2 # non HostSleep mode # action=0 # discard and not wake host # filter_num=3 # Number of filter # RPN=Filter_0 || Filter_1 || Filter_2 # Filter_0={ # IPV4 multicast # type=0x41 # byte comparison filter # byte=01:00:5e # 01:00:5e is the byte constant to be compared # offset=0 # 0 is the byte offset of the equal length field of rx'd pkt. # repeat=1 # # } # Filter_1={ # broadcast packet check # type=0x41 # Byte comparison filter # repeat=6 # 6 copies of 'ff', means broadcast # byte=ff # 'ff'(0xff) is the byte sequence constant with each byte # # in hex format, with ':' as delimiter between two byte. # offset=0 # 0 is the byte offset of the equal length field of rx'd pkt. # } # Filter_2={ # IPV6 multicast # type=0x41 # byte comparison filter # byte=33:33 # 33:33 is the byte constant to be compared # offset=0 # 0 is the byte offset of the equal length field of rx'd pkt. # repeat=1 # # } # } #} #------------------------------------------------------------------------------------------------------