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

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

?? arp.c

?? s3c2410的cs8900網絡驅動
?? 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一区二区三区免费野_久草精品视频
av电影一区二区| 国产亚洲一区二区三区四区| 欧美午夜片在线观看| 色综合天天综合网天天狠天天 | 国产精品自拍在线| 激情图区综合网| 精品亚洲国产成人av制服丝袜 | 欧美丰满嫩嫩电影| 91精品国产综合久久香蕉麻豆| 7777精品伊人久久久大香线蕉 | 国产精品亚洲一区二区三区妖精 | 国产剧情在线观看一区二区| 麻豆91免费看| 久久99精品久久久久婷婷| 精品一区二区三区视频在线观看| 经典三级视频一区| 成人综合激情网| av不卡免费电影| 在线观看免费一区| 欧美一二三四区在线| 欧美精品一区二区三区高清aⅴ| 精品av久久707| 国产精品久久久久久久久快鸭 | 亚洲美女免费视频| 香蕉加勒比综合久久| 免费亚洲电影在线| 国产大片一区二区| hitomi一区二区三区精品| 91久久精品国产91性色tv| 欧美日韩一区二区不卡| 精品久久久三级丝袜| 中文字幕一区二区三区av| 亚洲一区二三区| 狠狠v欧美v日韩v亚洲ⅴ| 成人ar影院免费观看视频| 欧美视频在线播放| 久久嫩草精品久久久精品| 亚洲日本欧美天堂| 日韩成人精品在线观看| 国产福利一区二区三区| 色婷婷久久综合| 精品久久久久av影院 | 国产综合色视频| 色94色欧美sute亚洲13| 欧美一级日韩一级| 国产精品久久久久久久久久久免费看 | 国产精品午夜春色av| 午夜视黄欧洲亚洲| 国产成人av福利| 欧美在线免费播放| 久久精品在这里| 亚洲成a人v欧美综合天堂下载 | 岛国精品在线观看| 欧美人xxxx| 亚洲欧洲av在线| 七七婷婷婷婷精品国产| 99久久精品国产精品久久| 欧美一级艳片视频免费观看| 亚洲欧洲制服丝袜| 国产精品自拍三区| 91麻豆精品国产| 亚洲人成7777| 国产999精品久久| 日韩欧美www| 亚洲国产乱码最新视频 | 色婷婷久久久久swag精品| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲综合久久久| 成人免费看视频| 欧美xfplay| 亚洲成人av在线电影| 99精品视频在线观看| 精品成人在线观看| 蜜桃免费网站一区二区三区| 欧美中文字幕亚洲一区二区va在线| 国产欧美精品一区二区三区四区| 日本欧洲一区二区| 欧美日韩亚洲丝袜制服| 亚洲精品欧美专区| 99久久精品国产麻豆演员表| 国产色综合久久| 激情久久五月天| 日韩亚洲欧美高清| 日韩精品成人一区二区三区 | 中文一区二区在线观看| 国产呦精品一区二区三区网站| 678五月天丁香亚洲综合网| 一区二区三区.www| 91久久精品国产91性色tv| 亚洲桃色在线一区| 91在线观看成人| 亚洲天堂网中文字| 91麻豆国产自产在线观看| 国产精品久久久久久亚洲毛片| 国产一区二区三区综合| 精品电影一区二区三区| 九九久久精品视频| 26uuu亚洲| 国产精品一线二线三线| 久久亚洲精华国产精华液| 国产毛片一区二区| 日本一区二区在线不卡| 从欧美一区二区三区| 国产精品免费视频一区| gogogo免费视频观看亚洲一| 亚洲婷婷综合久久一本伊一区| 91丨porny丨蝌蚪视频| 一区二区成人在线观看| 91官网在线免费观看| 亚洲成人av一区二区| 欧美日产国产精品| 日韩av不卡在线观看| 精品久久久久久久久久久久久久久久久| 理论片日本一区| 国产日本欧美一区二区| 97精品超碰一区二区三区| 亚洲免费av观看| 欧美日韩国产综合一区二区三区 | www.66久久| 亚洲一区二区三区中文字幕| 欧美日韩国产高清一区二区三区| 丝袜亚洲精品中文字幕一区| 亚洲国产精品精华液2区45| 91伊人久久大香线蕉| 午夜精品久久久久久久99樱桃| 欧美精品视频www在线观看| 久久精品国产一区二区三| 欧美国产精品劲爆| 欧美亚洲免费在线一区| 另类小说一区二区三区| 国产精品拍天天在线| 欧美性生活久久| 久久91精品久久久久久秒播| 国产精品乱码人人做人人爱| 色天使色偷偷av一区二区| 首页综合国产亚洲丝袜| 国产夜色精品一区二区av| 色偷偷88欧美精品久久久| 奇米在线7777在线精品 | 人禽交欧美网站| 欧美激情一区二区在线| 欧美性受xxxx黑人xyx| 国产一区视频网站| 一片黄亚洲嫩模| 久久综合久久综合九色| 成人精品视频.| 奇米精品一区二区三区在线观看一| 国产精品免费av| 91精品国产综合久久精品app| 国产v日产∨综合v精品视频| 亚洲福利一区二区三区| 国产亚洲精品福利| 欧美疯狂做受xxxx富婆| 成人久久久精品乱码一区二区三区| 亚洲图片欧美视频| 中文字幕精品一区二区精品绿巨人| 欧美三级电影一区| 国产精品1区二区.| 丝袜亚洲精品中文字幕一区| 国产精品九色蝌蚪自拍| 欧美videossexotv100| 欧洲精品一区二区| 丰满少妇久久久久久久| 日本欧美韩国一区三区| 亚洲精品视频观看| 国产欧美一区二区精品秋霞影院| 欧美色中文字幕| 成人不卡免费av| 国产一区二三区| 日产精品久久久久久久性色| 亚洲天天做日日做天天谢日日欢 | 久久久三级国产网站| 91精品国产入口| 欧洲精品在线观看| 99久久免费精品| 国产精品99久久久久久似苏梦涵| 天堂成人国产精品一区| 一区二区三区欧美亚洲| 国产精品短视频| 国产欧美一区二区精品忘忧草| 日韩欧美的一区| 欧美一级电影网站| 欧美男男青年gay1069videost| 色欧美日韩亚洲| 91网站视频在线观看| 欧美美女直播网站| 一本色道久久综合精品竹菊| 成人精品视频一区| 丰满放荡岳乱妇91ww| 国产乱码精品一区二区三区忘忧草| 伦理电影国产精品| 欧美aa在线视频| 日本欧美大码aⅴ在线播放| 天天操天天色综合| 亚洲18色成人| 天堂一区二区在线| 日精品一区二区三区| 日韩影视精彩在线| 日本不卡123| 蜜桃一区二区三区在线观看|