亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arp.c

?? s3c44b0開發板tftp調試代碼,芯片rtl8019
?? C
字號:
#include "../../inc/config.h"
#include "skbuff.h"
#include "eth.h"
#include "arp.h"
#include "utils.h"

#ifdef	TFTP_DOWNLOAD_SUPPORT

#define ARP_CACHE_SIZE   16

typedef struct arp_entry {
	unsigned char ar_ha[ETH_ALEN];
	unsigned long ar_ip;
} arp_entry;

static arp_entry arp_entrys;
static arp_entry arp_cache[ARP_CACHE_SIZE];
static int arp_chche_cur = 0;

int arp_init(void)
{
	memset(&arp_entrys, 0, sizeof(arp_entry));
	memset(arp_cache, 0, sizeof(arp_entry) * ARP_CACHE_SIZE);

	return 0;
}

int arp_add_entry(unsigned char *ha, unsigned long ip)
{
	memcpy(arp_entrys.ar_ha, ha, ETH_ALEN);
	arp_entrys.ar_ip = htonl(ip);

	return 0;
}

int arp_add_cache(unsigned char *ha, unsigned long ip)
{
	int i;

	for (i = 0; i < ARP_CACHE_SIZE; i++) {
		if (ip == arp_cache[i].ar_ip)
			break;
	}

	if (i == ARP_CACHE_SIZE) {
		i = arp_chche_cur;
//		arp_chche_cur = (arp_chche_cur + 1) % ARP_CACHE_SIZE;
		arp_chche_cur++;
		if(arp_chche_cur>=ARP_CACHE_SIZE)
			arp_chche_cur = 0;
	}

	memcpy(arp_cache[i].ar_ha, ha, ETH_ALEN);
	arp_cache[i].ar_ip = ip;

	return 0;
}

int arp_send_req(unsigned long ip)
{
	struct sk_buff *skb;
	struct arphdr *arp_req;	
	unsigned char broadcast[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};	

	skb = alloc_skb(ETH_HLEN + sizeof(struct arphdr));
	eth_skb_reserve(skb);
	arp_req = (struct arphdr *)skb_put(skb, sizeof(struct arphdr));

	arp_req->ar_hrd = htons(ARPHRD_ETHER);
	arp_req->ar_pro = htons(ETH_P_IP);
	arp_req->ar_hln = 0x06;
	arp_req->ar_pln = 0x04;
	arp_req->ar_op = htons(ARPOP_REQUEST);	
	memcpy((unsigned char *)arp_req->ar_sha, arp_entrys.ar_ha, ETH_ALEN);
	arp_req->ar_sip = arp_entrys.ar_ip;	
	memset((unsigned char *)arp_req->ar_tha, 0x00, ETH_ALEN);
	arp_req->ar_tip = htonl(ip);

	eth_send(skb, broadcast, ETH_P_ARP);

	return 0;
}

int arp_send_rsp(struct arphdr *arp_hdr)
{
	struct sk_buff *skb;
	struct arphdr *arp_rsp;	
	
	skb = alloc_skb(ETH_HLEN + sizeof(struct arphdr));
	eth_skb_reserve(skb);
	arp_rsp = (struct arphdr *)skb_put(skb, sizeof(struct arphdr));

	arp_rsp->ar_hrd = htons(ARPHRD_ETHER);
	arp_rsp->ar_pro = htons(ETH_P_IP);
	arp_rsp->ar_hln = 0x06;
	arp_rsp->ar_pln = 0x04;
	arp_rsp->ar_op = htons(ARPOP_REPLY);
	memcpy((unsigned char *)arp_rsp->ar_sha, arp_entrys.ar_ha, ETH_ALEN);
	arp_rsp->ar_sip = arp_hdr->ar_tip;
	memcpy((unsigned char *)arp_rsp->ar_tha, (unsigned char *)arp_hdr->ar_sha, ETH_ALEN);
	arp_rsp->ar_tip = arp_hdr->ar_sip;

	eth_send(skb, arp_hdr->ar_sha, ETH_P_ARP);

	return 0;
}

int arp_get_eth_addr(unsigned long ip, unsigned char *ha)
{
	int i;

	for (i = 0; i < ARP_CACHE_SIZE; i++) {
		if (htonl(ip) == arp_cache[i].ar_ip) {
			memcpy(ha, arp_cache[i].ar_ha, ETH_ALEN);
			break;
		}
	}

	if (i == ARP_CACHE_SIZE) {
		arp_send_req(ip);
		return -1;
	}

	return 0;
}

int arp_rcv_packet(struct sk_buff *skb)
{
	struct arphdr *arp_hdr = (struct arphdr *)(skb->data);

	if (arp_hdr->ar_tip != arp_entrys.ar_ip)
		return 0;

	if (arp_hdr->ar_op == htons(ARPOP_REQUEST))
		arp_send_rsp(arp_hdr);
	arp_add_cache(arp_hdr->ar_sha, arp_hdr->ar_sip);

	return 0;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲高清免费观看| 亚洲少妇30p| 91精品国产综合久久蜜臀 | 日韩美女视频在线| 欧美日本免费一区二区三区| 欧洲另类一二三四区| 欧美伊人久久久久久午夜久久久久| a4yy欧美一区二区三区| 色婷婷一区二区| 在线观看日韩国产| 欧美精品aⅴ在线视频| 在线电影欧美成精品| 欧美一级日韩免费不卡| 欧美v日韩v国产v| 欧美激情一区在线| 亚洲精品一二三区| 午夜精品在线视频一区| 免费成人性网站| 国产一区不卡精品| av网站免费线看精品| 在线观看亚洲成人| 日韩欧美电影一二三| 国产午夜精品一区二区三区视频 | 久久99精品国产麻豆婷婷 | 三级一区在线视频先锋| 毛片av中文字幕一区二区| 精品一区二区在线看| 国产.欧美.日韩| 91黄色免费版| 精品日产卡一卡二卡麻豆| 亚洲欧洲韩国日本视频| 视频在线在亚洲| 成人性生交大片免费| 欧美日韩免费电影| 国产女人aaa级久久久级| 亚洲综合另类小说| 狠狠色狠狠色合久久伊人| 91色|porny| 精品国产乱码久久久久久久| 17c精品麻豆一区二区免费| 日本午夜一区二区| 色综合天天综合网天天看片| 精品国产免费视频| 亚洲18女电影在线观看| 91社区在线播放| 久久精品欧美一区二区三区麻豆| 亚洲一区二区三区精品在线| 国产成人av资源| 日韩一区二区三区精品视频| 一区二区三区欧美亚洲| 国产91精品精华液一区二区三区 | 美女视频黄频大全不卡视频在线播放| 福利一区在线观看| 欧美成人vps| 丝袜亚洲另类丝袜在线| 99re这里只有精品6| 精品粉嫩aⅴ一区二区三区四区| 亚洲永久精品大片| 一本一道久久a久久精品综合蜜臀| 日韩精品专区在线影院重磅| 亚洲精品欧美二区三区中文字幕| 国产精品123区| 亚洲精品一区在线观看| 捆绑调教一区二区三区| 欧美日韩不卡在线| 亚洲一区二区三区四区五区黄| 99久久婷婷国产综合精品电影| 久久久久国产成人精品亚洲午夜| 免费人成精品欧美精品| 日韩亚洲欧美中文三级| 五月综合激情网| 欧美日本在线观看| 日韩精品一二区| 91精品国产91热久久久做人人 | 国产欧美一区二区精品性色| 久久av老司机精品网站导航| 欧美一区二区三区在线看| 午夜精品久久久久久久久久久 | 精品制服美女久久| 欧美精品一区二区在线观看| 蜜桃av一区二区三区电影| 日韩精品一区二区三区swag| 日本怡春院一区二区| 日韩一区二区三区av| 精品一区二区三区免费毛片爱| 日韩欧美精品在线视频| 国产揄拍国内精品对白| 国产精品免费aⅴ片在线观看| 丁香天五香天堂综合| 亚洲日本免费电影| 欧美精品v日韩精品v韩国精品v| 日本成人中文字幕在线视频| 精品国产网站在线观看| 99re6这里只有精品视频在线观看| 日韩美女久久久| 欧美一激情一区二区三区| 国产v综合v亚洲欧| 亚洲人快播电影网| 日韩一区二区三区电影在线观看 | 在线一区二区三区做爰视频网站| 亚洲永久免费av| 精品粉嫩超白一线天av| 972aa.com艺术欧美| 婷婷丁香激情综合| 亚洲国产精品激情在线观看| 欧美怡红院视频| 国产麻豆精品95视频| 亚洲激情第一区| 日韩一区二区在线看片| 成人app网站| 日日夜夜精品视频免费| 中文天堂在线一区| 欧美美女视频在线观看| 大桥未久av一区二区三区中文| 尤物在线观看一区| 久久新电视剧免费观看| 色先锋久久av资源部| 极品美女销魂一区二区三区| 一个色综合网站| 久久伊人蜜桃av一区二区| 欧美在线观看18| 国产精品白丝jk黑袜喷水| 午夜亚洲福利老司机| 日本一区二区不卡视频| 欧美xxxxx牲另类人与| 欧美日韩精品一区二区三区蜜桃| 国产原创一区二区三区| 免费欧美高清视频| 亚洲综合在线电影| 国产网红主播福利一区二区| 91精品久久久久久蜜臀| 在线观看亚洲成人| 91麻豆福利精品推荐| 国产成人精品aa毛片| 激情综合色综合久久综合| 午夜欧美电影在线观看| 亚洲精品乱码久久久久久| 亚洲国产高清不卡| 久久久久国产精品厨房| 日韩视频中午一区| 欧美夫妻性生活| 欧美人与禽zozo性伦| 91视频在线看| 99热精品一区二区| 成人免费观看av| 国产成人自拍在线| 国产精品18久久久久久久久| 老司机精品视频线观看86| 麻豆精品在线播放| 久久精品国产99久久6| 丝袜国产日韩另类美女| 欧美96一区二区免费视频| 日韩精品每日更新| 亚洲国产成人porn| 亚洲国产精品影院| 亚洲高清在线精品| 亚洲国产精品久久艾草纯爱| 亚洲国产精品久久久男人的天堂 | 国产欧美精品区一区二区三区| 欧美精品一区二区三区在线播放| 精品国产网站在线观看| 久久精品网站免费观看| 欧美国产乱子伦 | 国产精品无码永久免费888| 中日韩av电影| 国产精品国产自产拍高清av王其| 国产精品国产三级国产aⅴ入口| 亚洲国产精品二十页| 亚洲人吸女人奶水| 午夜精品123| 国产一区欧美一区| 成人福利视频在线| 欧美日韩在线播放三区| 日韩欧美在线观看一区二区三区| 欧美成人精品福利| 国产欧美精品一区二区色综合| 国产精品欧美一区喷水| 亚洲欧美国产77777| 日av在线不卡| 国产精品一品二品| 色噜噜狠狠色综合中国| 91精品国产一区二区三区| 国产午夜精品福利| 亚洲国产精品欧美一二99| 久久精品噜噜噜成人av农村| 国产成人精品免费在线| 欧美精品一二三四| 国产欧美日韩久久| 亚洲成人资源网| 国产不卡视频在线播放| 7777精品伊人久久久大香线蕉经典版下载 | 久久国产综合精品| 99精品视频一区二区三区| 欧美日韩不卡在线| 中文字幕一区二区三区四区 | 国产99久久久精品| 欧美放荡的少妇| 日韩一区中文字幕| 国产自产高清不卡| 欧美日韩国产综合一区二区三区 |