Exemple #1
0
static void eth_proto_info_ctor(struct eth_proto_info *info, struct parser *parser, struct proto_info *parent, size_t head_len, size_t payload, uint16_t proto, int vlan_id, struct eth_hdr const *ethhdr)
{
    proto_info_ctor(&info->info, parser, parent, head_len, payload);

    info->vlan_id = collapse_vlans ? vlan_unset : vlan_id;
    ASSERT_COMPILE(sizeof(info->addr[0]) == sizeof(ethhdr->src));
    memcpy(info->addr[0], ethhdr->src, sizeof(info->addr[0]));
    ASSERT_COMPILE(sizeof(info->addr[1]) == sizeof(ethhdr->dst));
    memcpy(info->addr[1], ethhdr->dst, sizeof(info->addr[1]));
    info->protocol = proto;
}
Exemple #2
0
TEST_F(AnonymousTest, AnonymousTest) 
   {
   AnonFunc func; 
   ASSERT_COMPILE(TR::TypeDictionary, Anonymous, func); 

   ASSERT_EQ( func(), 1024u); 
   }
Exemple #3
0
bool ip_addr_is_broadcast(struct ip_addr const *addr)
{
    if (ip_addr_is_v6(addr)) {
        static uint8_t all_nodes[16] = {
            0xff, 0x02, 0, 0, 0, 0, 0, 0,
            0,    0, 0, 0, 0, 0, 0, 1,
        };
        ASSERT_COMPILE(sizeof(all_nodes) == sizeof(addr->u.v6.s6_addr));
        return 0 == memcmp(addr->u.v6.s6_addr, all_nodes, sizeof(all_nodes));
    } else {
        uint32_t netmask = netmask_of_address(addr->u.v4);
        return (netmask | ntohl(addr->u.v4.s_addr)) == 0xffffffffU;
    }
}