In the FC0 byte of the IEEE 802.11 header instead of testing separately
one bit for being set and another bit for being unset test one value
using a 2-bit bitmask. For each of the five DLTs that used the function
this change trades two instructions for two other instructions, also for
DLT_IEEE802_11 and DLT_PRISM_HEADER it eliminates duplicate loads.
Another effect is that for the five DLTs "llc" and "wlan type data" now
generate exactly the same filter program. Update the accept tests to
reflect that; the new filter programs have the same effect as before, so
the apply tests do not change.
static struct slist *xfer_to_a(compiler_state_t *, struct arth *);
static struct block *gen_mac_multicast(compiler_state_t *, int);
static struct block *gen_len(compiler_state_t *, int, int);
static struct slist *xfer_to_a(compiler_state_t *, struct arth *);
static struct block *gen_mac_multicast(compiler_state_t *, int);
static struct block *gen_len(compiler_state_t *, int, int);
-static struct block *gen_check_802_11_data_frame(compiler_state_t *);
static struct block *gen_encap_ll_check(compiler_state_t *cstate);
static struct block *gen_ppi_dlt_check(compiler_state_t *);
static struct block *gen_encap_ll_check(compiler_state_t *cstate);
static struct block *gen_ppi_dlt_check(compiler_state_t *);
/*
* Check that we have a data frame.
*/
/*
* Check that we have a data frame.
*/
- b0 = gen_check_802_11_data_frame(cstate);
+ b0 = gen_mcmp(cstate, OR_LINKHDR, 0, BPF_B,
+ IEEE80211_FC0_TYPE_DATA,
+ IEEE80211_FC0_TYPE_MASK);
/*
* Now check for the specified link-layer type.
/*
* Now check for the specified link-layer type.
/*
* Check that we have a data frame.
*/
/*
* Check that we have a data frame.
*/
- b0 = gen_check_802_11_data_frame(cstate);
- return b0;
+ return gen_mcmp(cstate, OR_LINKHDR, 0, BPF_B,
+ IEEE80211_FC0_TYPE_DATA,
+ IEEE80211_FC0_TYPE_MASK);
default:
bpf_error(cstate, "'llc' not supported for %s",
default:
bpf_error(cstate, "'llc' not supported for %s",
}
#endif /* !defined(NO_PROTOCHAIN) */
}
#endif /* !defined(NO_PROTOCHAIN) */
-static struct block *
-gen_check_802_11_data_frame(compiler_state_t *cstate)
-{
- struct slist *s;
- struct block *b0, *b1;
-
- /*
- * A data frame has the 0x08 bit (b3) in the frame control field set
- * and the 0x04 bit (b2) clear.
- */
- s = gen_load_a(cstate, OR_LINKHDR, 0, BPF_B);
- b0 = new_block(cstate, JMP(BPF_JSET));
- b0->s.k = 0x08;
- b0->stmts = s;
-
- s = gen_load_a(cstate, OR_LINKHDR, 0, BPF_B);
- b1 = new_block(cstate, JMP(BPF_JSET));
- b1->s.k = 0x04;
- b1->stmts = s;
- gen_not(b1);
-
- gen_and(b1, b0);
-
- return b0;
-}
-
/*
* Generate code that checks whether the packet is a packet for protocol
* <proto> and whether the type field in that protocol's header has
/*
* Generate code that checks whether the packet is a packet for protocol
* <proto> and whether the type field in that protocol's header has
(009) add #2
(010) st M[0]
(011) ldb [0]
(009) add #2
(010) st M[0]
(011) ldb [0]
- (012) jset #0x4 jt 25 jf 13
- (013) ldb [0]
- (014) jset #0x8 jt 15 jf 25
- (015) ldx M[0]
- (016) ldh [x + 6]
- (017) jeq #0x806 jt 18 jf 25
- (018) ldx M[0]
- (019) ld [x + 22]
- (020) jeq #0x1020304 jt 24 jf 21
- (021) ldx M[0]
- (022) ld [x + 32]
- (023) jeq #0x1020304 jt 24 jf 25
- (024) ret #262144
- (025) ret #0
+ (012) and #0xc
+ (013) jeq #0x8 jt 14 jf 24
+ (014) ldx M[0]
+ (015) ldh [x + 6]
+ (016) jeq #0x806 jt 17 jf 24
+ (017) ldx M[0]
+ (018) ld [x + 22]
+ (019) jeq #0x1020304 jt 23 jf 20
+ (020) ldx M[0]
+ (021) ld [x + 32]
+ (022) jeq #0x1020304 jt 23 jf 24
+ (023) ret #262144
+ (024) ret #0
',
}, # arp_host_addr_ieee802_11
{
',
}, # arp_host_addr_ieee802_11
{
(009) add #2
(010) st M[0]
(011) ldb [0]
(009) add #2
(010) st M[0]
(011) ldb [0]
- (012) jset #0x4 jt 25 jf 13
- (013) ldb [0]
- (014) jset #0x8 jt 15 jf 25
- (015) ldx M[0]
- (016) ldh [x + 6]
- (017) jeq #0x8035 jt 18 jf 25
- (018) ldx M[0]
- (019) ld [x + 22]
- (020) jeq #0x1020304 jt 24 jf 21
- (021) ldx M[0]
- (022) ld [x + 32]
- (023) jeq #0x1020304 jt 24 jf 25
- (024) ret #262144
- (025) ret #0
+ (012) and #0xc
+ (013) jeq #0x8 jt 14 jf 24
+ (014) ldx M[0]
+ (015) ldh [x + 6]
+ (016) jeq #0x8035 jt 17 jf 24
+ (017) ldx M[0]
+ (018) ld [x + 22]
+ (019) jeq #0x1020304 jt 23 jf 20
+ (020) ldx M[0]
+ (021) ld [x + 32]
+ (022) jeq #0x1020304 jt 23 jf 24
+ (023) ret #262144
+ (024) ret #0
',
}, # rarp_host_addr_ieee802_11
{
',
}, # rarp_host_addr_ieee802_11
{
DLT => 'IEEE802_11',
aliases => [
'llc',
DLT => 'IEEE802_11',
aliases => [
'llc',
],
unopt => '
(000) ldb [0]
],
unopt => '
(000) ldb [0]
- (001) jset #0x4 jt 5 jf 2
- (002) ldb [0]
- (003) jset #0x8 jt 4 jf 5
- (004) ret #262144
- (005) ret #0
+ (001) and #0xc
+ (002) jeq #0x8 jt 3 jf 4
+ (003) ret #262144
+ (004) ret #0
DLT => 'IEEE802_11_RADIO',
aliases => [
'llc',
DLT => 'IEEE802_11_RADIO',
aliases => [
'llc',
],
opt => '
(000) ldb [3]
],
opt => '
(000) ldb [3]
(004) or x
(005) tax
(006) ldb [x + 0]
(004) or x
(005) tax
(006) ldb [x + 0]
- (007) jset #0x4 jt 10 jf 8
- (008) jset #0x8 jt 9 jf 10
+ (007) and #0xc
+ (008) jeq #0x8 jt 9 jf 10
(009) ret #262144
(010) ret #0
',
(009) ret #262144
(010) ret #0
',
DLT => 'IEEE802_11_RADIO_AVS',
aliases => [
'llc',
DLT => 'IEEE802_11_RADIO_AVS',
aliases => [
'llc',
],
opt => '
(000) ld [4]
(001) tax
(002) ldb [x + 0]
],
opt => '
(000) ld [4]
(001) tax
(002) ldb [x + 0]
- (003) jset #0x4 jt 6 jf 4
- (004) jset #0x8 jt 5 jf 6
+ (003) and #0xc
+ (004) jeq #0x8 jt 5 jf 6
(005) ret #262144
(006) ret #0
',
(005) ret #262144
(006) ret #0
',
DLT => 'PRISM_HEADER',
aliases => [
'llc',
DLT => 'PRISM_HEADER',
aliases => [
'llc',
(000) ld [0]
(001) and #0xfffff000
(002) jeq #0x80211000 jt 3 jf 5
(000) ld [0]
(001) and #0xfffff000
(002) jeq #0x80211000 jt 3 jf 5
(007) tax
(008) ldx M[0]
(009) ldb [x + 0]
(007) tax
(008) ldx M[0]
(009) ldb [x + 0]
- (010) jset #0x4 jt 15 jf 11
- (011) ldx M[0]
- (012) ldb [x + 0]
- (013) jset #0x8 jt 14 jf 15
- (014) ret #262144
- (015) ret #0
+ (010) and #0xc
+ (011) jeq #0x8 jt 12 jf 13
+ (012) ret #262144
+ (013) ret #0
',
}, # llc_PRISM_HEADER
{
',
}, # llc_PRISM_HEADER
{
(006) or x
(007) tax
(008) ldb [x + 0]
(006) or x
(007) tax
(008) ldb [x + 0]
- (009) jset #0x4 jt 12 jf 10
- (010) jset #0x8 jt 11 jf 12
+ (009) and #0xc
+ (010) jeq #0x8 jt 11 jf 12
(011) ret #262144
(012) ret #0
',
(011) ret #262144
(012) ret #0
',
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 103 jf 43
+ (042) jset #0x4 jt 100 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 103
+ (050) jset #0x8 jt 51 jf 100
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 103
+ (058) jset #0x1 jt 59 jf 100
- (060) jeq #0x400140e jt 61 jf 103
+ (060) jeq #0x400140e jt 61 jf 100
- (062) jeq #0xaa00 jt 63 jf 103
+ (062) jeq #0xaa00 jt 63 jf 100
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x800 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 20]
- (072) jeq #0xa141e28 jt 103 jf 73
- (073) ldx M[0]
- (074) ld [x + 24]
- (075) jeq #0xa141e28 jt 103 jf 76
- (076) ldb [0]
- (077) jset #0x4 jt 89 jf 78
- (078) ldb [0]
- (079) jset #0x8 jt 80 jf 89
- (080) ldx M[0]
- (081) ldh [x + 6]
- (082) jeq #0x806 jt 83 jf 89
- (083) ldx M[0]
- (084) ld [x + 22]
- (085) jeq #0xa141e28 jt 103 jf 86
- (086) ldx M[0]
- (087) ld [x + 32]
- (088) jeq #0xa141e28 jt 103 jf 89
- (089) ldb [0]
- (090) jset #0x4 jt 102 jf 91
- (091) ldb [0]
- (092) jset #0x8 jt 93 jf 102
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x800 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 20]
+ (071) jeq #0xa141e28 jt 100 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 24]
+ (074) jeq #0xa141e28 jt 100 jf 75
+ (075) ldb [0]
+ (076) and #0xc
+ (077) jeq #0x8 jt 78 jf 87
+ (078) ldx M[0]
+ (079) ldh [x + 6]
+ (080) jeq #0x806 jt 81 jf 87
+ (081) ldx M[0]
+ (082) ld [x + 22]
+ (083) jeq #0xa141e28 jt 100 jf 84
+ (084) ldx M[0]
+ (085) ld [x + 32]
+ (086) jeq #0xa141e28 jt 100 jf 87
+ (087) ldb [0]
+ (088) and #0xc
+ (089) jeq #0x8 jt 90 jf 99
+ (090) ldx M[0]
+ (091) ldh [x + 6]
+ (092) jeq #0x8035 jt 93 jf 99
- (094) ldh [x + 6]
- (095) jeq #0x8035 jt 96 jf 102
+ (094) ld [x + 22]
+ (095) jeq #0xa141e28 jt 100 jf 96
- (097) ld [x + 22]
- (098) jeq #0xa141e28 jt 103 jf 99
- (099) ldx M[0]
- (100) ld [x + 32]
- (101) jeq #0xa141e28 jt 103 jf 102
- (102) ret #262144
- (103) ret #0
+ (097) ld [x + 32]
+ (098) jeq #0xa141e28 jt 100 jf 99
+ (099) ret #262144
+ (100) ret #0
',
}, # gateway_name_ieee802_11
{
',
}, # gateway_name_ieee802_11
{
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 103 jf 43
+ (042) jset #0x4 jt 100 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 103
+ (050) jset #0x8 jt 51 jf 100
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 103
+ (058) jset #0x1 jt 59 jf 100
- (060) jeq #0x400140e jt 61 jf 103
+ (060) jeq #0x400140e jt 61 jf 100
- (062) jeq #0xaa00 jt 63 jf 103
+ (062) jeq #0xaa00 jt 63 jf 100
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x800 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 20]
- (072) jeq #0xa141e28 jt 103 jf 73
- (073) ldx M[0]
- (074) ld [x + 24]
- (075) jeq #0xa141e28 jt 103 jf 76
- (076) ldb [0]
- (077) jset #0x4 jt 89 jf 78
- (078) ldb [0]
- (079) jset #0x8 jt 80 jf 89
- (080) ldx M[0]
- (081) ldh [x + 6]
- (082) jeq #0x806 jt 83 jf 89
- (083) ldx M[0]
- (084) ld [x + 22]
- (085) jeq #0xa141e28 jt 103 jf 86
- (086) ldx M[0]
- (087) ld [x + 32]
- (088) jeq #0xa141e28 jt 103 jf 89
- (089) ldb [0]
- (090) jset #0x4 jt 102 jf 91
- (091) ldb [0]
- (092) jset #0x8 jt 93 jf 102
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x800 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 20]
+ (071) jeq #0xa141e28 jt 100 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 24]
+ (074) jeq #0xa141e28 jt 100 jf 75
+ (075) ldb [0]
+ (076) and #0xc
+ (077) jeq #0x8 jt 78 jf 87
+ (078) ldx M[0]
+ (079) ldh [x + 6]
+ (080) jeq #0x806 jt 81 jf 87
+ (081) ldx M[0]
+ (082) ld [x + 22]
+ (083) jeq #0xa141e28 jt 100 jf 84
+ (084) ldx M[0]
+ (085) ld [x + 32]
+ (086) jeq #0xa141e28 jt 100 jf 87
+ (087) ldb [0]
+ (088) and #0xc
+ (089) jeq #0x8 jt 90 jf 99
+ (090) ldx M[0]
+ (091) ldh [x + 6]
+ (092) jeq #0x8035 jt 93 jf 99
- (094) ldh [x + 6]
- (095) jeq #0x8035 jt 96 jf 102
+ (094) ld [x + 22]
+ (095) jeq #0xa141e28 jt 100 jf 96
- (097) ld [x + 22]
- (098) jeq #0xa141e28 jt 103 jf 99
- (099) ldx M[0]
- (100) ld [x + 32]
- (101) jeq #0xa141e28 jt 103 jf 102
- (102) ret #262144
- (103) ret #0
+ (097) ld [x + 32]
+ (098) jeq #0xa141e28 jt 100 jf 99
+ (099) ret #262144
+ (100) ret #0
',
}, # gateway_NAME_ieee802_11
{
',
}, # gateway_NAME_ieee802_11
{
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 77 jf 43
+ (042) jset #0x4 jt 76 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 77
+ (050) jset #0x8 jt 51 jf 76
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 77
+ (058) jset #0x1 jt 59 jf 76
- (060) jeq #0x400140e jt 61 jf 77
+ (060) jeq #0x400140e jt 61 jf 76
- (062) jeq #0xaa00 jt 63 jf 77
+ (062) jeq #0xaa00 jt 63 jf 76
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x800 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 20]
- (072) jeq #0xa141e28 jt 77 jf 73
- (073) ldx M[0]
- (074) ld [x + 24]
- (075) jeq #0xa141e28 jt 77 jf 76
- (076) ret #262144
- (077) ret #0
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x800 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 20]
+ (071) jeq #0xa141e28 jt 76 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 24]
+ (074) jeq #0xa141e28 jt 76 jf 75
+ (075) ret #262144
+ (076) ret #0
',
}, # ip_gateway_name_ieee802_11
{
',
}, # ip_gateway_name_ieee802_11
{
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 77 jf 43
+ (042) jset #0x4 jt 76 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 77
+ (050) jset #0x8 jt 51 jf 76
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 77
+ (058) jset #0x1 jt 59 jf 76
- (060) jeq #0x400140e jt 61 jf 77
+ (060) jeq #0x400140e jt 61 jf 76
- (062) jeq #0xaa00 jt 63 jf 77
+ (062) jeq #0xaa00 jt 63 jf 76
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x800 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 20]
- (072) jeq #0xa141e28 jt 77 jf 73
- (073) ldx M[0]
- (074) ld [x + 24]
- (075) jeq #0xa141e28 jt 77 jf 76
- (076) ret #262144
- (077) ret #0
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x800 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 20]
+ (071) jeq #0xa141e28 jt 76 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 24]
+ (074) jeq #0xa141e28 jt 76 jf 75
+ (075) ret #262144
+ (076) ret #0
',
}, # ip_gateway_NAME_ieee802_11
{
',
}, # ip_gateway_NAME_ieee802_11
{
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 77 jf 43
+ (042) jset #0x4 jt 76 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 77
+ (050) jset #0x8 jt 51 jf 76
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 77
+ (058) jset #0x1 jt 59 jf 76
- (060) jeq #0x400140e jt 61 jf 77
+ (060) jeq #0x400140e jt 61 jf 76
- (062) jeq #0xaa00 jt 63 jf 77
+ (062) jeq #0xaa00 jt 63 jf 76
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x806 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 22]
- (072) jeq #0xa141e28 jt 77 jf 73
- (073) ldx M[0]
- (074) ld [x + 32]
- (075) jeq #0xa141e28 jt 77 jf 76
- (076) ret #262144
- (077) ret #0
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x806 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 22]
+ (071) jeq #0xa141e28 jt 76 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 32]
+ (074) jeq #0xa141e28 jt 76 jf 75
+ (075) ret #262144
+ (076) ret #0
',
}, # arp_gateway_name_ieee802_11
{
',
}, # arp_gateway_name_ieee802_11
{
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 77 jf 43
+ (042) jset #0x4 jt 76 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 77
+ (050) jset #0x8 jt 51 jf 76
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 77
+ (058) jset #0x1 jt 59 jf 76
- (060) jeq #0x400140e jt 61 jf 77
+ (060) jeq #0x400140e jt 61 jf 76
- (062) jeq #0xaa00 jt 63 jf 77
+ (062) jeq #0xaa00 jt 63 jf 76
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x806 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 22]
- (072) jeq #0xa141e28 jt 77 jf 73
- (073) ldx M[0]
- (074) ld [x + 32]
- (075) jeq #0xa141e28 jt 77 jf 76
- (076) ret #262144
- (077) ret #0
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x806 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 22]
+ (071) jeq #0xa141e28 jt 76 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 32]
+ (074) jeq #0xa141e28 jt 76 jf 75
+ (075) ret #262144
+ (076) ret #0
',
}, # arp_gateway_NAME_ieee802_11
{
',
}, # arp_gateway_NAME_ieee802_11
{
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 77 jf 43
+ (042) jset #0x4 jt 76 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 77
+ (050) jset #0x8 jt 51 jf 76
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 77
+ (058) jset #0x1 jt 59 jf 76
- (060) jeq #0x400140e jt 61 jf 77
+ (060) jeq #0x400140e jt 61 jf 76
- (062) jeq #0xaa00 jt 63 jf 77
+ (062) jeq #0xaa00 jt 63 jf 76
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x8035 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 22]
- (072) jeq #0xa141e28 jt 77 jf 73
- (073) ldx M[0]
- (074) ld [x + 32]
- (075) jeq #0xa141e28 jt 77 jf 76
- (076) ret #262144
- (077) ret #0
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x8035 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 22]
+ (071) jeq #0xa141e28 jt 76 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 32]
+ (074) jeq #0xa141e28 jt 76 jf 75
+ (075) ret #262144
+ (076) ret #0
',
}, # rarp_gateway_name_ieee802_11
{
',
}, # rarp_gateway_name_ieee802_11
{
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
(039) ldh [24]
(040) jeq #0xaa00 jt 63 jf 41
(041) ldb [0]
- (042) jset #0x4 jt 77 jf 43
+ (042) jset #0x4 jt 76 jf 43
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(043) ldb [0]
(044) jset #0x8 jt 49 jf 45
(045) ld [6]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
(047) ldh [4]
(048) jeq #0xaa00 jt 63 jf 49
(049) ldb [0]
- (050) jset #0x8 jt 51 jf 77
+ (050) jset #0x8 jt 51 jf 76
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(051) ldb [1]
(052) jset #0x1 jt 57 jf 53
(053) ld [6]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
(055) ldh [4]
(056) jeq #0xaa00 jt 63 jf 57
(057) ldb [1]
- (058) jset #0x1 jt 59 jf 77
+ (058) jset #0x1 jt 59 jf 76
- (060) jeq #0x400140e jt 61 jf 77
+ (060) jeq #0x400140e jt 61 jf 76
- (062) jeq #0xaa00 jt 63 jf 77
+ (062) jeq #0xaa00 jt 63 jf 76
- (064) jset #0x4 jt 76 jf 65
- (065) ldb [0]
- (066) jset #0x8 jt 67 jf 76
- (067) ldx M[0]
- (068) ldh [x + 6]
- (069) jeq #0x8035 jt 70 jf 76
- (070) ldx M[0]
- (071) ld [x + 22]
- (072) jeq #0xa141e28 jt 77 jf 73
- (073) ldx M[0]
- (074) ld [x + 32]
- (075) jeq #0xa141e28 jt 77 jf 76
- (076) ret #262144
- (077) ret #0
+ (064) and #0xc
+ (065) jeq #0x8 jt 66 jf 75
+ (066) ldx M[0]
+ (067) ldh [x + 6]
+ (068) jeq #0x8035 jt 69 jf 75
+ (069) ldx M[0]
+ (070) ld [x + 22]
+ (071) jeq #0xa141e28 jt 76 jf 72
+ (072) ldx M[0]
+ (073) ld [x + 32]
+ (074) jeq #0xa141e28 jt 76 jf 75
+ (075) ret #262144
+ (076) ret #0
',
}, # rarp_gateway_NAME_ieee802_11
{
',
}, # rarp_gateway_NAME_ieee802_11
{