Exemple #1
0
void ARPTest::test_equals(const ARP& arp1, const ARP& arp2) {
    EXPECT_EQ(arp1.opcode(), arp2.opcode());
    ASSERT_EQ(arp1.hw_addr_length(), arp2.hw_addr_length());
    EXPECT_EQ(arp1.hw_addr_format(), arp2.hw_addr_format());
    ASSERT_EQ(arp1.prot_addr_length(), arp2.prot_addr_length());
    EXPECT_EQ(arp1.prot_addr_format(), arp2.prot_addr_format());
    EXPECT_EQ(arp1.sender_ip_addr(), arp2.sender_ip_addr());
    EXPECT_EQ(arp1.target_ip_addr(), arp2.target_ip_addr());
    EXPECT_EQ(arp1.sender_hw_addr(), arp2.sender_hw_addr());
    EXPECT_EQ(arp1.target_hw_addr(), arp2.target_hw_addr());
    EXPECT_EQ(arp1.inner_pdu() != NULL, arp2.inner_pdu() != NULL);
}
Exemple #2
0
TEST_F(ARPTest, DefaultContructor) {
    ARP arp;
    EXPECT_EQ(arp.target_ip_addr(), IPv4Address());
    EXPECT_EQ(arp.sender_ip_addr(), IPv4Address());
    EXPECT_EQ(arp.target_hw_addr(), empty_addr);
    EXPECT_EQ(arp.target_hw_addr(), empty_addr);
    EXPECT_EQ(arp.pdu_type(), PDU::ARP);
}
Exemple #3
0
EthernetII ARP::make_arp_request(ipaddress_type target, 
                                 ipaddress_type sender, 
                                 const hwaddress_type& hw_snd) {
    // Create ARP packet and set its attributes
    ARP arp;
    arp.target_ip_addr(target);
    arp.sender_ip_addr(sender);
    arp.sender_hw_addr(hw_snd);
    arp.opcode(REQUEST);

    // Create the EthernetII PDU with the ARP PDU as its inner PDU
    return EthernetII(EthernetII::BROADCAST, hw_snd) / arp;
}
Exemple #4
0
TEST_F(ARPTest, TargetIPAddrInt) {
    ARP arp;
    arp.target_ip_addr(addr1);
    EXPECT_EQ(arp.target_ip_addr(), addr1);
}